File Details
GuildDeathLog v6.0.3
- R
- Feb 19, 2026
- 1.63 MB
- 62
- 1.15.8
- Classic
File Name
GuildDeathLog.zip
Supported Versions
- 1.15.8
# GuildDeathLog v6.0.3 – Bugfix Release
## Bug Fixes
### 1. Debug-Button Position (UI.lua)
- **Problem:** Debug-Button erschien am falschen Platz (Y=0 statt Reihe 4)
- **Ursache:** `btnY4` wurde referenziert bevor es definiert war → nil → Default Y=0
- **Fix:** Button-Erstellung nach `btnY4 = 17` Definition verschoben
### 2. Statistics: "Unknown: 6" bei Klassen (Statistics.lua)
- **Problem:** Klassen-Breakdown zeigte "Unknown: 6" ohne Icon
- **Ursache:** `CLASS_NAMES_BY_ID` hatte keinen Eintrag für `classId = 0`
- **Fix:** `[0] = "Unbekannt/Unknown"` zum Mapping hinzugefügt, UI zeigt Fragezeichen-Icon
### 3. Statistics: "Keine Daten" bei Killern (Deathlog.lua, Sync.lua)
- **Problem:** Monster/Killer-Sektion zeigte "Keine Daten / No data"
- **Ursache:** Deathlog-Import übernahm `source_id`/`source_name` nicht
- **Fix:** Killer-Daten (`killerName`, `killerId`) werden jetzt aus Deathlog-Einträgen importiert
### 4. Titel nicht sichtbar (Milestones.lua)
- **Problem:** "Kein Titel ausgewählt" trotz freigeschalteter Meilensteine
- **Ursache:** Key-Format-Wechsel von Name-Realm auf GUID. Alte Daten unter altem Key, neuer Code sucht unter GUID
- **Fix:** Automatische Datenmigration beim Login (Milestones, KillStats, Titles)
### 5. Milestone-Reset bei Update (Milestones.lua)
- **Problem:** Meilenstein-Fortschritt wurde fälschlich auf 0 zurückgesetzt
- **Ursache:** HC-RESET Detection feuerte falsch wenn `UnitLevel("player")` = 0 (Ladescreen) oder bei Key-Format-Mismatch
- **Fix:**
- UnitLevel=0 Schutz: Check wird auf 8 Sekunden verzögert
- Sicherheitsmarge von 5 auf 10 Level erhöht
- HC-Reset in eigene Funktion `CheckHCReset()` ausgelagert
- Datenmigration verhindert Key-Mismatch
### 6. Fehlende Milestone-Icons (Milestones.lua, Titles.lua)
- **Problem:** Einige Milestones/Titel zeigten keine Icons
- **Ursache:** Nicht-Classic Icons verwendet (WotLK/Cata)
- **Ersetzungen:**
- `Achievement_GuildPerk_EverybodysFriend` → `INV_Crown_01`
- `Achievement_Profession_Chefhat` → `Trade_Engineering`
- `Spell_Fire_Ragnaros_Lavabolt` → `Spell_Fire_Lavaspawn`
- `Spell_Holy_BorrowedTime` → `Spell_Holy_SealOfWrath`
- `Spell_Shadow_DemonicTactics` → `Spell_Shadow_SummonFelGuard`
- `INV_Misc_PocketWatch_02` → `INV_Misc_PocketWatch_01`
- `INV_Misc_PocketWatch_03` → `Spell_Holy_Resurrection`
## Discord Bot v3.0 — Multi-Tier + Multi-Addon
### Neues Code-Format (v4)
- **Format:** `GDL-G-202602-ABCD1234-123456` (Prefix-Tier-Monat-Token-Checksum)
- **Tier-Codes:** B = Bronze, S = Silber, G = Gold
- **Backward-kompatibel:** Altes Format `GDL-YYYYMM-TOKEN-CC` wird weiterhin erkannt (als Bronze)
### config.py — Komplett neu
- **TIERS dict:** Beliebig viele Tiers mit role_id, Code-Buchstabe, Prioritaet, Features, Addon-Liste
- **ADDONS dict:** Beliebig viele Addons mit eigenem Secret und Prefix
- **Helper-Funktionen:** get_highest_tier(), get_tier_by_code(), get_all_supporter_role_ids()
- **Sofort erweiterbar:** Neue Rolle? Eintrag in TIERS, role_id eintragen, fertig
### code_gen.py v4
- Tier-Code fliesst in Hash ein (verschiedene Tiers = verschiedene Codes)
- generate_all_codes_for_tier() fuer Multi-Addon-Versand
- verify_code() erkennt automatisch v3 (Legacy) und v4 (Multi-Tier)
### bot.py v3
- Erkennt automatisch hoechsten Tier bei Usern mit mehreren Rollen
- /mystatus zeigt Tier-spezifischen Embed mit Farbe und Emoji
- /gencode hat neuen tier-Parameter (B/S/G)
- /supporter listet gruppiert nach Tier
- /tiers neuer Command: zeigt alle konfigurierten Tiers
- on_member_update erkennt Tier-Upgrades und sendet neuen Code
- Startup-Log zeigt Supporter pro Tier aufgeschluesselt
### Addon-seitig (GuildDeathLog.lua)
- ValidateSupporterCode() parsed neues UND altes Format
- Speichert supporterTier und supporterPriority in DB
- Neue API: GetSupporterTier(), GetSupporterPriority(), HasSupporterTier("S")
- RequireSupporter("G") kann jetzt Mindest-Tier verlangen
- Module koennen Features per Tier gaten: if GDL:HasSupporterTier("S") then ...
## Discord Bot Fixes (bot.py)
- **`is_admin` doppelt definiert:** Zusammengeführt in eine Funktion (akzeptiert Interaction und Member)
- **`/mystatus` Crash:** `member` war undefiniert → durch `interaction.user` ersetzt
- **`/gencode` Crash:** `generate_code()` wurde ohne `user_id` aufgerufen → neuer Pflichtparameter `user: discord.Member`
## Technische Details
- TOC: Interface 11508, Version 6.2.0
- Alle Icons gegen Classic 1.15.8 Icon-Datenbank verifiziert
- Datenmigration: Einmalig, Name-Key → GUID-Key, kein Datenverlust