Who Rolled It? (WoW Classic 20주년 서버용)

Game Version: WoW Classic 1.15.8 (빌드 11508), 2.5.5 (빌드 20505), 
Version: 1.0.4 (2026. 1. 15.)

─────────────────────────────
1. 애드온 개요
─────────────────────────────
■ Who Rolled It?은 파티나 공격대에서 발생하는 '/주사위' 결과를 자동으로 집계하고 순위를 매겨주는 심플한 주사위 굴림 트래커 애드온입니다.

■ 채팅창에 무작위로 올라오는 주사위 결과를 직관적인 GUI 창에 실시간으로 정렬하여 보여주며, 설정된 룰(최댓값, 최솟값)을 위반하거나 마감 이후 또는 2회 이상 굴린 주사위를 자동으로 무효 처리합니다.

■ 동점자 무효 처리, 순위 발표(1등, 1~3등, 최고/최저점) 기능을 원클릭 버튼으로 제공하여 공격대장의 진행을 돕습니다.

■ 별도의 로컬화 없이도 한국어/영어 클라이언트를 모두 지원합니다.

─────────────────────────────
2. 주요 기능
─────────────────────────────
■ 실시간 집계 및 스마트 정렬
 - 채팅창의 '/주사위' 명령어를 감지하여 직업 색상이 적용된 이름과 함께 높은 숫자 순으로 즉시 정렬합니다.

■ 유효성(Valid) 자동 검사
 - [Max Err]: 설정된 주사위 범위(100 또는 1000)와 다르게 굴린 경우 (예: 100 주사위 룰에서 50을 굴림)
 - [Min Err]: 주사위 최솟값이 1이 아닌 경우 (예: '/주사위 50-100' 입력 시)
 - [Late]: 'Stop' 버튼을 눌렀을 때 카운트 이후에 굴린 경우 (지각)
 - [Overlap]: 1명이 2회 이상 주사위를 굴렸을 때 첫번째 이외의 경우 (중복)
 - 위의 4가지 경우는 리스트에 빨간색 텍스트로 표시되며, 결과 발표 시 별도 항목 Invalid로 출력됩니다.

■ 동점자(Same Number) 자동 분류
 - 유효성 검사를 거친 값들을 대상으로 같은 숫자가 나온 사람들을 그룹으로 묶어 별도로 표시합니다.
 - 순위 발표 시 동점자도 결과 산정에서 자동으로 제외됩니다.

■ 결과 발표 시스템
 - 1st: 1위 발표
 - GSB: 금/은/동 (1~3위) 발표
 - H&L: 최고점/최저점 발표
 - 원하는 채널(일반/파티/공격대)을 선택하여 원클릭으로 결과를 공유할 수 있습니다.

■ 다국어 클라이언트 완벽 대응 (Smart Pattern Matching)
 - 게임 내 시스템 변수를 활용하여 한국어, 영어 등 클라이언트 언어에 상관없이 주사위 메시지를 정확하게 인식합니다.
 - 띄어쓰기나 마침표 유무 등 미세한 차이에도 유연하게 작동합니다.

■ 전체 선택 기능
 - [Ctrl+A] 버튼을 통해 현재 집계된 명단을 전체 선택해서 복사하기 쉽도록 도와줍니다.

─────────────────────────────
3. 설치 방법
─────────────────────────────
■ 아래와 같은 폴더 구조로 설치하세요.

Interface
└── AddOns
    └── WhoRolledIt
        ├── WhoRolledIt.lua
        ├── WhoRolledIt_TBC.toc
        ├── WhoRolledIt_Vanilla.toc
        └── README.txt

■ 게임 내 ‘애드온’ 탭에서 [WhoRolledIt]이 활성화되어 있는지 확인합니다.

─────────────────────────────
4. 명령어 및 사용법
─────────────────────────────
■ 기본 명령어: '/누굴' 또는 '/wri'
 - 뒤에 아무런 내용 없이 입력 시, 주사위 트래커 창(GUI)을 열거나 닫습니다.

