Files
benilla-octo/crates
Sam SungandClaude Opus 5.5 78862ff291 UnitBuff and UnitDebuff answer for raid1-40 and raidpet1-40, each unit's list built once and shared by every token naming it (#489)
`UnitBuff` and `UnitDebuff` now answer for `raid1`-`raid40` and `raidpet1`-`raidpet40`, so the raid pullouts draw each member's and each pet's buffs or debuffs (`Blizzard_RaidUI.lua:451`, `:477`), and `UNIT_AURA` fires for every group token naming a unit whose list changed (`0x515e50`).

- As for the party tokens, a unit with a live object reads its own aura slots through `UnitBuff`'s unit gate; one with none reads its roster record's aura block (`0x519735`, `0x519b25`: the member record, else the pet record), with a stack count of 1 and no gate.
- `raidN` names the rows `GetRaidRosterInfo` does; `raidpetN` is the member's `CHARM`, else `SUMMON`, while it is held, else the record's pet guid with no online test (`0x491960`, `0x4919ae`).
- One feed serves all 88 group tokens: each unit's list is built once per frame and shared by every token naming it, rebuilt only when its inputs move, and pushed to the VM only when it changed. In a 40-man raid with 16 auras on each member this costs 87 µs a frame, where rebuilding every token every frame cost 414.

Fixes #471

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 09:39:51 +07:00
..