File Details
HCCombatAdvisor v2.0.0
- R
- Feb 26, 2026
- 74.81 KB
- 6
- 1.15.8
- Classic
File Name
HCCombatAdvisor.zip
Supported Versions
- 1.15.8
# HCCombatAdvisor — Changelog
## [1.9.8] — 2026-02-26
### Bugfix: Minimap-Button Radar-Sweep
**minimapbutton.lua**
- Root cause: `SetPoint("LEFT") + SetPoint("RIGHT")` erzeugt immer einen horizontalen Frame,
keine Rotation — sichtbar als grüner Strich von links nach rechts
- Fix: sweepLine-Frame komplett entfernt; ersetzt durch **Tip-Dot + 6 Comet-Trail-Dots**
mit ausschließlich `SetPoint("CENTER", b, "CENTER", dx, dy)` — identisch stabil
wie GDL's Orbit-Runen-Ansatz
- Komet-Design: heller Tip (5px), 6 Trail-Dots (4→2px, Alpha 0.70→0.08, Radius-Faktor 0.95→0.56)
→ glaubwürdiger Radar-Komet statt fehlerhafter Linie
## [1.9.7] — 2026-02-26
### Feature: Immersiver Minimap-Button "Tactical Radar"
**minimapbutton.lua** (kompletter Rewrite v2.0)
- Radar-Sweep: eine rotierende Sweep-Linie (≠ GDL orbit-Runen) mit 5 verblassenden Trail-Punkten
- Glow + Sweep-Farbe reagieren live auf Gefahr-Stufe: SAFE=grün, RISK=orange, ABORT=rot
- Radar-Geschwindigkeit eskaliert: SAFE=0.9 rad/s, RISK=2.1, ABORT=3.8 (visuelles Herzrasen)
- Alert-Doppelblitz bei Eskalation auf RISK/ABORT via AnimationGroup
- Atem-Glow (AnimationGroup BOUNCE) permanent aktiv, threat-farbig
- Border-Farbe folgt ebenfalls dem Threat-Level
- Hover-Panel "Live Combat Intel": Status, Score, Angreifer, DTPS/DPS/TTD live
- Erscheint bei OnEnter, verschwindet 120ms nach OnLeave (Panel ist ebenfalls hoverable)
- Border + Accent-Linie passen sich dem aktuellen Threat-Level an
- `NS:MinimapButtonSetThreat(level)` — Public API für externen Aufruf
**ui.lua**
- `NS:UIUpdate()`: speichert `data` in `NS.lastTickPayload` für Hover-Panel-Zugriff
- `NS:MinimapButtonSetThreat(status)` wird bei jedem Tick aufgerufen
## [1.9.6] — 2026-02-26
### Feature: Intelligente Bedrohungsbewertung (Grau-Mob-Filter)
**UnitAnalyzer.lua**
- `GetGrayLevelThreshold(playerLevel)`: WoW Classic Grau-Level-Formel implementiert
(z.B. Spieler L11 -> alles <= L4 ist grau/trivial, L60 -> alles <= L49)
- `GetCombinedThreatAdjustment()`: Triviale Mobs (grau) tragen nur 0.10 zur Gefahr
bei (statt ~0.77). `significantCount` zaehlt nur echte Gegner.
Return-Table enthaelt jetzt `significantCount` und `trivialCount`.
**Score.lua**
- `EvaluateRisk()`: Neuer Parameter `significantAttackers` (nicht-triviale Gegner).
`IsMeaningfulThreat(dtps)`: RISK nur wenn DTPS > 5 UND > 1.2% Max-HP/s oder >= 12 abs.
MULTI_ATTACK: prueft `significantAttackers >= 3` statt rohem `attackerCount >= 3`.
2-Angreifer-Warnung ebenfalls auf signifikante Angreifer umgestellt.
- `BuildTickPayload()`: Payload enthaelt `significantAttackers` + `trivialAttackers`.
**ui.lua**
- Statuslabel: MORPHEUS -> FRIZQT (kein "8ICHER" Leseproblem mehr bei kleiner Schrift)
- Stats-Zeile: farbige Labels (gruenes DPS, rotes DTPS, gelbes TTD)
- Angreifer-Badge: triviale Mobs werden grau + als "(X trivial)" angezeigt
- `GetSituationText()`: nutzt `significantAttackers` fuer Warntext;
bei rein trivialen Gegnern: ruhige graue Info statt Risiko-Warnung
- Threat-Row: kompakteres Format "62% DR ~100% UB 3 trivial" (nicht mehr abgeschnitten)
## [1.9.5] — 2026-02-26
### UI: Minimalistisches Kampf-Panel
- Rahmenbreite: 294px -> 200px; Rand: edgeSize 18->14, Insets 6->4
- Titel-Header (26px "HC Combat Advisor") vollstaendig entfernt
- Score-Zahl: 30pt -> 18pt; Score-Bar: 5px -> 4px; Score-Bereich: 46px -> 22px
- Status-Wort: MORPHEUS 13pt -> 10pt; Angreifer-Badge: 11pt -> 9pt
- HP-Bar: 16px -> 12px; Doppel-Trennlinie -> einfache 1px-Linie
- Stats-Zeile: 10pt -> 9pt; Situation/Empfehlung: 10pt -> 9pt
- Last-Hit-Zeile: 9pt -> 8pt; Status-Strip: 4px -> 3px
- Ziel-Sektion: 62px -> 44px; Ziel-Bar: 14px -> 12px; Ziel-Font: 10pt -> 9pt
- Drag-Zone: 32px -> 24px (gesperrt: 28px -> 18px)
- Gesamt-Hoehe (ohne Ziel): ~163px -> ~96px | (mit Ziel): ~225px -> ~140px
## [1.9.4] — 2026-02-26
### Bugfix: MobSync "Prefix nicht registriert" in Classic 1.15.8
- **MobSync.lua**: `RegisterAddonMessagePrefix` wurde in WoW Classic 1.14+ aus dem globalen
Scope entfernt und nach `C_ChatInfo.RegisterAddonMessagePrefix` verschoben.
Lokale Referenz bevorzugt jetzt `C_ChatInfo.*` mit globalem Fallback fuer aeltere Clients.
Gleiches gilt fuer `SendAddonMessage` -> `C_ChatInfo.SendAddonMessage`.
Nil-Guard in `MobSync:Init()` verhindert `pcall(nil, ...)` bei fehlendem API.
## [1.9.3] — 2026-02-26
### Code-Quality Review
- **core.lua**: Veralteten Versionskommentar (1.1.0) entfernt; Header zeigt jetzt Classic 1.15.8 | TBC 2.5.5
- **config.lua**: Header-Kommentar auf v1.9.3 aktualisiert; Tab-Liste korrigiert (GRUPPE -> SYNC); em-Dash und middle-dot durch ASCII-Zeichen ersetzt
- **MobSync.lua**: Toter Code entfernt (`if isNew` in `else`-Zweig von `MergeMobData` konnte nie ausgefuehrt werden; Zaehler wird korrekt im `if not existing`-Zweig erhoehen)
- **Score.lua**: Doppelter `UnitClassification("target")`-Aufruf durch lokale Variable ersetzt (Performance)
- **ui.lua**: Duplizierte `NS:GetPreview`-Definition entfernt (kanonische Version liegt in core.lua)

