File Details
PlaterTOT 2.3.1.zip
- R
- Apr 3, 2026
- 233.52 KB
- 545
- 2.5.5
- Classic TBC
File Name
PlaterTOT 2.3.1.zip
Supported Versions
- 2.5.5
# PlaterTOT Changelog
All notable changes to this project will be documented in this file.
이 파일은 **영문** 본문 아래에 같은 버전별 **한글** 요약을 둡니다.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
---
## [Unreleased]
- None.
### 한글
- 없음.
---
## [2.3.1] - 2026-04-03
### Changed
- **Righteous Fury off warning sound**: Replaced custom `rf_warning2.mp3` with the default UI **raid warning** sound (`SOUNDKIT.RAID_WARNING` when available, fallback sound kit `8959`). **No sound while dead or ghost**; the on-screen **"정의의 격노 OFF"** text still shows, and sounds resume after resurrection when RF is still off.
### 한글
- **정의의 격노 꺼짐 알림음**: 커스텀 mp3 대신 **기본 공격대 경보** 계열(`SOUNDKIT.RAID_WARNING`, 없으면 `8959`). **죽음·유령 상태에서는 소리 없음**, 경고 문구만 표시. 부활 후에도 격노가 꺼져 있으면 다시 주기적으로 재생.
---
## [2.3.0] - 2026-04-02
### Added
- **Righteous Fury (정의의 격노) warning for Protection Paladin**
- When the player is a Protection Paladin (detected via `DF:GetRoleByClassicTalentTree()`) and Righteous Fury is **off**, a large red pulsing text **"정의의 격노 OFF"** is displayed at the top center of the screen.
- When Righteous Fury has **less than 3 minutes** remaining, the text changes to a yellow countdown (e.g., "정의의 격노 2분 30초") without pulsing.
- A default **raid warning** UI sound plays every **5 seconds** while Righteous Fury is off (no custom mp3).
- The warning is automatically disabled for non-Protection Paladins (Holy, Retribution) and non-Paladin classes.
- Toggle on/off via `/platertot rf on` or `/platertot rf off`.
- Debug info available via `/platertot rf debug`.
### 한글
- **보호 성기사 정의의 격노 꺼짐 경고 추가**
- 보호 전문화 성기사일 때 정의의 격노가 꺼져 있으면 화면 상단 중앙에 빨간색 깜빡이는 **"정의의 격노 OFF"** 텍스트 표시.
- 정의의 격노 남은 시간이 3분 이내이면 노란색 카운트다운 표시 (예: "정의의 격노 2분 30초").
- 정의의 격노가 꺼진 동안 5초마다 기본 공격대 경보 계열 효과음 재생.
- 신성/징벌 성기사 및 다른 직업에서는 자동 비활성.
- `/platertot rf on|off` 로 켜기/끄기, `/platertot rf debug` 로 상태 확인 가능.
---
## [2.2.14] - 2026-03-09
### Fixed
- **Auto “Tank Threat Colors” looked like DPS** – Plater could leave **`Plater.PlayerIsTank` false** on some clients even when **`tank_threat_colors`** was **true** (profile matched but threat palette stayed DPS). **`syncPlaterTankThreatColors`** no longer returns early when the profile already matches; after **`RefreshTankCache`**, if we want tank colors and **`PlayerIsTank`** is still false, we set **`PlayerIsTank = true`** and call **`UpdateAllNameplateColors`** when needed.
### 한글
- **탱 위협 색 자동 맞춤이 딜 색처럼 보임** – 프로필 **`tank_threat_colors`** 는 맞는데 Plater가 **`PlayerIsTank`** 를 안 올리는 경우가 있어 위협 색이 딜 팔레트로 남던 문제. 프로필이 이미 맞아도 동기화 루틴을 돌리고, 필요 시 **`PlayerIsTank`** 보정 후 이름표 색 갱신.
---
## [2.2.13] - 2026-03-09
### Changed
- **TOT (`T : …`) bar height** – Default **`totBarHealthFraction`** is now **`0.80`** (80% of Plater **threat/health bar** height). Slash **`tot fraction`** allows **12%–92%** (was capped at 65%). Existing SavedVariables keep their value; use **`/platertot tot fraction 80`** to match.
- **Nameplate mana fill** – Back to **mana blue** (`GetColorForPowerType` / `PowerBarColor.MANA`, fallback `0.25, 0.55, 1`). **Thin white 1px border** (four `OVERLAY` lines, sublevel 6) on both the **in-health** mana strip frame and the **auxiliary** strip frame so the bar reads on threat-colored health.
### 한글
- **TOT 막대** – 기본 높이 **체력(위협)바의 80%**. `tot fraction` 허용 **12~92%**. 예전 저장값 유지 시 **`tot fraction 80`**.
- **마나 띠** – 채움 **마나 파랑** 복원, **1px 흰 테두리**(안쪽 스트립·보조 띠 공통).
---
## [2.2.12] - 2026-03-09
### Fixed
- **Yellow fixed mana strip / bar not moving** – **`mana mdebug`** used to draw a **yellow, ~45% width** fill and **return early**, so the bar **never tracked real mana** and looked “stuck.” That debug overlay is **removed**; mdebug now only toggles the **status line** flag (`/platertot`). Mana strips use the **same white, live fill** as normal.
- **Smoother updates** – Added **`pollNameplateManaBars()`** every **~0.05s** (in addition to power events and the 0.15s TOT loop) so nameplate mana **cur/max** refresh even when **`UNIT_POWER_*`** fires rarely.
- **White inner bar** – **`applyManaBarColor`** now sets both **texture vertex color** and **`SetStatusBarColor(1,1,1)`** so the fill stays white.
### 한글
- **노란색·고정 마나바** – **`mana mdebug`** 가 켜져 있으면 예전에 **노란색·약 45% 고정** 띠만 그리고 **실제 마나 갱신을 막았음**. 그 **시각 디버그 제거**; mdebug는 **`/platertot` 상태줄 표시용**만. 마나 띠는 항상 **흰색·실제 비율**.
- **갱신** – **`UNIT_POWER`** 가 드문 빌드 대비 **약 0.05초마다** 이름표 마나 폴링.
- **흰색** – StatusBar에 **`SetStatusBarColor`** 도 적용.
---
## [2.2.11] - 2026-03-09
### Fixed
- **Nameplate mana fill stuck / wrong % (e.g. ~40%)** – `updateManaBarFillForUnit` could mix **`UnitPower(..., nil)`** with a fallback **`maxp = 1`**, producing nonsense ratios. Mana is now read with **`getNameplateUnitManaCurMax`**: try **`UnitPower` / `UnitPowerMax` on the same power slot** in order **mana index `0` → `Enum.PowerType.Mana` → `nil`**, never mixing slots. Removed the **`maxp = 1`** clamp; if max cannot be read, the bar update is skipped.
### 한글
- **이름표 마나 바 % 고정(약 40% 등)** – `nil`로 읽은 값과 `maxp = 1` 폴백이 섞이면 비율이 깨짐. **`getNameplateUnitManaCurMax`**로 **같은 파워 슬롯**에서 cur/max를 함께 읽고, 순서는 **0 → Enum.Mana → nil**. **`maxp = 1` 강제 제거**; max를 못 읽으면 갱신 생략.
---
## [2.2.10] - 2026-03-09
### Changed
- **Mana strip smoothness** – Refresh auxiliary strip and in-bar mana on **`UNIT_POWER_FREQUENT`** and **`UNIT_MAXPOWER`** (in addition to `UNIT_POWER_UPDATE`), so fill tracks current/max mana closer to real-time on ticks and channeling. Unsupported events are skipped via `pcall` on register.
### 한글
- **마나 띠 갱신** – `UNIT_POWER_UPDATE` 외에 **`UNIT_POWER_FREQUENT`**, **`UNIT_MAXPOWER`**에서도 보조 띠·체력바 안쪽 마나를 갱신해 틱·채널링 등에서 현재/최대 마나에 더 가깝게 따라감. 클라이언트에 없는 이벤트는 등록 시 `pcall`로 건너뜀.
---
## [2.2.9] - 2026-03-09
### Fixed
- **Non-mana units still showing a strip** – `plateUnitHasMana` no longer treats NPCs as mana when only power slot 0 had a max, and no longer guesses mana from enemy **class**. It now returns true only when **`UnitPowerType` is mana** (token/`0`/`Enum.PowerType.Mana`) **and** `UnitPowerMax(unit) > 0` for the primary resource.
- **`mana mdebug`** – Yellow test strip only on **mana** nameplates (same rule), so warriors etc. stay clean while debugging.
### 한글
- **비마나에도 띠가 보이던 문제** – 슬롯 0만 보고 NPC를 마나로 보던 분기·적 직업 추정을 제거. **`UnitPowerType`이 마나**이고 **주 자원** `UnitPowerMax(unit) > 0`일 때만 참.
- **`mana mdebug`** – 노란 테스트 띠는 **마나 이름표에만** (전사 등은 디버그 중에도 깨끗하게).
---
## [2.2.8] - 2026-03-09
### Changed
- **Auxiliary mana strip** – Shown **only for mana units** (no more health-based green fallback for rage/energy/etc.).
- **Mana fill color** – In-health mana bar and auxiliary strip use **white** fill so the bar stays visible on Plater **threat-tinted** health bars (replaces blue/mana power color).
### 한글
- **보조 띠** – **마나 유닛만** 표시(분노·기력 등 체력 초록 대체 제거).
- **마나 채움 색** – 안쪽 마나·보조 띠 채움 **흰색**(Plater **위협색** 체력바와 겹쳐도 보이도록, 예전 파랑/파워 색 대체).
---
## [2.2.7] - 2026-03-09
### Changed
- **TOT (`T : …`) bar height** – No longer a fixed pixel height; it scales as **`Plater health bar height × totBarHealthFraction`**. New saved default **`totBarHealthFraction = 0.36`** (~36%). Allowed range **12%–65%** via **`/platertot tot fraction 0.36`** or **`/platertot tot fraction 36`** (percent when `> 1`). Status line (`/platertot` / `tt`) shows the current percent. Target-highlight neon strips follow the bar height when Plater’s profile height is unset (stored refs updated each tick when TOT is visible).
### 한글
- **TOT 막대 높이** – 고정 픽셀 대신 **`Plater 체력바 높이 × totBarHealthFraction`**. 저장 기본 **0.36**(약 36%). **`/platertot tot fraction 0.36`** 또는 **`36`**(1 초과면 퍼센트). 상태 줄에 현재 % 표시. Plater 네온 하이라이트는 프로필 높이 없을 때 막대 높이에 맞춤.
---
## [2.2.6] - 2026-03-09
### Changed
- **TOT (`T : …`) bar** – Bar height reduced from **14px to 12px**; anchor offset adjusted so the label stays aligned with the health bar top. Plater target-highlight neon default height follows the bar when profile height is unset.
### 한글
- **TOT 막대** – 높이 **14px → 12px**, 앵커 조정으로 체력바 상단과 정렬 유지. 네온 기본 높이도 막대에 맞춤.
---
## [2.2.5] - 2026-03-09
### Changed
- **Thinner default mana strip** – Default **`nameplateManaHealthFraction`** is now **`0.90`** (~**10%** of health bar height for the bottom strip, was ~20% at `0.80`). Slash **`mana fraction`** max raised to **`0.95`** (~5% strip). Existing SavedVariables unchanged; use `/platertot mana fraction 0.90` (or up to `0.95`) to match.
### 한글
- **더 얇은 기본 마나 띠** – 기본 **`nameplateManaHealthFraction` = `0.90`**(하단 약 10%, 예전 0.80은 약 20%). 슬래시 상한 **0.95**(약 5%). 기존 저장값은 유지; 맞추려면 `/platertot mana fraction 0.90` 등.
---
## [2.2.4] - 2026-03-09
### Fixed
- **Mana strip draw order** – Plater’s center health text (`lifePercent`) uses **OVERLAY sublevel 5**. Mana strip textures were also on OVERLAY **5 / 8**, so they could paint on top of the numbers. Strips now use **OVERLAY 2 (background) and 4 (fill)**, i.e. between the health bar fill and the percent text. Auxiliary mini-strip aligned; **FrameLevel** for these frames lowered slightly since ordering is handled by draw layer.
### 한글
- **마나 띠 그리기 순서** – Plater 가운데 체력 수치는 **OVERLAY 5**. 마나 띠가 **5/8**이라 수치를 가릴 수 있어 **배경 2·채움 4**로 조정(체력 채움과 수치 사이). 보조 띠 동일. **FrameLevel**은 약간 낮춤.
---
## [2.2.3] - 2026-03-09
### Changed
- **Mana / auxiliary strip height** – Uses **`(1 - nameplateManaHealthFraction) × health bar height`**, no extra 8–16px clamp on the auxiliary strip. Default **`nameplateManaHealthFraction` is now `0.80`** (new saves) so the strip is **~20%** of Plater health bar height. Existing SavedVariables keep their value; use `/platertot mana fraction 0.80` to match.
### 한글
- **마나·보조 띠 높이** – **`(1 - 비율) × 체력바 높이`**, 보조 띠 **8~16px** 캡 제거. 신규 저장 기본 **0.80**(하단 약 20%). 기존 값 유지; 맞추려면 `mana fraction 0.80`.
---
## [2.2.2] - 2026-03-09
### Changed
- **Auxiliary mini-strip (ex-`M :` label)** – Text removed; only the **background + fill bar** remains (full usable width of the health bar band). Mana = blue fill %, non-mana health fallback = green fill %. **`mana mdebug`** shows a **yellow partial fill** with no text.
### 한글
- **보조 미니 띠** – 텍스트 제거, **배경+채움**만(대역 전폭). (당시) 마나=파랑 %, 비마나=체력 초록 %. **`mdebug`** 노란 부분 채움.
---
## [2.2.1] - 2026-03-09
### Changed
- **`M :` mini-bar placement** – Anchored **inside** the threat-colored health bar on **`FrameOverlay`**: bottom band (~25% of bar height, max 16px), with **OVERLAY** textures and high **FrameLevel**, so it no longer sits under the nameplate name. When the **in-bar mana strip** is active for a mana unit, the **`M :` label hides** to avoid stacking the same info in the same band (health-fallback `M :` for non-mana units unchanged).
### 한글
- **`M :` 미니바 위치** – **`FrameOverlay`** 안 체력바 하단 밴드, **OVERLAY**·높은 **FrameLevel**. 안쪽 마나 띠 켜진 마나 유닛에서는 **M : 숨김**(중복 방지).
---
## [2.2.0] - 2026-03-09
### Changed
- **Mana strip layering & placement** – Parent the in-health mana strip to Plater’s **`healthBar.FrameOverlay`** when present so it sits above the threat-colored health fill; **`SetFrameLevel`** raised (`base + 85`), textures use **OVERLAY sublevels 5 (bg) / 8 (fill)** so they draw above Plater’s typical overlay-7 elements. **1px insets** on left/right/bottom to align with the visible bar. Bottom **25%** height still follows `nameplateManaHealthFraction` (default `0.75`).
### 한글
- **안쪽 마나 띠** – **`FrameOverlay`** 부모, 위협색 체력 채움 위. **FrameLevel**, **OVERLAY 5/8**, **1px** 인셋. 높이는 `nameplateManaHealthFraction`(당시 기본 0.75).
---
## [2.1.9] - 2026-03-09
### Changed
- **M : mini-label** – If the unit is **not** classified as mana for the strip, the same **`M : cur/max`** line shows **health** instead (green fill vs blue mana fill) so you can verify the widget on any hostile nameplate. Enemy-only filter unchanged. Inner mana overlay on the health bar still only applies to mana units.
### 한글
- **M : 라벨** – 스트립 기준 비마나면 **체력 cur/max** 표시(초록 vs 파랑). 적만 필터 동일. 안쪽 마나 오버레이는 마나만.
---
## [2.1.8] - 2026-03-09
### Fixed
- **`mana mdebug`** no longer requires **`showNameplateManaBar`** ON (debug label can show while mana strip is off).
### 한글
- **`mana mdebug`** – **`showNameplateManaBar`** 꺼져 있어도 디버그 표시 가능.
---
## [2.1.7] - 2026-03-09
### Fixed
- **M label never updating** – `/reload` or missed `NAME_PLATE_UNIT_ADDED` could leave `unitToPlate` empty so the TOT/M loop never ran. Added **`syncNameplatesToPlaterTOT()`** (scan `C_NamePlate.GetNamePlates()`, refill `unitToPlate`, ensure TOT + M widgets, refresh M) on **PLAYER_ENTERING_WORLD** (0.1s + 0.6s), **PLAYER_LOGIN**, **NAME_PLATE_UNIT_ADDED**, **`mana on` / `mana refresh`**, and immediate refresh after creating the M frame.
- **Mana detection vs ElvUI target** – Relaxed **`plateUnitHasMana`**: `tonumber(powerType)==0`, case-insensitive **MANA** token, **`UnitPowerMax(unit,0)>0`** (NPC nameplates), and **WotLK mana classes** for enemy players if the nameplate API is wrong.
### Added
- **`/platertot mana mdebug on|off`** – Yellow **`M : powerType|token|m0=…`** on hostile nameplates (ignores strict mana match) to see raw API values. Status line shows **M debug: ON/OFF**.
### 한글
- **M 라벨 안 갱신** – `unitToPlate` 비었을 때 **`syncNameplatesToPlaterTOT()`**로 전체 이름표 스캔·동기화(진입/로그인/추가/명령 등).
- **마나 판별 완화** – (당시) NPC·직업 추정 등으로 ElvUI 타겟과 맞춤.
- **`mana mdebug`** – 적 이름표에 API 원시값 노란 표시.
---
## [2.1.6] - 2026-03-09
### Added
- **Mana mini-bar label (TOT-style)** – When nameplate mana is enabled and the unit qualifies, shows **`M : current/max`** under the health bar with the same mini-bar look as **`T : …`** (Plater health textures, blue fill for mana %). Easier to see whether mana detection is active.
### 한글
- **마나 미니바 라벨** – 조건 충족 시 **`M : 현재/최대`**, TOT와 같은 Plater 텍스처·파란 채움.
---
## [2.1.5] - 2026-03-09
### Fixed
- **Mana strip invisible** – Match **TOT**: parent the mana container to **`healthBar`** (not `FrameOverlay`). Use **OVERLAY** draw layers for background + status bar texture so Plater’s health fill does not paint on top of a BACKGROUND-layer strip.
### 한글
- **마나 띠 안 보임** – TOT처럼 **`healthBar`** 부모, **OVERLAY** 레이어로 체력 채움 아래에 가리지 않게.
---
## [2.1.4] - 2026-03-09
### Changed
- **Nameplate mana layout (ElvUI-like)** – Mana is drawn **inside** the Plater health bar on the **bottom ~25%** (when `nameplateManaHealthFraction` is `0.75`), parented to **`healthBar.FrameOverlay`** so it paints **above** the health textures. **Removed `customHealthBarHeight`** splitting (avoids clipping / invisible strips below the bar). Cast bar stays on Plater’s default anchor (under the full health bar).
### Fixed
- **`UpdatePlateSize` hook** – If `actorType` or plate config was missing, the old mana UI could stick; now **`clearManaBarOverride`** runs in those cases.
### 한글
- **이름표 마나 레이아웃** – 체력바 **안쪽 하단** ~25%, **`FrameOverlay`**. **`customHealthBarHeight`** 분할 제거. 시전바는 Plater 기본.
- **훅** – 설정 없을 때 **`clearManaBarOverride`** 로 잔상 제거.
---
## [2.1.3] - 2026-03-09
### Fixed
- **Nameplate mana not visible** – Nameplate units often report `UnitPowerMax` as **0** until later; if `UnitPowerType` is mana we still show the strip. **StatusBar** always gets a fallback texture (`UI-StatusBar`) and explicit `Show()`, higher frame level so it isn’t hidden under Plater’s power bar.
- **Layout timing** – After `NAME_PLATE_UNIT_ADDED`, deferred `UpdatePlateSize`; on `PLAYER_ENTERING_WORLD`, refresh all Plater plates after a short delay.
### Changed
- **Default `nameplateManaEnemiesOnly`** is now **false** for new saves (friendly mana units / dummies); existing SavedVariables unchanged.
### Added
- Slash: **`/platertot mana refresh`** (모든 이름표 `UpdatePlateSize` 재실행), **`/platertot mana debug`** (현재 대상의 파워 타입·max·표시 여부 출력).
### 한글
- **이름표 마나 안 보임** – `UnitPowerMax` 늦게 오는 경우에도 마나 타입이면 스트립 표시. **StatusBar** 기본 텍스처·표시·프레임 레벨.
- **레이아웃 타이밍** – 유닛 추가 후 지연 `UpdatePlateSize`, 맵 진입 후 전체 갱신.
- **기본 `nameplateManaEnemiesOnly`** – 신규 저장 **false**(아군·허수아비 테스트).
- **슬래시** – `mana refresh`, `mana debug`(대상 파워 정보).
---
## [2.1.2] - 2026-03-09
### Changed
- **Nameplate mana fill** – Uses a **StatusBar** with `SetMinMaxValues` / `SetValue` and `pcall(UnitPower, unit, displayType)` / `UnitPowerMax`, matching **oUF Power / ElvUI** style updates instead of resizing a texture by width.
### 한글
- **마나 채움** – **StatusBar** + `SetValue`로 갱신(oUF/ElvUI 스타일), 텍스처 너비 조절 대신.
---
## [2.1.1] - 2026-03-09
### Fixed
- **Nameplate mana detection** – Match ElvUI-style `UnitPowerType` handling: use power **token** `"MANA"` and numeric `0` (and `Enum.PowerType.Mana` when it matches), not `Enum` alone. Fixes mana users not showing a bar when the first return value didn’t match `Enum.PowerType.Mana`.
### 한글
- **이름표 마나 판별** – 토큰 **`"MANA"`**, 숫자 **0**, `Enum.PowerType.Mana` 병행(`Enum`만으로 판별하던 문제 수정).
---
## [2.1.0] - 2026-03-09
### Added
- **Nameplate unit mana strip (Plater not modified)** – For units with mana (`UnitPowerType` mana & `UnitPowerMax` > 0), uses Plater’s `unitFrame.customHealthBarHeight` so the health bar uses a fraction of the configured height (default **75%**), and draws a **PlaterTOT mana bar** in the remaining band under the health bar. **Cast bar is re-anchored** below that strip (same offsets Plater would use from the health bar) so it does not overlap.
- **Saved:** `showNameplateManaBar` (default on), `nameplateManaHealthFraction` (default `0.75`), `nameplateManaEnemiesOnly` (default on).
- **Slash:** `/platertot mana on|off`, `mana fraction 0.75` (0.5–0.92), `mana enemiesonly on|off`. Status line (`/platertot` / `tt`) includes mana settings.
- **Updates:** `UNIT_POWER_UPDATE` + throttled TOT loop refresh the mana fill.
### Technical
- `hooksecurefunc(Plater, "UpdatePlateSize", …)` after Plater lays out each plate; one recursive `UpdatePlateSize` when applying the height split (guarded against re-entrancy).
### 한글
- **이름표 마나 스트립** – 마나 유닛에 `customHealthBarHeight`로 체력 **75%** 등 분할, 아래 밴드에 마나 바. 시전바 **재앵커**.
- **저장·슬래시·갱신** – 위 영문과 동일(당시 `mana fraction` 상한 0.92).
### 기술
- `hooksecurefunc(Plater, "UpdatePlateSize", …)`, 재진입 방지.
---
## [2.0.0] - 2026-03-09
### Added
- **Auto “Use Tank Threat Colors”** – On non-Retail clients, syncs `Plater.db.profile.tank_threat_colors` from role/talents/class signals so you don’t toggle Plater’s option by hand. **Does not modify Plater files**; survives Plater updates unless Plater removes/changes those APIs.
- **Saved setting** `PlaterTOTDB.autoTankThreatColors` (default on), `## SavedVariables: PlaterTOTDB` in TOC.
- **Slash:** `/platertot tankthreat on|off|status` (short: `tt on|off`).
### Changed
- **Release** – **2.0.0** (major version bump from 1.x).
- Sync runs on **all Classic** (including **WotLK / Mists / 20th Anniversary**); earlier logic skipped WotLK/MoP so the option never updated there.
- **Warrior:** `GetTalentGroupRole` / party role first; then Details!Framework `GetRoleByClassicTalentTree` for Protection; then defensive stance (form 18), shield (not Gladiator 24).
- **Paladin:** Righteous Fury buff spell IDs **25780** / **407627** when role APIs are empty.
- **Druid:** Bear / Dire Bear only (`GetShapeshiftFormID` **5** / **8**); any non-bear form forces DPS mode for this option (cat, caster, travel, etc.).
### Fixed
- **SavedVariables:** `PlaterTOTDB` must be global (was `local`, so settings could fail to persist).
- **MoP:** Removed reliance on undefined `IS_WOW_PROJECT_CLASSIC_MOP` global.
- **Druid form switch:** Some builds don’t fire `UPDATE_SHAPESHIFT_FORM` reliably; **poll `GetShapeshiftFormID` on the existing throttled OnUpdate** (~0.15s) so bear ↔ cat updates the checkbox.
- **UNIT_AURA** throttling (~0.4s) for RF/other auras; immediate sync on equipment, shapeshift event, group, entering world, login (delayed 1.5s).
### 한글
- **탱 위협 색 자동** – 비리테일에서 `tank_threat_colors` 동기화. **Plater 파일 미수정**. 저장·슬래시 동일.
- **변경** – 2.0.0, WotLK·MoP·20주년 포함 클래식 전체 동기화. 전사·성기사·드루 판별 로직(영문과 동일).
- **수정** – 전역 `PlaterTOTDB`, MoP 전역 제거, 드루 폼 **OnUpdate** 폴링, **UNIT_AURA** 쓰로틀.
---
## [1.0.3] - 2025-03-09
### Changed
- **Version bump** – For CurseForge re-upload (previous reject due to duplicate file). No gameplay changes from 1.0.2.
### 한글
- **버전만 상향** – CurseForge 재업로드용. 1.0.2와 동작 동일.
---
## [1.0.2] - 2025-03-09
### Changed
- **"T" color by relation** – The "T" prefix is red when the target of target is an enemy; white when friendly.
- **Target name** – Always white (no class color on name; bar fill keeps class color).
### 한글
- **"T" 색** – 대상의 대상이 적이면 빨강, 아군이면 흰색.
- **이름** – 항상 흰색(바 채움만 직업색).
---
## [1.0.1] - 2025-03-09
### Fixed
- **TOT health bar class color** – The selection overlay was drawn above the class-colored fill (ARTWORK layer), making the bar look washed out. The overlay is now on the BACKGROUND layer below the fill (sublayers 1 and 2), so the class color displays clearly on top.
### 한글
- **TOT 직업색** – 선택 오버레이를 채움 **아래** BACKGROUND로 옮겨 직업색이 선명하게 보이게 함.
---
## [1.0.0] - 2025-03-09
### Added
- **Target of Target on nameplates** – Shows who the nameplate unit is targeting above the health bar when that target is not the player.
- **Display format** – `T : [target name]` with white text and thin black outline for readability.
- **Class-colored health bar** – Bar background is semi-transparent (like Plater’s health bar); fill uses the target’s class color and is fully opaque.
- **Health-based fill** – Fill width reflects the TOT target’s current health percentage (left-to-right).
- **Bar width** – Bar length follows the text width (name length).
- **Plater integration** – Hides Plater’s built-in TOT text so only PlaterTOT’s bar is shown. Does not modify Plater files.
- **Dependency** – Declares Plater as a dependency in the TOC.
- **Compatibility** – Supports multiple WoW clients (Retail, Classic, TBC, Wrath, etc.) via Interface version tags in the TOC.
### Technical
- Uses `NAME_PLATE_UNIT_ADDED` / `NAME_PLATE_UNIT_REMOVED` and a throttled update loop for performance.
- TOT frame is parented to Plater’s health bar with a higher frame level so it draws above buff/debuff icons.
### 한글
- **이름표 TOT** – 플레이어가 아닌 대상을 잡을 때 체력바 위에 `T : 이름` 표시.
- **표시** – 흰 글·검은 외곽선, 직업색 채움·체력 비율, 너비는 텍스트에 맞춤.
- **Plater** – 기본 TOT 텍스트 숨김, 파일 미수정. TOC 의존성·다중 클라이언트 태그.
### 기술
- 이름표 이벤트 + 쓰로틀 루프, 체력바 부모·높은 프레임 레벨.

