File Details
HCRoleplay v2.5.0
- R
- Jun 7, 2026
- 228.21 KB
- 20
- 2.5.5+1
- Classic + 1
File Name
HCRoleplay.zip
Supported Versions
- 2.5.5
- 1.15.8
# Changelog – HCRoleplay
## [2.5.0] – 2026-06-06
### Fixed
- **CAPITAL_CITY + Wetter-Kontext reanimiert**: Im `OnEvent`-Handler gab es zwei `elseif event == "ZONE_CHANGED_NEW_AREA"`-Zweige. Lua wertet nur den ersten Treffer aus — der zweite (Hauptstadt-Ankunft + `currentZoneWeather`-Update) war seit v2.4.0 toter Code. Die Logik wandert jetzt in `CheckZoneChange()`, wo sie tatsächlich erreicht wird. CAPITAL_CITY feuert wieder, und die Wetter-Texte (`ZONE_WEATHER`) werden über `GetPlayContext()` endlich genutzt.
- **`playerPower` war nil**: `BuildDynamicText` prüfte `BUILDUP_POWER_TYPES[playerPower]` gegen eine nie deklarierte Variable. Die Wut-Aufbau-States (`rage_fresh/engaged/enraged`) für Krieger/Bären bei ENTER_COMBAT griffen dadurch nie. Jetzt korrekt `UnitPowerType("player")`.
- **GROUP_JOIN feuerte bei jedem Roster-Tick**: `GROUP_ROSTER_UPDATE` triggert bei jeder Gruppenänderung (Beitritt, Austritt, Leader-Wechsel …), nicht nur beim eigenen Eintritt. Neues `wasInGroup`-Flag (inkl. korrekter Init beim Relog) sorgt dafür, dass GROUP_JOIN nur beim tatsächlichen Beitritt ausgelöst wird.
- **`GetWatchedFactionInfo` abgesichert** (REP_GAIN): Auf dem 11508-Backport ist die Legacy-API wackelig. Jetzt wird `C_Reputation.GetWatchedFactionData()` bevorzugt, der Legacy-Pfad läuft in `pcall` — kein Lua-Error mehr im Timer-Callback.
### Changed
- **Version aus einer einzigen Quelle**: Login-Print, UI (Titel/Info/Versionslabel) und Minimap-Tooltip lasen vorher hartkodiert `v2.3.0` bzw. `v2.0.0`, während die TOC `2.4.3` sagte. Alles liest jetzt zentral über `C_AddOns.GetAddOnMetadata("HCRoleplay","Version")` (`HCRoleplay_VERSION`).
- **Chance-Tabellen konsolidiert**: Es gab zwei getrennte Default-Chance-Tabellen (`Core.DEFAULTS.chances` und `Config.DEFAULT_CHANCES`), die auseinanderliefen — die UI zeigte z. B. 80 % für FALL_DAMAGE, real feuerte es mit 100 %. `Config.DEFAULT_CHANCES` ist jetzt die einzige Quelle; Core referenziert sie (mit Inline-Fallback).
- **Combat-Log-Hotpath optimiert**: `CombatLogGetCurrentEventInfo()` wurde im teuersten Event bis zu dreimal aufgerufen. Jetzt nur noch ein Aufruf, Payload-Felder (12/13) werden direkt mit destrukturiert.
- **Minimap-Wisp-Animation pausiert bei deaktiviertem Addon** — der OnUpdate-Ticker lief vorher dauerhaft jeden Frame, auch wenn HCRoleplay aus war.
### Added
- **7 bislang heimatlose Events sind jetzt voll konfigurierbar**: STEALTH, CAPITAL_CITY, MILESTONE_LEVEL, PET_DIED, DEATH_WITNESS, FIRST_KILL_OF_SESSION, BAGS_FULL wurden zwar gefeuert und hatten Texte (EN/DE), fehlten aber in `events`, `EVENT_INFO` und `DEFAULT_CHANCES`. Sie tauchen nun in der Settings-UI auf und sind ein-/ausschaltbar inkl. Chance-Slider. (75 gefeuerte Events = 75 in der UI, abgeglichen.)
### Removed
- Toter Code: ungenutzte `EVENT_CHANCE`-Legacy-Tabelle, leeres `EMOTE_ANIM_MAP` (seit 2.4.3 leer), doppelte Keys in `DEFAULTS.events`.
- `RebuildList` in UI.lua war versehentlich global (Namespace-Leak) — jetzt lokal forward-deklariert.
### Known Issues
- **frFR / esES sind unvollständig**: 22 von 74 Events haben keine französischen/spanischen Texte (u. a. STEALTH, CAPITAL_CITY, KILL_STREAK_*, FALL_/FIRE_/LAVA_, PROFESSION_CRAFT, GATHER_*, REP_GAIN). Betroffene Events lösen für FR/ES-Clients still kein Emote aus (kein Fehler — `SendRP` fängt nil ab). Nachpflege oder ein enUS-Fallback steht aus.
---

