AutoBless 2.5.41.zip
What's new
# Auto Bless Changelog
Version policy: bump `## Version` in `AutoBless.toc` together with this file on any functional, docs, or asset change.
버전 정책: 기능·문서·아이콘 등 변경 시 `AutoBless.toc`의 `## Version`과 본 파일을 함께 올립니다.
## 2.5.41
### Performance
- **Lighter combat refresh**: UI coalesce ~1.0s in combat / ~0.4s out; periodic full refresh ~5s / ~4s.
- **Raid `UNIT_AURA`**: In combat, non-player aura events are rate-limited (~1.25s) before scheduling refresh.
- **Cleanse scan cache**: ~1.0s in combat / ~0.5s out (was 0.3s).
- **Closed aura strip**: No longer rebuilt on every Refresh (close still updates immediately on pick/toggle).
### 한글
- **전투 중 갱신 완화**: 전체 UI 병합·주기 갱신 간격 확대.
- **공대 오라 이벤트**: 전투 중 타인 `UNIT_AURA` 추가 제한.
- **정화 스캔 캐시** 연장.
- **닫힌 오라 줄**은 Refresh마다 다시 그리지 않음.
## 2.5.40
### Fixed
- **Aura picker stays open**: After picking an aura (or closing the list), `UpdateAuraStrip` runs again so the overlay/shield hides. Refresh no longer skips the strip when `auraOpen` is false if the strip already exists.
### 한글
- **오라 선택창 잔류**: 오라를 고르거나 닫은 뒤에도 목록이 남던 문제. 닫힘 시 overlay를 바로 갱신.
## 2.5.39
### Fixed
- **Sacrifice (희축) self Fail**: No ally (or self targeted) → button disarmed (`/stopmacro`), macro uses `noplayer`, and cast feedback shows `희축 대상 없음` instead of `희축 <내이름> Fail`.
### 한글
- **희축 자신 Fail**: 아군 대상 없거나 자신 선택 시 버튼 비무장. 매크로에서 자신 제외. `희축 거리기사 Fail` 대신 `희축 대상 없음`.
## 2.5.38
### Changed
- **Cleanse targeting**: Resolve only picks in-range allies (self → ToT → friendly target → group). Far ToT / far raid members are skipped; button shows `R` when cleansables exist but none are in range. Count still sums the whole group.
- **Cleanse PreClick (wrap v7)**: Rebuilds `/cast` from state `unit`+`spell` every click (Holy/bless style) so a stale `abmacro` cannot stick after the previous cleanse.
### 한글
- **정화 대상**: 사거리 안만 고름 (나 → ToT → 아군대상 → 그룹). 먼 ToT·먼 공대원은 제외. 해제는 있는데 전원 거리 밖이면 `R`. 숫자는 전원 집계 유지.
- **정화 클릭 고착**: 클릭마다 state 현재 대상으로 매크로 재조립 (성빛·축복과 동일).
## 2.5.37
### Fixed
- **Combat bless cast retarget**: Cast/reagent PreClick (wrap v8) rebuilds `/cast` from current state `unit`+`spell` every click (Holy-style), so after self-bless the next missing member is used instead of a sticky self macro. Stores `abmacro` on state; stamps path on combat start.
### 한글
- **전투 중 축복 숫자 버튼 대상 고착**: 클릭마다 state의 현재 대상으로 매크로 재조립(성빛과 동일). 자축 직후 남은 1명에게 안 나가던 문제 수정.
## 2.5.36
### Changed
- **Morogrim M badge**: Centered on the Holy Light icon with a circular backdrop (same style as T/A), larger font for visibility.
### 한글
- **모로그림 M 배지**: 성빛 아이콘 중앙·원형 배경(T/A와 동일 스타일), 글자 키워 시인성 개선.
## 2.5.35
### Fixed
- **Morogrim Holy Light retarget**: Warlock pick is not sticky. After each Holy Light cast and on warlock `UNIT_HEALTH`, re-resolve lowest HP. PreClick rebuilds macro from `abunit` so a stale `abmacro` cannot keep the previous warlock.
### 한글
- **모로그림 성빛 흑마 고착**: 한 명 고른 뒤 고정되지 않음. 시전 후·흑마 체력 변동 시 최저체력 재선택. 클릭 시 unit 기준으로 매크로 재조립.
## 2.5.34
### Added
- **Cleanse setting toggle**: Settings checkbox “정화 버튼”. OFF hides the button, skips group debuff scan/arming, and shifts the confirm button left. Toggle anytime (default ON). Layout applies after combat if changed in combat.
### 한글
- **정화 ON/OFF 설정**: 설정에서 끄면 버튼 숨김 + 전원 디버프 스캔·무장 중지. 언제든 다시 켤 수 있음 (기본 ON). 전투 중 변경 시 배치는 전투 종료 후 적용.
## 2.5.33
### Fixed
- **Cleanse/Holy stuck in combat**: State frames are unprotected again (like bless), so Resolve can re-arm mid-combat. Previously SecureHandlerBase blocked `SetAttribute` and logged only `전투중 — state 유지`, freezing the last pre-combat target. PreClick keeps the button macro if state is unreadable.
### 한글
- **전투 중 정화·성빛 고착**: `전투중 — state 유지`로 대상이 안 바뀌던 문제. 축복과 같이 비보호 state로 전투 중에도 재무장. state 못 읽으면 버튼 매크로 유지.
## 2.5.32
### Performance
- **Refresh coalesce**: Full UI refresh merged (~0.3s / ~0.5s in combat); `BuildNeeds` no longer runs twice per refresh.
- **Event cuts**: `UNIT_HEALTH` only in Morogrim mode; raid `UNIT_TARGET` holy spam removed; GCD no longer refreshes holy/cleanse; closed aura/assign/roster panels skipped.
- **Ticker**: Periodic refresh ~3s out of combat / ~4s in combat; cleanse debuff scan cached 0.3s.
### 한글
- **랙 완화**: 전체 갱신 병합, BuildNeeds 중복 제거, 공대 체력/대상 이벤트 대폭 축소, 닫힌 창 스킵, 주기 갱신 완화.
## 2.5.31
### Fixed
- **Cleanse range priority**: Resolve now prefers in-range cleansable allies (self → ToT → target → group), then falls back to OOR. OOR badge uses the same range helper as bless.
### 한글
- **정화 사거리 우선**: 거리 안 해제 대상을 먼저 고름 (나→ToT→대상→그룹). 전원 거리 밖일 때만 폴백·R.
## 2.5.30
### Changed
- **OOR "R" inset**: Badge sits slightly inward from the top-right corner (`-6, -5`) so it is not flush with the border.
### 한글
- **거리밖 R 안쪽 여백**: 우상단 테두리에 붙지 않게 살짝 안으로 이동.
## 2.5.29
### Changed
- **OOR "R" badge position**: Cast / Holy Light / Cleanse use the same top-right corner of the button (no longer anchored to the number FontString).
### 한글
- **거리밖 R 위치 통일**: 시전·성빛·정화 모두 버튼 우상단에 동일하게 표시.
## 2.5.28
### Fixed
- **ADDON_ACTION_BLOCKED on AutoBlessHolyState:SetAttribute**: Fly-state handler no longer clears Holy/Cleanse secure state in combat. `UpdateHolyActionState` / cleanse arm also skip secure SetAttribute while locked down.
### 한글
- **성빛 state SetAttribute 차단**: 전투 중 비행 처리가 `AutoBlessHolyState`/`CleanseState`를 비우던 오류 수정. 전투 중에는 보호 state 갱신 스킵.
## 2.5.27
### Fixed
- **ADDON_ACTION_BLOCKED on AutoBlessPlayerCastState:SetAttribute**: Combat no longer writes `block` on the secure player-cast state. WrapScript uses `PlayerInCombat()`; attribute only tracks fly/test out of combat.
### 한글
- **보호된 SetAttribute 차단**: 전투 중 `AutoBlessPlayerCastState`에 block을 쓰던 오류 수정. 전투 판별은 PreClick `PlayerInCombat()`, 비행/테스트만 비전투에서 속성 갱신.
## 2.5.26
### Fixed
- **Holy Light cast feedback pushback**: Completion wait follows `UnitCastingInfo` end time and `UNIT_SPELLCAST_DELAYED` (hit pushback), not a fixed 10s. Hard cap 30s from click.
### 한글
- **성빛 시전 밀림**: 피격으로 시전이 밀려도 Fail이 먼저 안 뜨게 — 시전바 종료시각·DELAYED에 맞춰 대기 연장 (클릭 후 최대 30초).
## 2.5.25
### Changed
- **Cast feedback name color**: Target names in the result line use class color (e.g. `성빛 |cff…Name|r OK`).
### 한글
- **시전 결과 이름 직업색**: `성빛 이름 OK` 등에서 대상 이름만 직업색으로 표시.
## 2.5.24
### Fixed
- **Holy Light cast feedback false Fail**: Cast-time spells no longer time out at 1.3s. On `UNIT_SPELLCAST_START` show `시전중…`, wait for SUCCEEDED/FAILED (up to ~10s).
### 한글
- **성빛 성공인데 Fail**: 시전 시간 때문에 1.3초 타이머가 먼저 Fail을 띄우던 문제. 시전 시작 후 `시전중…` → 완료 시 `OK`.
## 2.5.23
### Changed
- **Cast feedback for all casts**: Result line now covers bless, util seals (희/자/보/신), Holy Light, and Cleanse (e.g. `자축 이름 OK`, `성빛 이름 Fail`).
### 한글
- **시전 결과 전 버튼**: 축복뿐 아니라 희·자·보·신·성빛·정화 클릭도 `자축 이름 OK` / `성빛 이름 Fail` 형태로 표시.
## 2.5.22
### Fixed
- **Holy Light no-cast**: PreClick no longer overwrites with `/stopmacro` when state FrameRef fails — keeps button `abmacro`. Dump now reads `AutoBlessHolyLightButton` (was looking at a non-existent name). Button re-armed from state on every Update.
### 한글
- **성빛 시전 안 됨**: PreClick이 state 읽기 실패 시 `/stopmacro`로 덮던 문제 — 버튼 `abmacro` 유지. 진단이 잘못된 버튼명을 보던 문제도 수정.
## 2.5.21
### Fixed
- **Cast feedback toggle location**: Moved from the main assign strip to the Blessing Confirm window (`시전결과 ON/OFF` chip to the right of `재료절약`). Settings panel unchanged.
### 한글
- **시전 결과 토글 위치**: 메인 배정 스트립에서 제거하고 **축복 배정 확인**창의 재료절약 오른쪽에 `시전결과 ON/OFF` 칩으로 배치. 미니맵 설정은 그대로.
## 2.5.20
### Fixed
- **Secure path unification (post-200-local)**: Util seals re-arm on login/combat-end/land (Wire+Apply, fly-off `UpdateSealButtons`). Holy `SetAttribute` uses pcall like Cleanse and keeps prior macro on failure. IIFE uses `C.IsPlayerFlying` / `C.ABDebug` / `C.SpellNotEnoughMana` only. `sealButtons` rebind guarded; `Fwd.Update*` nil-safe.
### 한글
- **Secure 경로 통일 (200-local 이후)**: 유틸은 로그인·전투종료·착지 시 Wire+Apply로 재무장. 성빛 SetAttribute pcall·실패 시 기존 매크로 유지. IIFE는 `C.*` 경로만 사용. sealButtons 재바인딩 가드·Fwd nil 가드.
## 2.5.19
### Fixed
- **Util seals still not casting**: Removed PreClick Wrap that overwrote the button with `/stopmacro` when state `ok`/FrameRef failed. Freedom/BoP/LoH/Sacrifice now use a static `type1` conditional macro on the button (no Wrap).
### 한글
- **자축·보축·신축 여전히 안 됨**: PreClick이 state 읽기 실패 시 `/stopmacro`로 덮어쓰던 Wrap 제거. 버튼에 정적 조건매크로를 직접 무장.
## 2.5.18
### Fixed
- **Util seals (Freedom/BoP/LoH) not casting**: Same client quirk as Holy/Cleanse — left-click needs `type1`/`macrotext1`. Idle/fly no longer clears `type` (keeps `/stopmacro` so PreClick can re-arm).
### 한글
- **자축·보축·신축 시전 안 됨**: 성빛·정화와 같이 `type1`/`macrotext1` 필요. 비행·비무장 시 type을 비우지 않고 `/stopmacro`로 경로 유지.
## 2.5.17
### Fixed
- **Holy Light outside Morogrim**: Restored normal targeting (friendly target → enemy's target → self). Morogrim mode only changes priority to lowest-HP warlock and shows the **M** badge — it is not a cast-only gate.
### 한글
- **성빛 모로그림 전용 제한 해제**: 평소는 아군대상 → 적의 대상 → 자신. 모로그림 모드는 흑마 최저체력 우선 + **M** 표시만 (시전 자체가 막히지 않음).
## 2.5.16
### Fixed
- **Cast feedback false Fail**: After a successful bless, clicking again with no remaining need showed `축복 … Fail`. Idle/unarmed clicks now show `미축 없음` (not Fail).
### 한글
- **시전 결과 오진**: 왕축 OK 후 재클릭 시 `축복 Fail`로 나오던 문제. 시전 대상 없으면 `미축 없음`으로 표시.
## 2.5.15
### Changed
- **Debug default channels**: `/ab debug on` now logs bless + holy + cleanse (Fail dumps only). Use `/ab debug hc` for holy+cleanse only.
### 한글
- **디버그 기본 채널**: `/ab debug on` 시 축복·성빛·정화 모두 (Fail 짧은 덤프). 성빛·정화만은 `/ab debug hc`.
## 2.5.14
### Fixed
- **Bless cast broken**: PreClick cleared `macrotext` when state was unread/unarmed, wiping the out-of-combat fallback macro. Now only updates when state is armed; cast state frame is unprotected again for combat `SetAttribute`.
### 한글
- **축복 시전 안 됨**: PreClick이 state 미읽기 시 버튼 매크로를 지워 시전이 막히던 문제. 무장일 때만 갱신·축복 state는 비보호로 복구.
## 2.5.13
### Changed
- **Local budget**: Packed UI/state/constants into one `S` table so the main chunk stays ~146/200 locals (was hitting the Lua limit again).
### 한글
- **local 200 한도**: UI·상태·상수를 `S` 테이블로 묶어 메인 청크 local을 ~146개로 축소 (여유 확보).
## 2.5.12
### Fixed
- **Invalid frame handle in PreClick**: Removed `control:GetFrameRef` (invalid on this client). State frames are now `SecureHandlerBaseTemplate` so combat `GetFrameRef` works. Cleanse PreClick falls back to `[@mouseover][@target][@player]` when state arm is stale.
### 한글
- **Invalid frame handle**: `control` 참조 제거. State를 보호 프레임으로 바꿔 전투 중 PreClick 읽기 가능. 정화는 state 실패 시 조건매크로 폴백.
## 2.5.11
### Fixed
- **Cleanse PreClick no-op in combat**: WrapScript `self` is the button; `GetFrameRef("abbtn")` was nil so PreClick returned early and left `/stopmacro`. Now uses `self` + `control:GetFrameRef("abstate")` (wrap ver 4). Same fix for holy/cast/util.
### 한글
- **전투 중 정화 Fail**: PreClick이 `abbtn` ref nil로 바로 return → 버튼이 `/stopmacro` 고정. `self`에 직접 매크로 기록하도록 수정 (ver=4).
## 2.5.10
### Changed
- **Cast feedback bless labels**: Show short names like `힘축` / `상힘축` (≤3 chars) instead of generic `축복`.
### 한글
- **시전 결과 축복명**: `축복` 대신 `힘축`·`상힘축`처럼 3글자 이내로 표시.
## 2.5.9
### Fixed
- **Load error 200 locals**: Folded cast-feedback into `ABDebug.CastFB` so the main chunk stays under Lua’s 200 local limit.
### 한글
- **로드 오류(local 200)**: 시전 결과 UI를 `ABDebug.CastFB`로 옮겨 메인 청크 local 한도 초과 수정.
## 2.5.8
### Changed
- **Leaner debug**: No full dump on every click. On Fail only, short 3-line diagnostics (state/macro/wrap). Spell START/STOP spam removed. Manual `/ab debug holy|cleanse|bless` still available.
### 한글
- **디버그 축소**: 클릭마다 전체 덤프 제거. Fail 때만 짧은 진단(state·매크로·wrap). 수동 `/ab debug holy|cleanse|bless` 유지.
## 2.5.7
### Added
- **Cast result line**: Top of main UI shows e.g. `힘축 네페르니 OK` / `정화 아무개 Fail`. Toggle in settings and assign strip (`결과` checkbox). Default ON.
### 한글
- **시전 결과 표시**: 메인 UI 상단에 `힘축 이름 OK` / `정화 이름 Fail`. 설정·배정창에서 ON/OFF (기본 ON).
## 2.5.6
### Fixed
- **Cleanse/Holy PreClick never fired**: Clearing `type` to nil when idle made secure clicks skip the wrap (`preclick` empty). Keep `type=macro` with `/stopmacro` so PreClick can arm mid-combat.
### 한글
- **정화 PreClick 미실행**: 대상 없을 때 type을 비워 전투 중 랩이 안 돌던 문제. `/stopmacro`로 경로 유지.
## 2.5.5
### Fixed
- **Cleanse PreClick**: Match cast-button wrap — build from unit+spell, set both `type`/`macrotext` and `type1`/`macrotext1`, drop `LeftButton` guard that could abort Down-clicks. Dump shows `preclick`/`ver`.
### 한글
- **정화 PreClick**: 축복 시전과 동일 패턴(type+type1, unit+spell 조립). Down 클릭에서 가드에 막히던 경우 수정.
## 2.5.4
### Fixed
- **Cleanse in combat**: State had the macro but the button was empty (`InCombatLockdown`). Use Holy-style `PreClick` copy from `AutoBlessCleanseState`.
### 한글
- **전투 중 정화**: StateMacro만 있고 ButtonMacro 비어 시전 실패하던 문제 — 성빛과 같이 PreClick 복사.
## 2.5.3
### Changed
- **Debug default**: `/ab debug on` logs **Holy Light + Cleanse only** (bless off). `/ab debug all` for full. Cleanse dump lists group debuffs/range.
- **Cleanse arming**: Clear macro when flying / OOM / no cleansable target (no leftover `[@player]`).
### 한글
- **디버그**: 기본 성빛·정화만 · `/ab debug all` 전체. 정화 덤프에 그룹 디버프·거리.
- **정화 무장**: 비행·대상 없을 때 player 매크로 잔존 제거.
## 2.5.2
### Fixed
- **Active dual-spec talents**: Read `GetActiveTalentGroup` (Anniversary TBC dual spec). Skip LibClassicInspector when dual groups exist (old LCI always returned group 1). Rescan on `ACTIVE_TALENT_GROUP_CHANGED` / `PLAYER_TALENT_UPDATE`.
### 한글
- **이중특성**: 활성 특성 그룹을 읽어 반영. 구 LCI(항상 1번 특성)는 이중특성 클라이언트에서 무시. 특성 전환 시 즉시 재스캔.
## 2.5.1
### Fixed
- **Talent cache for 0-in-tab1 specs**: Feral/Resto druids (and prot paladins etc.) were skipped because Lua treated `t1 == 0` as failure.
### 한글
- **특성 캐시**: 1트리 0점(야성·회복 드루, 보기 등)이 `t1==0` falsy 때문에 저장·표시되지 않던 문제 수정.
## 2.5.0
### Changed
- **Holy Light `M` badge**: Shows when Morogrim mode starts (prot + fight), not only when a warlock is selected.
### 한글
- **성빛 M**: 흑마 선택 시점이 아니라 모로그림 모드 시작 시 표시.
## 2.0.96
### Fixed
- **Morogrim false positive (stricter)**: Require `IsInInstance` raid + SSC; NPC id **and** name.
### 한글
- **모로그림 오탐 강화**: 레이드 인스턴스+SSC, NPC·이름 동시 확인.
## 2.0.95
### Fixed
- **Morogrim false positive**: Require SSC raid (map 548) + name `모로그림`/`Morogrim` (not bare `겅둥파도`).
### 한글
- **모로그림 오탐**: 뱀의 신전(548) + 모로그림 이름일 때만.
## 2.0.94
### Changed
- **Mute error speech**: While AutoBless is used (paladin), turn error speech off once on login; restore on logout. No per-click toggle.
### 한글
- **오류 음성**: 성기사로 애드온 쓰면 로그인 시 한 번 끄고, 로그아웃 때 복구. 클릭마다 토글 없음.
## 2.0.93
### Changed
- **Mute error speech**: No per-click `SetCVar` — suppress window + vocal hook only.
### 한글
- **오류 음성 억제**: 클릭마다 설정 켜/끄기 제거(훅만).
## 2.0.92
### Added
- **Mute error speech on cast**: While clicking cast/util/holy/cleanse, briefly suppress WoW error voice; `/ab muteerror on|off`.
### 한글
- **시전 오류 음성 억제**: 시전·유틸·성빛·정화 클릭 시 오류 음성 억제. `/ab muteerror on|off`.
## 2.0.91
### Fixed
- **Confirm role icon**: Manual untank `false` was lost by `or nil` (treated as unset); icon now switches to DPS.
### 한글
- **확인 창 역할 아이콘**: 수동 비탱 `false`가 `or nil`에 먹혀 무시되던 버그 수정.
## 2.0.90
### Fixed
- **Confirm role icon**: Manual untank (`false`) now overrides prot-spec tank icon (shows DPS).
### 한글
- **확인 창 역할 아이콘**: 수동 비탱 시 보호 특성이어도 탱 아이콘이 유지되던 문제 수정.
## 2.0.89
### Changed
- **Confirm “현재” column**: Only blessings cast by you (one slot); assigned first, else another you cast.
### 한글
- **확인 창 현재 칸**: 내가 넣은 축복만 표시(한 칸). 배정 우선, 없으면 내가 넣은 다른 축복.
## 2.0.88
### Changed
- **Confirm “현재” column**: Show any paladin blessing on the unit (not only the assigned one); mismatched bless tip.
### 한글
- **확인 창 현재 칸**: 배정이 아니어도 걸린 축복 표시(다르면 툴팁 안내).
## 2.0.87
### Changed
- **Confirm role icons**: Restore portrait-role style; slightly larger (20px).
### 한글
- **확인 창 역할 아이콘**: 이전 스타일로 복구, 크기 조금 확대(20px).
## 2.0.86
### Changed
- **Confirm role icons**: Use borderless `UI-LFG-ICON-ROLES` (no portrait ring).
### 한글
- **확인 창 역할 아이콘**: 원형 테두리 없는 역할 아이콘으로 변경.
## 2.0.85
### Changed
- **Confirm scan chip**: Click shows `스캔 중…` (queue count), then restores ON/OK when done.
### 한글
- **스캔 칩**: 클릭 시 `스캔 중…` 표시, 완료되면 원래 ON/OK로 복귀.
## 2.0.84
### Changed
- **Confirm height**: Party/solo always 5 rows (no scroll); raid shows 15 then scrolls.
### 한글
- **확인 창 높이**: 솔로·파티는 5칸 고정(스크롤 없음), 공대는 15명 표시 후 스크롤.
## 2.0.83
### Changed
- **Holy Light**: Only arms in Morogrim mode (prot + fight); shows `M` badge. No chain cast to others outside that mode.
### 한글
- **성빛**: 모로그림 모드에서만 동작·`M` 표시. 그 외 체인/타인 시전 비활성.
## 2.0.82
### Changed
- **Confirm footer**: Remove redundant Refresh; Close chip only.
- **Confirm height**: Grow with roster size (party ≤5, raid 10/25…); scroll past 25 / screen limit.
### 한글
- **확인 창**: 새로고침 제거, 닫기만 유지.
- **확인 창 높이**: 인원 수에 맞게 조절 (25명·화면 상한 초과 시 스크롤).
## 2.0.81
### Changed
- **Confirm footer**: Refresh/Close use the same chip style as the top bar.
### 한글
- **확인 창 하단**: 새로고침·닫기를 상단 칩과 같은 디자인으로 통일.
## 2.0.80
### Changed
- **Confirm columns**: Header `특성이름` → `특성` (narrower); name column wider.
### 한글
- **확인 창 칸**: `특성`으로 표기·폭 축소, 이름 칸 확대.
## 2.0.79
### Changed
- **Confirm scope chip**: Solo shows `솔로` only (no `· 1`).
### 한글
- **구성 칩**: 솔로일 때 인원 수 없이 `솔로`만 표시.
## 2.0.78
### Changed
- **Confirm window width**: Shrink frame to fit roster columns (≈578px).
### 한글
- **확인 창 폭**: 컬럼에 맞춰 ≈578px로 좁힘.
## 2.0.77
### Changed
- **Confirm roster order**: Party follows `player → partyN`; raid follows subgroup then raid index (not name / self-first).
- **Confirm raid column**: Party number after role.
### 한글
- **확인 창 순서**: 파티는 슬롯 순, 공대는 파티 번호→레이드 순.
- **공대 파티 칸**: 역할 옆에 파티(그룹) 번호 표시.
## 2.0.76
### Added
- **Util blessing cooldowns**: Show remaining cooldown on 희축/자축/보축/신축 buttons (e.g. `1:23`).
### 한글
- **유틸 쿨다운**: 희축·자축·보축·신축 버튼에 재사용 대기 시간 표시.
## 2.0.75
### Changed
- **Confirm scan chip click**: Manual rescan for 힘지 (force talent inspect) and 왕구/빛구/올구 (main-tank resync).
### 한글
- **스캔 ON 칩 클릭**: 수동 재스캔 — 힘지는 특성 강제, 왕구·빛구·올구는 방어전담 재확인.
## 2.0.74
### Added
- **Out-of-range badge**: Red superscript `R` on cast (yellow remaining), Holy Light, and Cleanse when the target/needs are out of cast range.
### 한글
- **거리 밖 R**: 시전 버튼 노란 숫자·성빛·정화에서 시전 거리 밖이면 빨간 위첨자 `R` 표시.
## 2.0.73
### Changed
- **Confirm layout**: More space between role icon and name columns.
### 한글
- **확인 창 간격**: 역할 · 이름 칸 사이 여백 확대.
## 2.0.72
### Changed
- **Uncastable blessing label**: Show `미학습` when the spell is not known (e.g. Holy without Kings); keep `레벨부족` only for target level.
### 한글
- **시전 불가 표시**: 주문 미습득은 `미학습`, 대상 레벨 문제는 `레벨부족`으로 구분 (신성으로 찍어 왕축 없을 때 등).
## 2.0.71
### Added
- **Raid main tank sync**: As raid leader/assistant, clicking the confirm role icon also sets/clears Blizzard MAINTANK (secure click). Manual AutoBless tank list still updates for everyone.
### 한글
- **공대 방어전담 연동**: 공대장/부공대장이 확인 창 역할 아이콘을 클릭하면 와우 방어전담(MT)도 같이 켜짐/꺼짐. 권한 없어도 애드온 수동 탱커는 동작.
## 2.0.70
### Changed
- **Confirm role icon**: Prefer talent/spec (Holy→healer, Prot→tank, Ret→DPS). Manual tank click still forces tank for blessings; solo/MT auto-tank no longer overrides the icon.
### 한글
- **확인 창 역할 아이콘**: 특성 기준(신성=힐, 보호=탱, 징벌=딜). 클릭 수동 탱커는 유지. 솔로/MT 자동탱은 아이콘에 안 덮어씀.
## 2.0.69
### Fixed
- **Tank toggle**: `ToggleManualTankByName` no longer calls `IsRaidMode` before it exists (nil error on role-icon click).
### 한글
- **탱커 토글**: 역할 아이콘 클릭 시 `IsRaidMode` nil 오류 수정.
## 2.0.68
### Changed
- **Confirm talent detail**: Two-syllable tree names and zero-padded points (e.g. `신성01/보호41/징벌20`).
### 한글
- **확인 창 특성상세**: 특성명 두 글자·점수 두 자리 (예: `신성01/보호41/징벌20`).
## 2.0.67
### Added
- **Confirm live column**: Show the blessing currently on each member and remaining time to the right of 축복배정 (updates while the window is open).
### 한글
- **확인 창 현재 칸**: 축복배정 오른쪽에 실제 축복 아이콘·남은 시간 표시 (창이 열린 동안 갱신).
## 2.0.66
### Added
- **Confirm role icon click**: Toggle manual tank / forced non-tank (overrides wrong MAINTANK/role). Party keeps a single forced tank.
### Changed
- **Manual tank sync**: Raid MAINTANK sync no longer wipes manual tanks; forced non-tank (`false`) is preserved.
### 한글
- **확인 창 역할 아이콘 클릭**: 탱커↔비탱커 토글 (잘못된 방어전담도 수정). 파티는 강제 탱커 1명.
- **방어전담 동기화**: 수동 탱커를 통째로 지우지 않음. 강제 비탱 유지.
## 2.0.65
### Changed
- **Confirm hybrid scan**: Opening the window queues only missing/expired talent inspects (5m cache respected). Force full rescan via the scan chip click.
- **Talent cache prune**: Drop cache entries for players who left the group.
### 한글
- **힘지 확인 스캔**: 창을 열면 캐시 없거나 만료된 인원만 스캔. 전원 강제는 스캔 칩 클릭.
- **특성 캐시 정리**: 파티/공대에서 빠진 인원 캐시 제거.
## 2.0.64
### Changed
- **Confirm role column**: Use Blizzard LFG tank/healer/DPS role icons instead of 탱/딜/힐 text.
### 한글
- **확인 창 역할 칸**: 탱·딜·힐 글자 대신 LFG 전용 역할 아이콘 표시.
## 2.0.63
### Changed
- **Confirm role column**: Show 탱/딜/힐 (from assigned role, tank flag, or inferred talent) instead of only `T`.
### 한글
- **확인 창 역할 칸**: T 대신 탱·딜·힐 표시 (역할 지정·탱커·특성으로 추정).
## 2.0.62
### Changed
- **Confirm column order**: `T | 이름 | 특성이름 | 특성상세 | 축복배정`.
- **Name icon**: When a talent/spec is resolved, show that spec's icon instead of the class icon.
### 한글
- **확인 창 순서**: T · 이름 · 특성이름 · 특성상세 · 축복배정.
- **이름 아이콘**: 특성 판정 시 직업 아이콘 대신 해당 특성 아이콘 표시.
## 2.0.61
### Changed
- **Confirm window title**: `로스터 확인` → `축복 배정 확인`.
- **Confirm columns**: Split into 판정된특성 / 특성상세 / 축복배정.
### 한글
- **확인 창 제목**: 축복 배정 확인.
- **목록 칸**: 판정된특성 · 특성상세 · 축복배정 3칸으로 분리.
## 2.0.60
### Fixed
- **Roster assign chip glyph**: Remove `▸`/`▾` (rendered as □ in WoW fonts) next to 왕구.
- **Roster presets**: Already-selected 왕구/빛구/힘지 are dimmed.
### 한글
- **로스터 왕구 칩**: 폰트 미지원으로 네모(□)로 보이던 ▸▾ 제거.
- **로스터 프리셋**: 이미 선택된 왕구·빛구·힘지는 흐리게 표시.
## 2.0.58
### Changed
- **Roster assign bless buttons**: Use blessing skill icons (with A/T badge) instead of text labels.
### 한글
- **로스터 배정 축복 칸**: 글자 대신 스킬 아이콘(+A/T 배지) 표시.
## 2.0.57
### Changed
- **Roster assign picker**: Single row — `왕구 빛구 힘지 | 왕 구 힘 지 빛 성`.
### 한글
- **로스터 배정 선택**: 한 줄로 통합 — 왕구·빛구·힘지·왕·구·힘·지·빛·성.
## 2.0.56
### Changed
- **Roster assign picker position**: Opens on the row under the assign chip (not at the window bottom).
### 한글
- **로스터 배정 선택 위치**: 창 하단이 아니라 왕구 칩 바로 아래 줄에 표시.
## 2.0.55
### Added
- **Roster assign picker**: Click the assign chip (e.g. 왕구) to open preset/blessing buttons at the bottom, same flow as the main assign strip.
### 한글
- **로스터 확인 배정 변경**: 왕구 등 배정 칩 클릭 시 하단에 프리셋·축복 선택 (메인 배정과 동일).
## 2.0.54
### Changed
- **Roster confirm header**: Replace cluttered text with ON/OFF-style chips (scope, assign, scan, reagent-save toggle).
### 한글
- **로스터 확인 상단**: 긴 문구 대신 칩 버튼(구성·배정·스캔·재료절약 토글)으로 정리.
## 2.0.53
### Changed
- **Roster confirm labels (party)**: Non-tanks show `파티 (구축)` instead of raid-style `공대 (A축)`.
### 한글
- **로스터 확인(파티)**: 비탱커 표시를 `공대 (A축)` 대신 `파티 (구축)`으로 수정.
## 2.0.52
### Fixed
- **UIErrorsFrame hook recursion**: Hook `AddMessage` only once (no re-wrap) with reentrancy guard — fixes `script ran too long` with other addons (e.g. AutoPhasicInvite).
### 한글
- **에러 프레임 훅 재귀**: `AddMessage` 재감싸기 제거·재진입 가드 — 타 애드온과 겹칠 때 `script ran too long` 수정.
## 2.0.51
### Fixed
- **Inspect error speech**: Suppress `PlayVocalErrorSoundID` (out-of-range voice) during talent-scan quiet window, not just the on-screen text.
### 한글
- **인스펙트 거리 음성**: 스캔 억제 구간에서 화면 문구뿐 아니라 `PlayVocalErrorSoundID` 거리 부족 음성도 막음.
## 2.0.50
### Fixed
- **Lua 200 locals**: Fold inspect UI-error helpers into one `InspectUI` table (fixes load error).
### 한글
- **로컬 200개 한도**: 인스펙트 UI 에러 억제 코드를 `InspectUI` 테이블로 묶어 로드 오류 수정.
## 2.0.49
### Fixed
- **Inspect range spam (`너무 멀리있습니다`)**: Re-wrap `UIErrorsFrame` after other addons, hook all `NotifyInspect`, 3s post-reload quiet window, and clear residual error text.
### 한글
- **인스펙트 거리 에러**: `너무 멀리있습니다` — 타 애드온 AddMessage 덮어쓰기 대응, `NotifyInspect` 전역 훅, 리로드 후 3초 유예·잔여 문구 제거.
## 2.0.48
### Fixed
- **Inspect "get closer" spam**: Keep suppress window after `NotifyInspect` (async `UI_ERROR_MESSAGE`) and clear the error frame so `좀더 가까이 가야합니다` no longer flashes on reload.
### 한글
- **인스펙트 거리 에러**: `NotifyInspect` 직후 비동기로 뜨던 `좀더 가까이 가야합니다`가 다시 보이던 문제 — 억제 시간 유지 + 에러 프레임 제거.
## 2.0.47
### Fixed
- **Inspect range UI errors**: Also suppress Korean `사정거리에서 벗어났습니다` during talent inspect.
### 한글
- **인스펙트 거리 에러**: `사정거리에서 벗어났습니다`도 특성 스캔 중에만 억제.
## 2.0.46
### Fixed
- **Inspect range UI errors**: Also suppress "too far" style messages (e.g. Korean `너무 멀리있습니다`) during talent inspect.
### 한글
- **인스펙트 거리 에러**: `너무 멀리있습니다` 등 거리 관련 문구도 특성 스캔 중에만 함께 억제.
## 2.0.45
### Fixed
- **Inspect range UI error**: Reload/talent scan no longer flashes Blizzard's "get closer" (`ERR_OUT_OF_RANGE`) when hybrids are out of inspect range.
### 한글
- **인스펙트 거리 에러**: 리로드·특성 스캔 시 거리 부족으로 `좀더 가까이 가야 합니다`가 뜨던 문제 수정.
## 2.0.44
### Changed
- **UI tooltips**: Show immediately (no hover delay).
### 한글
- **UI 툴팁**: 지연 없이 바로 표시.
## 2.0.43
### Changed
- **UI tooltips**: Show at the default WoW tooltip position (bottom-right) instead of above addon buttons.
### 한글
- **UI 툴팁**: 버튼 위가 아니라 와우 기본 툴팁 위치(우하단)에 표시.
## 2.0.42
### Added
- **Roster confirm checkbox**: Toggle reagent-save directly in the roster window (same setting as Options).
### 한글
- **로스터 확인**: 재료 절약 체크박스를 창 안에 추가 (설정과 동일 옵션).
## 2.0.41
### Changed
- **Party tank T-bless**: With reagent-save on, tank still gets normal T-bless (e.g. 왕구 → normal Kings). Off → tank also prefers greater.
- **Roster confirm**: Shows assign rule + reagent-save setting so normal/greater choices are clear.
### 한글
- **파티 탱커 T축**: 재료절약 켜짐 → 일반(왕구=일반 왕축). 끄면 탱커도 상급 우선.
- **로스터 확인**: 배정 규칙·재료절약 설정 표시.
## 2.0.40
### Changed
- **Might/Wisdom reagent-save wording**: Unchecked = prefer greater; normal only when unavoidable (no Mark of the Kings, level too low, etc.).
### 한글
- **힘지 재료 절약 문구**: 체크 끔 = 상급 우선. 일반은 재료 없음·레벨 부족 등 불가피할 때만.
## 2.0.39
### Added
- **Setting: save reagents on Might/Wisdom**: Checkbox controls whether the minority blessing in a class stays normal (saves Marks of the Kings). Off → minority also gets greater.
### 한글
- **설정: 힘지 재료 절약**: 체크 시 직업 내 소수 축복은 일반(왕의 징표 절약). 해제 시 소수도 상급.
## 2.0.38
### Changed
- **Roster confirm spell names**: Show full cast spell name (e.g. `상급 힘의 축복(2 레벨)`) instead of short labels like `상급 힘축`.
### 한글
- **로스터 확인 스킬명**: `상급 힘축` 대신 `상급 힘의 축복(2 레벨)`처럼 시전 주문명 그대로 표시.
## 2.0.37
### Added
- **Roster confirm blessing rank**: Preview window shows the cast rank/level (e.g. `상급 힘축 · 2 레벨`) per member, including downranks.
### 한글
- **로스터 확인 축복 레벨**: 대상별 시전 랭크 표시 (예: `상급 힘축 · 2 레벨`, 다운랭크 포함).
## 2.0.36
### Fixed
- **ADDON_ACTION_BLOCKED CheckInteractDistance**: Removed protected `CheckInteractDistance` calls from range checks; use `UnitInRange` / visibility instead.
### 한글
- **CheckInteractDistance 차단**: 보호 함수 호출 제거 → `UnitInRange`/가시성으로 사거리 판정.
## 2.0.35
### Changed
- **Debug off by default**: `debugAssist` resets OFF every load; log window only opens after `/ab debug on` (or dump/sim commands). Off hides and clears the window.
### 한글
- **디버그 기본 OFF**: 로드마다 끔. `/ab debug on` 할 때만 창·로그. off 시 창 숨김.
## 2.0.34
### Fixed
- **Secure wrap rewire after Discard/combat**: Clear wrap flags on Discard, always re-Wire cast/reagent/holy/util on regen/login; stop wiping Wrap with insecure `PreClick=nil`; util/holy use `abbtn` FrameRef; pass spellId into mana checks.
### 한글
- **Discard·전투 후 Wrap 재연결**: 플래그 클리어, 전투 종료/로그인 시 강제 Wire, PreClick=nil로 Wrap 깨지던 패턴 제거, 유틸/성빛 abbtn, OOM에 spellId.
## 2.0.33
### Fixed
- **Salvation/Kings never use rank suffix**: Even if `GetSpellInfo` returns a rank string, single-rank blessings (Greater Salvation, Kings, etc.) cast by bare name only.
### 한글
- **구축/왕축 랭크 표기 제거**: 단일 랭크 축복은 `GetSpellInfo`가 랭크를 줘도 `상급 구원의 축복` 이름만 사용.
## 2.0.32
### Fixed
- **Single-rank bless macro fail**: Fabricated `(1 레벨)` on Salvation/Kings made `/cast` resolve to no spell (`IsSpellInRange` name=nil). Use bare spell name for single-rank blessings.
### 한글
- **단일 랭크 축복 매크로 실패**: 구축/왕축에 `(1 레벨)`을 붙여 주문이 없던 문제 — 이름만 사용. 진단에 애드온 버전 표시.
## 2.0.31
### Fixed
- **Combat sticky bless macro**: In combat, PreClick wrap could leave the old `macrotext1` (e.g. self Wisdom) while state already pointed at the next member. Wrap v4 writes macros onto the cast button via `abbtn` FrameRef.
### 한글
- **전투 중 축복 매크로 고정**: state는 다음 대상인데 버튼이 이전(자신 지축) 매크로로 반복 시전하던 문제 — Wrap v4가 `abbtn`에 매크로를 기록.
## 2.0.30
### Fixed
- **Downrank false OOM**: Mana check fell back to base (max-rank) name and disarmed cheaper mid-ranks. Prefer `IsUsableSpell(spellId)`; pick the next in-range target that has mana.
### 한글
- **다운랭크 가짜 마나부족**: 최상랭크 이름으로 OOM 판정하던 문제 — spell id로 검사, 마나 되는 다음 대상 우선.
## 2.0.29
### Fixed
- **Wrong mid-rank locale string**: Fallback used `RANK` ("등급 2") but this client expects GetSpellInfo style ("2 레벨"), so macros failed (`IsSpellInRange` name=nil). Derive rank text from sibling spell ranks.
### 한글
- **중간 랭크 표기 오류**: `등급 2` 대신 클라 표기 `2 레벨` 사용 (형제 랭크 GetSpellInfo에서 숫자만 치환).
## 2.0.28
### Fixed
- **Bless cast still used spell id**: Named Secure buttons could keep an old PreClick wrap (`type1=spell`). Force unwrap/rewire (wrap v3), macro-only arming, and ranked cast names when `GetSpellInfo` omits rank.
### 한글
- **축복이 계속 spell id로 무장되던 문제**: 이름 고정 버튼에 구 Wrap이 남아 `type1=spell`이 되던 경우 — Unwrap 후 매크로 전용 재연결, 랭크 없는 이름 폴백.
## 2.0.27
### Fixed
- **Low-level greater bless silent fail**: Mid-rank spell IDs (e.g. Might 25916) armed via `type=spell`/`spell1=id` did not cast. Prefer ranked spell-name macros for blessing Secure clicks.
### 한글
- **저랩 상급 축복 무반응**: 중간 랭크 스펠 ID Secure 시전이 묵살되던 문제 — 랭크 포함 이름 매크로로 시전.
## 2.0.26
### Added
- **Blessing debug**: `/ab debug bless` dump (assign, needs, Pick, abok/spell id, range), live cast arming logs, click↔spellcast link, `/ab debug sim bless` assignment scenarios. `/ab debug on` now covers bless + holy + cleanse.
### 한글
- **축복 진단**: `/ab debug bless` 덤프(배정·미축·Pick·abok/스펠ID·사거리), 무장 로그, 클릭-시전 연동, `/ab debug sim bless` 배정 시나리오. `/ab debug on` 은 축복+성빛+정화.
## 2.0.25
### Fixed
- **Lua 200 local limit**: Folded cast helpers / forward decls into tables so the main chunk loads again (`main function has more than 200 local variables`).
### 한글
- **local 200개 한도**: 시전 헬퍼·forward 선언을 테이블로 묶어 메인 청크 로드 오류 수정.
## 2.0.24
### Fixed
- **Cast button dead click with red count**: Arm casts via spell id (not ranked macro names), keep click armed even when OOR, fix range checks for ranked spell names, and re-wire Secure PreClick after combat if the first wire was skipped.
### 한글
- **빨간 숫자인데 시전 클릭 무반응**: 랭크 매크로 대신 스펠 ID 시전, 거리 밖이어도 클릭 무장 유지, 랭크명 사거리 판정 보정, 전투 중 Wrap 실패 시 전투 종료 후 재연결.
## 2.0.23
### Fixed
- **힘지 + low-level targets**: Prot tank stays Wisdom; warriors show fixed Might in Confirm; downrank/`IsPlayerSpell` fallback; uncastable (too low / missing ranks) no longer sticks the missing count — labeled `레벨` / `레벨부족`.
### 한글
- **힘지·저랩**: 보기탱=지축 유지, 전사는 확인창에 힘축(고정) 표시, 다운랭크 폴백, 시전 불가 저랩은 미축 숫자에서 제외(`레벨`/`레벨부족`).
## 2.0.22
### Fixed
- **RaidFrame_LoadUI ADDON_ACTION_BLOCKED**: Reduce combat taint blame on roster changes — defer `GROUP_ROSTER` UI refresh, avoid Blizzard options templates/`HideUIPanel` in settings, use a private class-color snapshot, drop unused cleanse unit Secure pool.
### 한글
- **RaidFrame_LoadUI 보호 함수 차단**: 전투 중 인원 변경 시 테인트 오인 완화 — 로스터 갱신 지연, 설정창 Blizzard 템플릿·`HideUIPanel` 회피, 직업색 사본 사용, 미사용 정화 유닛 버튼 풀 제거.
## 2.0.21
### Changed
- **Debug log default OFF**: Clears a leftover `debugAssist=true` once so arming spam stays off unless you run `/ab debug on`.
### 한글
- **진단 로그 기본 OFF**: 예전에 켜 둔 저장값을 한 번 끄고, 필요할 때만 `/ab debug on`.
## 2.0.20
### Added
- **Holy Light scenario sim (incl. Morogrim)**: `/ab debug sim holy` — chain vs single-target macros, prot+Morogrim lowest-HP warlock (in-range preferred), ret ignores Morogrim. `/ab debug sim all` runs cleanse + holy.
### 한글
- **성빛 가상 시나리오(모로그림 포함)**: `/ab debug sim holy` — 일반 체인/모로+보기 흑마 최저체력·사거리 우선, 징기는 모로 무시. `/ab debug sim all` 은 정화+성빛.
## 2.0.19
### Added
- **Cleanse scenario sim**: `/ab debug sim` runs virtual party/raid infection cases through the same Resolve priority (self → ToT → friendly → group) and prints expected cast macros. Does not fake combat casting.
### 한글
- **정화 가상 시나리오**: `/ab debug sim` 으로 파티/공대 감염 케이스를 Resolve·예상 매크로까지 검증. (실제 전투 시전은 솔로 실전으로 확인)
## 2.0.18
### Fixed
- **Cleanse single-button (Decursive-inspired, Holy-proven)**: `type1=click` forwarding was armed correctly but often did not cast on this client. Best one-button path = same as Holy Light: put `/cast [@unit]` on the **visible** Secure button (`macrotext1`). Resolve still picks unit; out of combat the button is re-armed; idle/flying keeps `[@player]` for in-combat self-dispel.
### 한글
- **정화 한 버튼 최선책**: `type=click` 중계는 무장만 되고 시전이 비었음. 성빛과 같이 **보이는 버튼에 매크로를 직접** 둠. Resolve로 대상 정한 뒤 비전투에 갱신, 대상 없을 때는 `[@player]` 유지.
## 2.0.17
### Fixed
- **Cleanse `:Click()` blocked in combat**: Insecure `OnClick` → `SecureButton:Click()` is a protected call (Lua error, no cast). Visible button is now a `SecureActionButton` with `type1=click` / `clickbutton1` pointing at the pre-armed unit button (hardware click chain). Idle still arms `player` so self-dispel works after combat starts.
### 한글
- **전투 중 정화 Click→Secure 만 되고 시전 안 됨**: 비보안 `:Click()`은 보호 함수라 막힘. 보이는 버튼을 Secure로 두고 `type1=click`으로 유닛 버튼에 연결. 대상 없을 때도 player 연결 유지.
## 2.0.16
### Fixed
- **Cleanse combat cast (FrameRef dead end)**: This client cannot reliably `GetFrameRef` for Cleanse (`hdrRef=false`, button stays unarmed). Switched to a **non-secure proxy** that resolves the unit in `OnClick`, then `:Click()`s a matching pre-armed hidden `SecureActionButton` (`player` / `partyN` / `raidN` / `target`…). Pool is armed out of combat.
### 한글
- **전투 중 정화 시전 실패**: FrameRef/Wrap이 이 클라에서 동작하지 않아, 보이는 버튼은 일반 프록시로 두고 유닛별 Secure 버튼을 미리 무장한 뒤 클릭 시 `:Click()`으로 시전.
## 2.0.15
### Fixed
- **Cleanse `Invalid frame handle`**: Putting `SetFrameRef` on the SecureActionButton made `GetFrameRef("abstate")` throw in the restricted environment (16 errors = 16 clicks). FrameRef now lives only on a dedicated `SecureHandlerBaseTemplate` header; WrapScript copies `abmacro` from state like Holy Light.
### 한글
- **전투 중 정화 Invalid frame handle**: 버튼에 `SetFrameRef`를 두면 Wrap에서 프레임 핸들이 깨짐. FrameRef를 전용 SecureHeader로 옮기고 state 매크로를 복사하도록 수정.
## 2.0.14
### Fixed
- **Cleanse still silent in combat**: Align Cleanse with the blessing cast button — WrapScript builds `/cast [@unit]` from state on each PreClick. Also: UI rebuild used to `SetScript("PreClick", nil)` then skip re-wire because `_abCleanseWired` stayed true (state armed, click no-op). Debug dump now shows **Button** attrs.
### 한글
- **전투 중 정화 무장만 되고 시전 안 됨**: 축복 시전과 같이 Wrap이 클릭 직전 매크로 조립. UI 재생성 후 Wrap이 끊긴 채 재연결을 건너뛰던 버그 수정. 진단에 버튼 실제 속성 표시.
## 2.0.13
### Fixed
- **Cleanse not casting in combat**: `SetScript("PreClick", nil)` after `SecureHandlerWrapScript` removed the secure PreClick wrapper. Holy Light still worked because its chain macro is static on the button; Cleanse needs the wrapper to copy the resolved unit macro each click. Also logs `UI_ERROR_MESSAGE` while debug is on.
### 한글
- **전투 중 정화 클릭해도 시전 안 됨**: WrapScript 연결 뒤 `PreClick`을 nil로 지워 전투 중 매크로 복사가 끊기던 문제 수정. (성빛은 고정 체인 매크로라 우연히 동작). 디버그 ON 시 UI 오류 메시지도 로그.
## 2.0.12
### Added
- **Cast result logging**: With `/ab debug` on, logs button click, then `시전시작` / `시전성공` / `시전실패` / `시전끊김` for Holy Light and Cleanse. If no cast event within 1.25s after click, logs a warning.
### 한글
- **시전 결과 로그**: `/ab debug` ON 시 버튼 **클릭** → **시전시작/성공/실패/끊김** 기록. 클릭 후 1.25초 안에 이벤트가 없으면 “시전 안 나갔을 수 있음” 경고.
## 2.0.11
### Fixed
- **Holy Light / Cleanse secure click**: Used `type`/`macrotext` while the main cast button uses `type1`/`macrotext1` for left-click. On this client the bare `type` often does not fire — now matches the cast button.
### 한글
- **성빛·정화 시전 안 됨**: 좌클릭이 `type`이 아니라 `type1`/`macrotext1`이어야 하는 클라에서, 무장만 되고 시전이 안 나가던 문제 수정 (축복 시전 버튼과 동일 방식).
## 2.0.10
### Added
- **Debug log pause**: Stop button (and `/ab debug stop`) freezes the log window for easy copy. Copy auto-pauses. Resume to continue.
### 한글
- **진단 로그 정지**: 창의 **정지** 버튼(또는 `/ab debug stop`)으로 기록 멈춤 → 복사 쉬움. **복사** 누르면 자동 정지. **재개**로 다시 기록.
## 2.0.9
### Fixed
- **Holy Light / Cleanse double-click**: Buttons were registered for both `LeftButtonDown` and `LeftButtonUp`, so one click fired the secure cast twice (visible as duplicate debug dumps). Now `LeftButtonDown` only.
### 한글
- **성빛·정화 더블 시전**: Down+Up 동시 등록으로 클릭 1번에 시전이 2번 나가던 문제 수정 (진단 덤프가 두 줄씩 나오던 현상). 이제 Down만 사용.
## 2.0.8
### Added
- **Debug log window**: Copyable frame for Holy Light / Cleanse diagnostics (`/ab debug`, `/ab debug show`). Buttons: Copy (select all), Clear, Close. Dumps go to the window instead of flooding chat.
### 한글
- **진단 로그 창**: 성빛·정화 로그를 복사 가능한 창에 기록 (`/ab debug`, `/ab debug show`). 복사·비우기·닫기 버튼. 덤프는 채팅 대신 창에 쌓임.
## 2.0.7
### Added
- **Assist debug log**: `/ab debug` toggles chat logs for Holy Light / Cleanse arming. `/ab debug holy` or `/ab debug cleanse` prints a one-shot snapshot (spell, resolve, fly/oom, macro state, self debuffs).
### 한글
- **성빛·정화 진단 로그**: `/ab debug` 로 무장 로그 ON/OFF. `/ab debug holy` · `/ab debug cleanse` 로 즉시 스냅샷(주문·Resolve·비행/마나·매크로·자신 디버프).
## 2.0.6
### Fixed
- **Cleanse not detecting debuffs (esp. solo)**: `DebuffDispelType` scanned aura returns with `ipairs`, which stops at the first `nil` (icon/count can be nil on some clients) and could miss `dispelType`. Now checks fixed positions (4th/5th first), so Magic/Disease/Poison are detected reliably.
### 한글
- **정화가 디버프를 못 잡던 문제(특히 솔로)**: `DebuffDispelType`가 `ipairs`로 반환값을 훑어, 중간에 `nil`(일부 클라이언트에서 icon/count가 nil)이 있으면 `dispelType`을 놓쳤음. 이제 고정 위치(4·5번째 우선)를 직접 검사해 마법·질병·독을 안정적으로 인식.
## 2.0.5
### Fixed
- **Load error**: `function has more than 60 upvalues` — events/slash stay in the main chunk (IIFE was capturing too many upvalues). Holy Light helpers folded into a table to stay under the 200-local limit.
### 한글
- **로드 오류**: `function has more than 60 upvalues` — 이벤트/슬래시는 메인 청크에 유지(IIFE upvalue 초과). 성빛 관련은 테이블로 묶어 local 200 한도 유지.
## 2.0.4
### Fixed
- **Load error**: `main function has more than 200 local variables` — folded Holy Light constants; (2.0.5에서 이벤트 IIFE 접근은 철회).
### 한글
- **로드 오류**: `main function has more than 200 local variables` — 성빛 상수 테이블화. (이벤트 IIFE는 2.0.5에서 철회)
## 2.0.3
### Changed
- **Holy Light macro**: Outside Morogrim, uses one click-time chain: `[@target,help,nodead][@targettarget,help,nodead][@player]`. Morogrim still uses a single warlock unit macro.
### 한글
- **성빛 매크로**: 모로그림이 아니면 클릭 시 체인 하나
`[@target,help,nodead][@targettarget,help,nodead][@player]`
모로그림(보기)만 흑마 지정 매크로.
## 2.0.2
### Fixed
- **Cleanse macro arming**: Removed “no target → cast on self” fallback. Macro now arms only the unit from resolve order (self → ToT → friendly target → group). No cleanse target = no cast.
### 한글
- **정화 매크로 무장**: 대상 없을 때 자신으로 폴백하던 무장 제거. Resolve 순서(자신→ToT→아군대상→파티/공대)로 고른 1명만 무장. 해제 대상 없으면 시전 안 함.
## 2.0.1
### Fixed
- **Holy Light / Cleanse on friendly target**: Classic `[@unit,help,nodead][@player]` could fail the `help` check on allies and fall back to self. Now uses prebuilt `[@unit,exists,nodead]` (no self fallback). Friendly `target`/`tot` stabilized to `partyN`/`raidN` when possible.
### 한글
- **성빛·정화 아군 대상**: `help` 실패 후 `[@player]`로 자신에게 나가던 문제 수정. 아군은 `exists,nodead`만 사용(자신 폴백 제거). 가능하면 `party`/`raid` 토큰으로 고정.
## 2.0.0
### Highlights
- **Combat assign lock**: Blessing assignment UI cannot open in combat; the main assign cell is dimmed. Prevents Secure aura-pick click conflicts.
- **Aura picker (combat-safe)**: Known auras stay pre-armed with `/cast`. Open/close is visual + an insecure click shield (works in combat). No `abopen` WrapScript gate.
- **Preset / aura contrast**: Current aura or assign preset (왕구/빛구/힘지) is dimmed; other choices stay bright.
- **Secure combat path**: Cast / util / holy / cleanse / aura continue to avoid protected `SetAttribute` in combat where required.
### 한글
- **전투 중 배정 잠금**: 전투 중 배정 UI를 열 수 없고 배정 칸을 흐리게 표시. 오라 Secure 클릭 충돌 방지.
- **오라 선택(전투 대응)**: 습득 오라는 `/cast`를 미리 무장. 열고 닫기는 표시 + 비Secure 차단막(전투 중에도 동작). 복잡한 `abopen` WrapScript 제거.
- **프리셋/오라 대비**: 현재 오라·배정(왕구/빛구/힘지)은 어둡게, 나머지는 밝게.
- **Secure 전투 경로**: 시전·희축·성빛·정화·오라는 전투 중 보호 API를 건드리지 않는 패턴 유지.
### Tested
- `tools/preflight_test.py`: static 19 pass / 1 warn (main-chunk locals ~197), scenario 15/15 pass.
## 1.3.77
### Changed
- **Assign presets contrast**: Current preset (왕구/빛구/힘지) is dimmed; other selectable presets stay bright with a green-tint border (same idea as aura picks).
### 한글
- **배정 프리셋 대비**: 현재 선택된 왕구/빛구/힘지는 어둡게, 나머지 선택 가능 프리셋은 밝게(연두 테두리).
## 1.3.76
### Fixed
- **Aura cast broken by click shield**: Restored `LeftButtonDown` for Secure `/cast`. Click shield is now a `mainFrame` sibling (not parented over Secure picks); when the list is open it is hidden and `EnableMouse(false)`.
### 한글
- **차단막 때문에 오라 시전 실패**: Secure `/cast`용 `LeftButtonDown` 복구. 차단막을 오라 픽 부모가 아닌 메인 형제 프레임으로 두고, 목록이 열리면 Hide + 마우스 비활성.
## 1.3.75
### Fixed
- **Closed aura misclicks**: Insecure click shield covers armed Secure aura picks while the list is closed (works in combat). Opening the list hides the shield. Assign strip stays above the shield. Aura clicks use LeftButtonUp only.
### 한글
- **닫힌 오라 오클릭**: 목록이 닫혀 있을 때 비Secure 차단막이 무장된 오라 버튼 위 클릭을 막음 (전투 중에도 Show/Hide 가능). 목록을 열면 차단막을 치움. 배정 줄은 차단막보다 위. 오라 클릭은 Up만 사용.
## 1.3.74
### Changed
- **Combat assign button dim**: Main assign cell is dimmed/desaturated while in combat to show it cannot be changed.
### 한글
- **전투 중 배정 칸 흐리게**: 전투 중에는 배정 버튼을 어둡게·흑백 처리해 변경 불가임을 표시.
## 1.3.73
### Changed
- **Combat: assign UI blocked**: Blessing assignment strip cannot open in combat (auto-closes on combat start). Aura picks are simplified to always-armed `/cast` SecureButtons with visual open/close only — no `abopen` WrapScript gate.
### 한글
- **전투 중 배정 UI 차단**: 전투가 시작되면 배정 줄을 닫고, 전투 중에는 배정을 열 수 없음. 오라 선택은 `/cast`를 미리 무장해 두고 목록 표시만 토글 (복잡한 Secure 게이트 제거).
## 1.3.72
### Fixed
- **Combat aura cast**: Keep Secure pick `type="macro"` always; closed state only clears `macrotext`. Combat clicks re-fill `/cast` via WrapScript (same pattern as cast/util buttons). Old aura strip is recreated on reload.
### 한글
- **전투 중 오라 시전**: 선택 버튼 `type`을 지우지 않고 항상 `macro`로 유지. 닫을 때는 `macrotext`만 비움. 전투 중 클릭 시 WrapScript가 `/cast`를 다시 채움 (시전/희축과 같은 방식).
## 1.3.71
### Fixed
- **Combat aura picker clicks**: Closing the aura list no longer `Hide()`s Secure pick buttons (cannot `Show` in combat). Closed state keeps buttons shown but disarmed; combat toggle uses `abopen` + WrapScript again. Assign presets still sit above aura picks to avoid click theft.
### 한글
- **전투 중 오라 선택 클릭**: 목록을 닫을 때 Secure 버튼을 Hide 하지 않음 (전투 중 Show 불가). 닫힌 상태는 표시만 끄고 매크로 해제·`abopen`으로 막고, 전투 중에는 다시 WrapScript로 시전. 배정(왕구) 가로채기 방지는 유지.
## 1.3.70
### Fixed
- **Assign presets vs aura picks**: Closed/hidden aura SecureButtons no longer intercept clicks on 왕구/빛구/힘지. Aura strip is hidden and disarmed while assign is open; assign strip sits above aura picks.
### 한글
- **배정 프리셋 vs 오라 선택**: 오라 목록이 닫혀 있을 때(또는 배정 줄이 열려 있을 때) 투명 오라 버튼이 왕구/빛구/힘지 클릭을 가로채 오라가 바뀌던 문제 수정.
## 1.3.69
### Changed
- **Aura picker contrast**: Active (already on) aura is dimmed/desaturated; other selectable auras stay bright with a green-tint border.
### 한글
- **오라 선택 대비**: 이미 켜진 오라는 어둡게, 고를 수 있는 나머지 오라는 밝게(연두 테두리).
## 1.3.68
### Changed
- **Aura picker brightness**: While the aura list is open, all known auras stay full opacity; only the active aura keeps a green border (no more dimmed “unselectable” look).
### 한글
- **오라 선택 밝기**: 목록이 열려 있을 때 모든 오라를 밝게 표시. 현재 오라만 초록 테두리로 구분 (예전처럼 나머지를 흐리게 하지 않음).
## 1.3.67
### Fixed
- **AuraStrip SetFrameLevel ADDON_ACTION_BLOCKED**: Combat refresh no longer changes aura strip/pick frame levels. Aura list sits above the main bar (not over util seals); combat toggle only adjusts icon/backdrop alpha.
### 한글
- **오라 줄 SetFrameLevel 차단**: 전투 중 FrameLevel 변경 제거. 오라 목록은 메인 위쪽에 두고, 전투 중에는 아이콘 알파만 토글.
## 1.3.66
### Fixed
- **OOM recover visuals**: When mana returns, cast count color and reagent border restore immediately on `UNIT_POWER` (not stuck dimmed until full UI refresh).
### 한글
- **마나 회복 시 버튼 복구**: 마나 차면 숫자·재료 테두리도 바로 원래 색으로 복귀.
## 1.3.65
### Changed
- **OOM disabled look**: On not-enough-mana, cast/reagent/util/holy/cleanse dim and desaturate (not just red border), and secure cast actions stay cleared so clicks do nothing.
### 한글
- **마나 부족 비활성**: 테두리 빨강뿐 아니라 아이콘 회색·어둡게. 시전 액션도 막힌 상태 유지.
## 1.3.64
### Fixed
- **AuraStrip EnableMouse ADDON_ACTION_BLOCKED**: `ApplyAuraStripOverlay` called `EnableMouse` every refresh; with SecureActionButton children that is protected in combat. Mouse is set only at strip creation now.
### 한글
- **오라 줄 EnableMouse 차단**: 전투 중 Refresh마다 `EnableMouse` 호출하던 것 제거. 생성 시에만 설정.
## 1.3.63
### Fixed
- **Combat aura pick clicks**: Raising only the aura strip frame level left pick SecureButtons below util seals, so list clicks hit seals instead. Pick buttons now raise/lower their own frame level with the overlay.
### 한글
- **전투 중 오라 목록 클릭**: 줄만 올리고 픽 버튼 레벨은 그대로라 희축이 클릭을 가로채던 문제 수정. 목록 칸 FrameLevel도 함께 올림.
## 1.3.62
### Fixed
- **ApplyAssignStripOverlay nil**: `RelayoutTopStrips` called the helper before its local definition (Lua resolved a nil global). Moved the function above the caller.
### 한글
- **ApplyAssignStripOverlay nil 오류**: 정의 순서 문제로 nil 호출되던 것 수정.
## 1.3.61
### Fixed
- **Combat aura change**: Aura picks now use `/cast` macros (not `type=spell`, which can fail on enemy targets). Strip stays combat-armed with frame-level overlay so auras can be swapped in combat like the default UI.
### 한글
- **전투 중 오라 변경**: 적 대상이 있어도 되도록 `/cast` 매크로로 변경. 오라 줄을 전투용으로 미리 무장해 전투 중에도 교체 가능.
## 1.3.60
### Changed
- **OOM border**: Cast, utility seals (희·자·보·신), Holy Light, and Cleanse borders turn red when `IsUsableSpell` reports not enough mana; cast/holy/cleanse secure actions are also suppressed while OOM.
### 한글
- **마나 부족 테두리**: 시전·희/자/보/신·성빛·정화가 마나 부족 시 빨간 테두리. 해당 시전 액션도 막음.
## 1.3.59
### Fixed
- **Assign / Aura toggle in combat**: Blessing-assign and aura picker strips no longer no-op in combat. Assign (insecure) can Show/Hide; aura SecureButtons stay pre-armed and toggle via frame level/alpha instead of Show/Hide.
### 한글
- **전투 중 배정·오라 토글**: 전투 중에도 배정/오라 버튼이 열리도록 수정. 배정줄은 Show/Hide, 오라 픽은 미리 준비 후 FrameLevel/Alpha로 전환.
## 1.3.58
### Fixed
- **Settings ADDON_ACTION_BLOCKED**: Opening Interface Options via minimap right-click / `/ab settings` during combat called protected `OpenSettingsPanel`. Now defers open until combat ends.
### 한글
- **설정 창 ADDON_ACTION_BLOCKED**: 전투 중 미니맵 우클릭·`/ab settings`의 `OpenSettingsPanel` 차단 수정. 전투 종료 후 자동으로 엽니다.
## 1.3.57
### Fixed
- **Aura pick / player cells / Cleanse combat**: Aura pick and class-player SecureButtons no longer use insecure `PreClick` `SetAttribute`. Player casts stay blocked in combat via state `block` + WrapScript. Cleanse target/spell now refresh on an unprotected state frame during combat.
### 한글
- **오라 선택·개인 시전·정화 전투 수정**: 오라/직업원 칸 insecure `SetAttribute` 제거. 개인 시전은 전투 중 state로 차단. 정화 대상은 전투 중에도 state 갱신.
## 1.3.56
### Fixed
- **Util bless / Holy Light ADDON_ACTION_BLOCKED**: Combat blocked insecure `PreClick` `SetAttribute` on utility seals (희·자·보·신) and Holy Light. Macros/targets live on unprotected state frames; `SecureHandlerWrapScript` applies them on click.
### 한글
- **유틸 축복/성빛 ADDON_ACTION_BLOCKED**: 전투 중 희·자·보·신·성빛 버튼 `SetAttribute` 차단 수정. state 프레임 + Secure WrapScript로 클릭 시 매크로 적용.
## 1.3.55
### Fixed
- **Bless cast ADDON_ACTION_BLOCKED**: Combat blocked insecure `PreClick` `SetAttribute` on the cast/reagent buttons. Next cast target is stored on an unprotected state frame (updatable in combat); `SecureHandlerWrapScript` applies `macrotext` on click.
### 한글
- **축복 시전 ADDON_ACTION_BLOCKED**: 전투 중 시전/재료 버튼 `SetAttribute` 차단 수정. 대상은 비보호 state에 저장(전투 중 갱신) → 클릭 시 Secure WrapScript가 매크로 적용.
## 1.3.54
### Changed
- **Holy Light timer**: Overlay shows **remaining cast time** to finish Holy Light (not GCD), one decimal place; ticks while casting.
### 한글
- **성빛 타이머**: 글쿨이 아니라 **시전 완료까지 남은 시간**(소수점 1자리). 시전 중 갱신.
## 1.3.53
### Changed
- **Holy Light GCD text**: Cooldown overlay shows one decimal place (e.g. `1.2`).
### 한글
- **성빛 글쿨 표시**: 소수점 1자리까지 표시 (예: `1.2`).
## 1.3.52
### Fixed
- **Cleanse button glow**: Icon/button light up when there is something to dispel (previously stayed dim even with cleansable debuffs).
### 한글
- **정화 버튼 밝기**: 해제할 디버프가 있으면 아이콘·테두리가 밝아짐 (이전엔 있어도 어둡게 보이던 문제).
## 1.3.51
### Fixed
- **Cleanse ADDON_ACTION_BLOCKED**: Insecure `PreClick` `SetAttribute` during combat is blocked. Cleanse now uses `SecureHandlerBaseTemplate` + `WrapScript` so macro attributes are set securely on click. Priority is **self → tot → friendly target → group**. Debuff type detection hardened via `UnitAura(..., "HARMFUL")`.
### 한글
- **정화 ADDON_ACTION_BLOCKED**: 전투 중 insecure `PreClick`의 `SetAttribute`가 막히던 문제 수정 (`SecureHandler` WrapScript). 우선순위 **자신 → ToT → 아군대상 → 나머지 파티/공대원**. 독/질병 감지 보강.
## 1.3.50
### Fixed
- **Cleanse in combat**: Self-cleanse no longer uses `[@player,help]` (same client quirk as Holy Light). Non-self casts keep `help,nodead` with `[@player]` fallback. Friendly **target** is now in the resolve order (tot → target → self → group).
### 한글
- **전투 중 정화**: 자신 정화 시 `[@player,help]` 제거(성빛과 동일 이슈). 타인 시전은 `help,nodead` + `[@player]` 폴백. 우선순위에 **아군 대상** 추가 (ToT → 대상 → 자신 → 공대).
## 1.3.49
### Docs
- **PDF manual**: Added `WOWINVEN_사용설명서.pdf` (rebuild via `tools/build_manual_pdf.py`).
### 한글
- **PDF 설명서**: `WOWINVEN_사용설명서.pdf` 추가 (`tools/build_manual_pdf.py`로 재생성).
## 1.3.48
### Docs
- **UI layout copy**: Middle row documented correctly as **cast 1 / assign 2 / aura 1** (manual + in-game help + diagram).
### 한글
- **UI 배치 문구**: 중간줄을 **시전 1칸 · 배정 2칸 · 오라 1칸**으로 정정 (설명서·인게임 도움말·배치도).
## 1.3.47
### Docs
- **WoW Inven manual**: Illustrated user guide (`WOWINVEN_사용설명서.html` / `-게시용.html` / `.md`) with diagrams under `docs/wowinven/`.
### 한글
- **와우인벤 사용 설명서**: 그림 포함 가이드 추가 (`WOWINVEN_사용설명서*` · `docs/wowinven/`).
## 1.3.46
### Fixed
- **Holy Light — Morogrim refresh**: Update holy-button state on combat start, boss engage, and group-member `UNIT_TARGET` (not only your own target).
- **Holy Light — name match**: Drop bare `Tidewalker` substring match to avoid false positives; keep NPC id / `모로그림` / `겅둥파도` / `Morogrim`.
- **Holy Light — warlock pick**: Prefer in-range warlocks before lowest-HP (avoids OOR cast killing the click).
### 한글
- **성스러운 빛 — 갱신**: 전투 시작·보스 등장·공대원 대상 변경 시에도 모로그림 판별/테두리 갱신.
- **성스러운 빛 — 이름 매칭**: `Tidewalker` 단독 부분일치 제거(오탐 방지). NPC ID·`겅둥파도`/`모로그림`/`Morogrim` 유지.
- **성스러운 빛 — 흑마 선택**: 사거리 안 흑마를 우선(사거리 밖만 최저면 시전 실패하던 문제 완화).
## 1.3.45
### Changed
- **Holy Light — boss label**: UI/tooltips now show the full Korean name **겅둥파도 모로그림** (match still uses NPC id / partial name).
### 한글
- **성스러운 빛 — 보스 표기**: 안내 문구를 정식명 **겅둥파도 모로그림**으로 통일 (판별은 NPC ID·부분일치 유지).
## 1.3.44
### Changed
- **Holy Light — Morogrim**: Prot priority no longer requires Morogrim as your target. Detects the fight via `bossN` / your target / any group member’s target while you are in combat, then heals the lowest-HP warlock.
### 한글
- **성스러운 빛 — 겅둥파도 모로그림**: 보기가 보스를 **직접 대상**할 필요 없음. 전투 중 `boss`/내 대상/공대원 대상으로 판별한 뒤 흑마 최저체력에 성빛.
## 1.3.43
### Fixed
- **Lua local limit**: Packed layout/lock helpers into one `Lyt` table so the main chunk stays under Lua’s 200 local-variable limit.
### 한글
- **local 200개 한도**: 레이아웃·자물쇠 헬퍼를 `Lyt` 테이블로 묶어 `main function has more than 200 local variables` 오류 수정.
## 1.3.41
### Fixed
- **Lock off-screen**: Bad absolute coordinates from earlier scale experiments could place the lock outside the screen. Resets once to center and clamps on load/drag-stop.
### 한글
- **자물쇠 화면 밖**: 예전 스케일 보정 좌표 때문에 자물쇠가 화면 밖으로 나가던 문제 수정. 중앙 근처로 한 번 리셋·화면 안 검사.
## 1.3.40
### Fixed
- **Lock as true pivot**: Lock button is now on `UIParent` (not scaled). Main UI anchors to the lock, so resizing only grows/shrinks the chip right/down — lock stays put.
### 한글
- **자물쇠 진짜 고정**: 자물쇠를 메인 UI 자식이 아니라 별도 버튼으로 분리. 크기 바꿔도 자물쇠는 그대로, UI만 오른쪽·아래로 변함.
## 1.3.39
### Changed
- **Lock icon size**: The lock button stays at **100% visual size** (counter-scaled) while the rest of the main UI scales.
### 한글
- **자물쇠 크기 고정**: UI 크기와 관계없이 자물쇠만 **100%일 때 크기**를 유지.
## 1.3.38
### Fixed
- **UI scale lock pivot**: Scale now keeps the **lock icon center** fixed on screen and re-anchors the frame to `TOPLEFT`, so the chip grows/shrinks to the **right and down** only.
### 한글
- **크기 기준 = 자물쇠**: 자물쇠 중심은 화면에 고정하고, UI만 **오른쪽·아래**로 커지거나 작아지도록 수정.
## 1.3.37
### Fixed
- **UI scale slider drift**: Scale math now pins the lock icon with `GetLeft/Top * scale` compensation; slider applies on mouse-up (not every drag tick) so the chip no longer wanders.
### 한글
- **크기 슬라이더 위치 튐**: 자물쇠를 `GetLeft/Top × scale`로 고정 보정하고, 드래그 중이 아니라 **마우스를 뗄 때** 적용해 창이 돌아다니던 문제 수정.
## 1.3.36
### Fixed
- **Main UI scale pivot**: Changing size keeps the **lock icon** screen position fixed (frame offset is compensated). Roster preview still unaffected.
### 한글
- **메인 UI 크기 기준점**: 크기 변경 시 **자물쇠** 화면 위치가 그대로 두고 커지거나 작아짐. 확인 창은 여전히 미적용.
## 1.3.35
### Added
- **Settings — main UI scale**: Slider (50%–150%) in the options panel. Affects the main chip UI only; the roster preview (“확인”) window stays at 100%.
### 한글
- **설정 — 메인 UI 크기**: 설정창에 50%~150% 슬라이더 추가. 메인 칩만 적용되며 **확인(로스터) 창은 그대로**.
## 1.3.34
### Fixed
- **Holy Light self cast**: Macro used `[@player,help,nodead]`, which often fails on the player unit. Solo (enemy ToT = you) and no-target now cast with `[@player]`. ToT-is-self is resolved as player.
### 한글
- **성스러운 빛 자신 시전**: `[@player,help]` 조건 때문에 솔로 사냥(몹→나)·대상 없음일 때 시전이 안 되던 문제 수정. 자신은 `[@player]`로 시전.
## 1.3.33
### Changed
- Maintenance build / version bump. No feature changes.
### 한글
- 유지보수 배포(버전 갱신). 기능 변경 없음.
## 1.3.32
### Changed
- Aura switching is allowed while flying (only utility/bless casts stay blocked).
### 한글
- **비행 중 오라 변경 허용**. 희·자·보·신·성빛·정화·축복 시전만 계속 차단.
## 1.3.31
### Changed
- Main assign/cast buttons no longer participate in window drag (tooltip + leftover drag handlers cleared). Move only via unlocked lock icon.
### 한글
- 배정·시전 버튼에서 드래그/이동 안내 제거. 창 이동은 **자물쇠 해제 후 자물쇠 드래그**만.
## 1.3.30
### Changed
- Reverted the 올구 tank **X** UI marker; tanks are simply omitted from the Salv target list again.
### 한글
- 올구 탱커 **X** 표시를 되돌림. 탱커는 다시 구축 대상 목록에서만 제외.
## 1.3.29
### Changed
- **올구**: tanks still appear in the class strip with a desaturated Salvation icon and **X** (instead of T) to show they are excluded from Salv casting.
### 한글
- **올구**: 탱커 칸은 구축 아이콘을 흐리게 두고 T 대신 **X**로 표시 (시전 대상 아님).
## 1.3.28
### Changed
- **올구**: classes with a tank use normal Salvation on non-tanks only (no greater on that class); tanks are excluded. Classes without a tank still get greater Salvation.
### 한글
- **올구**: 탱커 있는 직업은 상급구축 안 씀 → 비탱만 일반구축, 탱커 제외. 탱커 없는 직업은 상급구축 유지.
## 1.3.27
### Changed
- Selecting a preset (왕구/빛구/힘지) closes the assign strip immediately.
### 한글
- **왕구·빛구·힘지** 프리셋 선택 시 배정 창을 바로 닫음.
## 1.3.26
### Changed
- Paladin short class label is **기사** (not 성기) in UI copy and `ShortClassName`.
### 한글
- 성기사 줄임말을 **성기→기사**로 통일 (확인 창·툴팁 등).
## 1.3.25
### Changed
- **Confirm window** reflects assign-based scan: subtitle + per-row notes for 힘지 (talent), 구축 (tank/raid only), or no scan.
### 한글
- **확인** 창에 배정별 스캔 안내 반영: 힘지=특성 / 구축=탱커·공대 구분 / 그 외=스캔 없음.
## 1.3.24
### Changed
- **Confirm scan by assign**: **힘지** → hybrid talent rescan (Druid/Paladin/Shaman); **구축 included** (왕구/빛구/…) → main-tank resync only; other assigns skip both.
### 한글
- **확인** 스캔을 배정에 맞게: **힘지**만 힘지 직업 특성 재스캔 / **구축 포함**이면 방어전담만 재확인 / 그 외는 추가 스캔 없음.
## 1.3.23
### Changed
- Slightly smaller icons in chips (more padding) so cells look less filled.
### 한글
- 칸 대비 아이콘 크기 아주 조금 축소 (여백↑).
## 1.3.22
### Changed
- **Preset buttons (왕구/빛구/힘지)**: Width is now `2×cell + gap` (`GridSpanW(2)`), aligned to the blessing icon grid below.
### 한글
- **왕구·빛구·힘지** 프리셋 버튼 가로 = 칸 2개 + 사이 간격(예: 1+0.1+1=2.1). 아래 축복 아이콘 그리드와 맞춤.
## 1.3.21
### Changed
- **Assign cell always merged**: 왕구/빛구/힘지 also use one 2-column chip with two icons inside (same footprint as single-bless), so the main grid stays a clean 4-column board.
### 한글
- **배정 칸**은 올왕뿐 아니라 왕구·빛구·힘지도 **항상 2칸 합친 한 박스**. 아이콘 2개는 그 안에 배치해 바둑판 정렬 유지.
## 1.3.20
### Fixed
- **Main panel backdrop**: Removed the large dialog box behind the 12 chip buttons; parent frame is now transparent (chips only).
### 한글
- 기본 12칸 버튼 **뒤에 보이던 큰 박스 배경** 제거. 부모 프레임은 투명, 칩 버튼만 표시.
## 1.3.19
### Changed
- **Single-bless assign UI**: One blessing merges into a single 2-column cell (not a centered overlay on two boxes), with icon + **A** in the middle.
### 한글
- **축복 1개 배정**: 두 칸 위에 아이콘만 올리는 방식이 아니라, 왕구·빛구처럼 **칸 자체가 합쳐진** 한 칸 + 중앙 아이콘·A.
## 1.3.18
### Changed
- Changelog entries list English first, then Korean.
### 한글
- 변경 로그를 영문 우선 → 한글 순서로 정리.
## 1.3.17
### Changed
- Player cell name shows up to 4 characters.
### 한글
- 플레이어 칸 이름 최대 4글자.
## 1.3.16
### Changed
- Smaller remain-time font on player cells and reagent cell.
### 한글
- 플레이어 칸·재료 칸 잔여시간 글자 조금 축소.
## 1.3.15
### Changed
- Unknown/very-long buff remain shows `--` instead of `∞`.
### 한글
- 잔여시간 미확인·비정상으로 길 때 `∞` 대신 `--` 표시.
## 1.3.14
### Changed
- More inset from cell borders for player **R**/remain time and reagent count/remain time.
### 한글
- 플레이어 칸 R·잔여시간, 재료 칸 개수·잔여시간을 테두리에서 조금 띄움.
## 1.3.13
### Changed
- Player cell remaining time text is right-aligned.
### 한글
- 플레이어 칸 잔여 시간 우측 정렬.
## 1.3.12
### Changed
- **Player cell width**: Same size as class chips again; internal layout fix only (no widening).
### 한글
- **플레이어 칸 폭**을 직업 칸과 다시 동일하게. 내부 배치 수정만 유지.
## 1.3.11
### Fixed
- **Font not set**: Player tank badge FontString gets a font before `SetText`.
### 한글
- 플레이어 칸 탱커 표시 FontString이 폰트 없이 `SetText` 되던 오류 수정.
## 1.3.10
### Fixed
- **Player cell layout**: Text column for name/time so labels no longer clip to `...`.
### 한글
- **플레이어 칸** 내부 배치 조정. 이름/잔여시간이 `...`로 잘리던 문제 완화.
## 1.3.9
### Changed
- **Confirm always rescans hybrids**: Every Confirm force-inspects all Druid/Paladin/Shaman. Roster change is chat-only; tanks resync every time.
### 한글
- **확인**마다 힘지 직업(드루/성기/술사) **전원** 재스캔. 인원 변경은 안내만, 방어전담은 매번 재확인.
## 1.3.8
### Fixed
- **Lua 200 local limit**: Folded helpers into tables so the main chunk loads again.
### 한글
- **로컬 변수 200개 초과**로 애드온이 안 뜨던 문제 수정.
## 1.3.7
### Changed
- **Confirm-driven scan**: No background hybrid rescan. Confirm always rechecks main tanks; first Confirm full hybrid scan; later Confirms only new/unscanned hybrids when roster changed (superseded by 1.3.9 always-full hybrid).
- Live **MAINTANK/role** priority in `IsUnitTank`.
### 한글
- **확인** 중심 스캔(이후 1.3.9에서 힘지 매번 전체로 강화). 탱커는 실시간 MT/역할 우선.
## 1.3.6
### Changed
- Live main-tank watch on roster/role events; shorter hybrid cache in raid (later moved to Confirm-driven in 1.3.7+).
### 한글
- 방어전담 실시간 반영·공격대 힘지 캐시 단축(이후 확인 중심으로 재설계).
## 1.3.5
### Fixed
- **Inspect only hybrid classes**: Confirm queues talent inspect for Druid / Paladin / Shaman only.
### 한글
- **특성 스캔**은 힘지 갈리는 **드루·성기·술사만**.
## 1.3.4
### Changed
- **Faster inspect queue**: Next inspect after `INSPECT_READY` (~0.15s); 0.8s timeout only if READY never arrives.
### 한글
- **특성 스캔 간격** 인당 고정 1.5초 제거. READY 오면 바로 다음 대상.
## 1.3.3
### Added
- **Confirm → main-tank resync**: Re-reads raid **MAINTANK** into the tank list used for A/T assignment.
### 한글
- **확인** 열 때 공격대 **방어전담**을 다시 읽어 탱커 목록 반영.
## 1.3.2
### Added
- **Confirm → hybrid talent rescan**: Forced inspect for Druid / Paladin / Shaman only (ignores 5-minute cache).
### 한글
- **확인** 열 때 힘지 직업(**드루·성기·술사**)만 특성 강제 재스캔.
## 1.3.1
### Added
- **Single-bless assign display**: One blessing (e.g. Kings only) centered across both assign slots with an **A** badge.
- **WoW Inven HTML**: Landing preview + inline post draft.
### Changed
- **Move UI**: Unlock then drag the **lock icon** only.
- **Main UI scale**: Default restored to **1.0**. Roster Confirm stays at 1.0.
- **Class strip “always”**: Turning off closes the strip immediately.
- **Tooltip delay**: 1.5s. **Lock icon**: 28px.
- Settings help: remove CurseForge logo path note.
### Fixed
- Flying cast block covers util row, Holy Light, Cleanse, aura picks — not only bless cast.
### 한글
- **축복 1개 배정**: 두 칸 정중앙 + **A**.
- **이동**: 자물쇠 드래그만. 메인 UI 기본 1.0.
- 직업줄 항상표시 OFF 시 바로 접힘. 툴팁 1.5초.
- **비행 중** 시전 차단 범위 정리. 와우인벤 소개 HTML 추가.
## 1.3.0
### Added
- **Minimap button**: Left-click toggles UI; right-click settings/help; Shift+drag to move.
- **Interface Options panel**: Esc → AddOns → Auto Bless.
- **CurseForge assets**: 400×400 logo and minimap icon.
- **README.md**.
### Changed
- **Flying lock**: Block util row, Holy Light, Cleanse, bless cast (+reagent). Assignment and Confirm stay usable.
- Paladin-only runtime; `/ab settings` still opens options on any class.
### 한글
- **미니맵**·**설정창**·CurseForge 에셋·README 추가.
- **비행 중** 시전 차단. **배정·확인**만 사용 가능.
## 1.2.2
### Changed
- Split UI: **main button** = assign edit/display, **cast button** = missing-buff cast.
- Assign edits apply to the main button only after **Save**.
- Aura: top click → picker → apply immediately.
### 한글
- UI 분리: **메인 버튼**=축복 배정, **시전 버튼**=미축 시전.
- 배정 편집 후 **저장** 필요. 오라는 선택 즉시 변경.
## 1.2.1
### Changed
- Assign label moved to the **left** of the main button.
- Aura cycle button above main (left=next / right=prev).
### 한글
- 배정명을 메인 버튼 **좌측**으로. 상단 오라 변경 버튼 추가.
## 1.2.0
### Added
- Hybrid talent status on name cells (`✓` / `~` / `?`).
- Cast count: **in-range|total**; tooltip shows OOR and next target.
- Assign presets: **왕구 / 빛구 / 힘지**.
- Party tank right-click highlight; `/ab strip always`, `/ab scale`, lock button.
- Test range force: `/ab test party|raid|auto`.
### 한글
- 힘지 특성 상태 표시, 시전가능|전체, 배정 프리셋, 탱커 하이라이트, `/ab strip always`·scale·잠금, 테스트 범위.
## 1.1.0
### Added
- **Test** button: paste RRINVITE-style roster → right-click class assign preview (no cast).
- Preview rows show assigned blessing labels.
### 한글
- **Test** 로스터 미리보기. 미리보기 칸에 배정 축복 표시.
## 1.0.9
### Changed
- If Salvation is in a 2-bless assign, order is auto-fixed so **A = Salvation**.
### 한글
- 배정 2개에 구축 포함 시 항상 **A=구축**으로 순서 보정.
## 1.0.8
### Changed
- Assign labels: raid/2-tank → **A** (raid) / **T** (tank).
### 한글
- 배정 표시: 1공대/2탱 → **A** / **T**.
## 1.0.7
### Changed
- Hybrid: Hunter primary blessing set to **Wisdom** (mana).
### 한글
- 힘지: 사냥꾼 주력 축복을 **지축**으로 변경.
## 1.0.6
### Fixed
- Hybrid Druid logic: bear tank = Might; Boomkin/Resto = Wisdom (majority greater / minority normal).
### 한글
- 힘지 드루 판정 개선 (조드가 힘축으로 잡히던 문제 수정).
## 1.0.5
### Changed
- Greater assigns use greater icons; tank normal assigns use normal icons.
### 한글
- 상급/일반 배정에 맞는 아이콘 표시.
## 1.0.4
### Changed
- Two-bless assign: **1st = raid (greater), 2nd = tank (normal)**; Might+Wisdom exception (no tank split).
- **Reset** on assign UI.
### 한글
- 배정 2개: 1번=공대(상급), 2번=탱커(일반). 힘지만 예외. Reset 추가.
## 1.0.3
### Changed
- Left-click always casts only (assign UI separated).
- Assign via top **label** click.
- Cast via PallyPower-style `/cast [@unit]` macro.
### 한글
- 좌클릭=시전만. 배정은 상단 배정명. `/cast [@unit]` 매크로.
## 1.0.2
### Changed
- Free pick of 1–2 blessings instead of fixed presets (Kings/Salv/Might/Wisdom/Light/Sanct).
### 한글
- 축복 1~2개 자유 선택. `/ab assign` 지원.
## 1.0.1
### Changed
- Right-click UI: class icons expand under the main button (PallyPower-style).
- Class click expands players; left-click player casts assigned blessing.
### 한글
- 우클릭 직업 아이콘 펼침. 인원 좌클릭으로 개별 시전.
## 1.0.0
### Added
- Initial release: one-button paladin blessing helper.
- Modes: **Kings+Salv** / **Light+Salv** / **Might+Wisdom**.
- Left-click: cast next needed blessing; right-click: class strip.
- Duration thresholds; slash: `/ab`, `/ab mode`, `/ab refresh`, `/ab lock|unlock`, `/ab status`.
### 한글
- 최초 공개. 왕구/빛구/힘지. 좌클릭 시전·우클릭 직업줄. 임계 잔여시간·슬래시 명령.
This mod has no additional files

