Guild Chronicle

Tracks guild member deaths in Hardcore mode with an immersive memorial book UI and server-wide death statistics from Deathlog.

File Details

GuildDeathLog v8.14.2

  • R
  • Feb 27, 2026
  • 8.16 MB
  • 164
  • 2.5.5+1
  • Classic + 1

File Name

GuildDeathLog.zip

Supported Versions

  • 2.5.5
  • 1.15.8
# Das Buch der Gefallenen - Changelog

## Version 8.14.2 — "Kondolenzenbuch: Guild-Sync aktiv"

### UI.lua
- **Kondolenzenbuch**: Nach dem Speichern einer Kondolenz wird `Sync:BroadcastKondolenz()` aufgerufen → Nachricht wird per `GUILD`-AddonMessage an alle Mitspieler mit Addon gesendet
- Kondolenzen werden so live in der Gedenkhalle (Hover-Tooltip) bei allen Gildenmitgliedern sichtbar

### Sync.lua (bereits enthalten)
- `BroadcastKondolenz(dKey, text)` sendet via `C_ChatInfo.SendAddonMessage("GDLSync", ..., "GUILD")`
- Empfangs-Handler für `KONDOLENZ` speichert eingehende Einträge in `GuildDeathLogDB.kondolenze` und refresht die Ansicht
- `BroadcastBulletin` + Empfangs-Handler für Schwarzes Brett ebenfalls aktiv

## Version 8.13.3 — "UI-Feinschliff: Namen, Kapitel, Icons"

### UI.lua
- **Abenteurer der Gilde**: Spielernamen ohne `OUTLINE`-Flag → weichere, lesbare Schrift
- **Inhaltsverzeichnis**: "Berufe der Gilde" entfernt (Berufe bereits in Abenteurer integriert)
  - Kapitel-Nummern neu: VIII→VII Titel, IX→VIII Kalender, IX Gilden-Regeln, X/XI/XII Auswertungen

### Titles.lua
- **Koenigs-Bezwinger**: Icon von `INV_Misc_Head_Ogre_01` (fehlendes Vanilla-Asset) auf `INV_Crown_01` geändert → Icon wieder sichtbar

## Version 8.13.2 — "Chronik + Gedenkhalle zusammengeführt"

### UI.lua — Kapitel-Merge
- **Chronik der Gefallenen** als eigenes Kapitel entfernt (war redundant mit Gedenkhalle)
- `RenderChapter("chronicle")` → leitet jetzt auf `RenderMemorial()` um (SavedVars-Kompatibilität gewahrt)
- `UpdateChronicle()` → Compatibility-Shim, ruft intern `RenderMemorial()` auf
- `isChronicle`-Flag in `SetRightPageHeader` auf `isMemorial` umgestellt → statsFrame/divider bei Gedenkhalle sichtbar
- Refresh-Button (Toolbar) ruft nun `RenderChapter("memorial")` auf
- Standard-Kapitel beim Öffnen: `"memorial"` statt `"chronicle"`
- `CHAPTER_TITLES`: Eintrag `chronicle` entfernt

### UI.lua — RenderMemorial (neue Vollversion)
- Alle Tode gelistet (nicht mehr auf 30 limitiert), neueste zuerst
- Stats-Banner: Gesamt / Heute / Diese Woche
- Hover-Tooltip pro Eintrag: Name, Klasse, Level, Zone, Mörder, Fähigkeit, Letzte Worte, Nachruf, Datum
- Hover-Hintergrundfarbe in Klassenfarbe
- Dekorative Blutflecken ab 5+ Gefallenen
- Kerzen-Icon (Helligkeit tageszeit-abhängig)
- Nachruf-Edit-Button pro Eintrag

## Version 8.12.0 — "Abenteurer der Gilde (GRM-Style Member Profiles)"