■ 설명 보기: '/누굴 설명' 또는 '/wri explain'
 - 애드온의 사용법과 기능 설명을 채팅창에 출력합니다.
 - 잘못된 명령어(예: /누굴 help) 입력 시 올바른 예시를 안내합니다.

■ GUI 버튼 사용법 (상단 설정)
 - [100] / [1000]: 유효 주사위의 최댓값을 설정합니다. (기본값: 100)
 - [S] / [P] / [R]: 결과 메시지를 출력할 채널을 선택합니다. (S: 일반, P: 파티, R: 공격대)

■ GUI 버튼 사용법 (결과 발표)
 - [1st]: 1위 유저를 출력합니다.
 - [GSB]: 1위(Gold), 2위(Silver), 3위(Bronze) 유저를 출력합니다.
 - [H&L]: 최고점(High)과 최저점(Low) 유저를 출력합니다.
 - 동점자와 무효표는 결과 메시지 하단에 구분선과 함께 별도 라인으로 출력됩니다.

■ GUI 버튼 사용법 (하단 컨트롤)
 - [Stop]: 5부터 1까지 5초 동안 카운트다운을 하고 주사위 굴리기를 마감합니다. 이후 굴리는 주사위는 [Late]로 무효 처리됩니다. 
 - [Auto Reset]: 카운트다운 종료 시 주사위 굴린 인원이 0명이면 5초 뒤 자동으로 리셋합니다. (5초 안에 굴리면 리셋 취소)
 - [Ctrl+A]: 명단 전체 선택 모드로 전환됩니다. (텍스트 박스 생성, 5초 후 자동 닫힘)
 - [Reset]: 리스트를 초기화하고 다음 입찰을 준비합니다.

─────────────────────────────
5. 주의 사항
─────────────────────────────
■ 애드온 GUI를 닫을 때 타 주사위 굴림 트래커 애드온처럼 자동으로 초기화하지 않습니다.
 - Stop 이후에 Auto Reset이 작동하는 경우는 예외입니다. (Stop 이후 카운트 5초가 끝날 때까지 주사위를 굴린 사람이 없고 다시 5초 이후까지 늦게라도 굴리는 사람이 없을 경우)
 - 각 주사위 굴림 항목(채집/채광/무두, 올주 아이템, 특임 공격대원 등)에 대한 주사위 굴림 및 선정이 끝난 이후에 반드시 Reset을 해야 합니다.

─────────────────────────────
6. 변경 이력
─────────────────────────────
■ 1.0.0 (2025. 12. 8.)
 - 실시간 주사위 집계 및 직업 색상 표시
 - 유효성 검사 3종 (Max Err, Min Err, Late) 및 동점자 자동 분류
 - 결과 발표(1st, GSB, H&L) 및 명단 전체 선택(Ctrl+A)
 - RANDOM_ROLL_RESULT 변수를 활용한 다국어 동적 패턴 매칭
 - 명령어 입력 예외 처리 및 도움말 기능

■ 1.0.1 (2025. 12. 10.)
 - Stop 버튼 클릭 시 5초 동안 카운트다운 후 주사위 마감
 - 1명이 2회 이상 주사위를 굴릴 경우에 두번째부터 무효 처리

■ 1.0.2 (2025. 12. 10.)
 - 카운트다운 종료 시 주사위 인원이 없으면 5초 후 자동 리셋

■ 1.0.3 (2025. 12. 14.)
 - 기본 출력 채널을 RAID로 변경

■ 1.0.4 (2026. 1. 15.)
 - 기존 toc 파일명 변경 및 TBC용 toc 추가 

─────────────────────────────
7. 저작권 및 이용 조건
─────────────────────────────
■ 개인 목적에 한해 자유롭게 사용 가능

■ 개발자 표기

■ 상업적 이용 및 무단 전재/재배포 금지

─────────────────────────────
8. 개발자 정보
─────────────────────────────
■ Author: Goyathlay, 20주년 기념일 펜구스의 흉포 KR 호드

■ Contact: 인게임 우편/디스코드