### Guild.lua — Erweitertes Daten-Scanning (GRM-Pattern)
- `GetGuildRosterLastOnline(i)` integriert → speichert `lastOnlineYears/Months/Days/Hours` pro Mitglied
- `status` Feld wird gespeichert: 0=offline, 1=online, 2=AFK, 3=DND
- Neue `Guild:FetchClubData()` Funktion nutzt `C_Club.GetMemberInfo` (Classic Era +2023 Communities API):
  - Lädt `race` + `raceId` via `C_CreatureInfo.GetRaceInfo`
  - Lädt `sex` (2=männlich, 3=weiblich)
  - Lädt `clubProf1/clubProf2` (Berufs-ID + Rang)
  - Alle C_Club-Daten additiv (überschreiben keine vorhandenen Werte)
  - Wird 2s nach jedem Scan asynchron aufgerufen via `C_Timer.After`
  - Vollständige `pcall`-Absicherung für Classic-Kompatibilität

### UI.lua — Neues Kapitel VIII: "Abenteurer der Gilde"
- Neuer Eintrag im Inhaltsverzeichnis (Kategorie "Gilde")
- **Banner**: Zeigt Gesamt-/Online-/Offline-Zahl mit farbigen Indikatoren
- **Rang-Sektionen**: Mitglieder nach Rang gruppiert (wie Meilenstein-Kategorien)
  - Header: Rang-Icon, Rang-Name, Online/Gesamt-Zähler
  - Farbton des Headers variiert mit Rang-Index (blau-grün Gradient)
- **Member-Karte** (`RenderMemberCard`) — 56px hohe Karte pro Mitglied:
  - Klassenfarbener Akzentbalken (links), Klassen-Icon (36x36)
  - Online-Status-Punkt (grün/gelb/rot/grau)
  - **Name** in Klassenfarbe (13pt OUTLINE)
  - **Subline**: Stufe · Rasse · Klasse (aus `RACE_NAMES_DE` + `CLASS_NAMES_DE_ADV`)
  - **Rang** (darunter, grün)
  - **Zone** (unten links)
  - **Online/LastSeen** (oben rechts): "● Online" / "vor X T." etc.
  - **Achievement-Punkte** (★ gold)
  - **Berufe** (unten rechts): aus Professions-Modul oder C_Club-Fallback
  - Hover-Highlight + **Tooltip** mit Note + Offiziersnotiz
- Bestehende Chapter-Nummerierung angepasst (IX–XIV)

---

## Version 8.11.0 — "Guild Leave ≠ Tod Fix"

### Guild.lua — ProcessLeave(): Falsch-Tod-Erkennung entfernt
- **Kritischer Bug**: Jeder Gilden-Austritt (freiwillig, Kick, Rename) hat automatisch einen Todeseintrag erstellt
- Ursache: `ProcessLeave()` rief `Sync:ProcessIncomingDeath()` auf für jeden fehlenden Roster-Eintrag
- Fix: Automatische Todeserstellung bei Guild-Leave komplett entfernt — Tod nur noch via `UNIT_DIED` / Deathlog
- `ProcessLeave()` pflegt nur noch `memberHistory` + `_removed` Flag in `guildData.members`

### Guild.lua — CommitSnapshot(): Offline-Leave-Erkennung
- Mitglieder die während Offline-Zeit die Gilde verlassen haben werden jetzt auch als `_removed = true` markiert
- Verhindert dass "ausgetretene" Mitglieder weiterhin als aktive Gildenmitglieder angezeigt werden

### Guild.lua — Aufräumen
- `LEAVE_DEATH_WINDOW`-Konstante (300s) entfernt (nicht mehr benötigt)

---

## Version 8.10.9 — "Guild.lua: Re-Join Member Crash Fix"

### Guild.lua — CommitSnapshot() Boolean-Guard
- `guildData.members[key]` kann `true` (boolean) zurückgeben wenn ein Spieler mit gleichem Namen erneut der Gilde beitritt
- `or {}` reicht nicht als Guard da `true or {}` → `true` ergibt (truthy bypass)
- Fix: `type(existing) ~= "table"` Prüfung ersetzt `or {}` → verhindert Index-Fehler auf boolean
- Behebt: `attempt to index local 'existing' (a boolean value)` bei Roster-Scan

---