feat: color player cast bar by spell school from Spell.dbc

The player's own cast bar now uses spell-school-based colors for quick
identification: Fire=orange-red, Frost=icy blue, Shadow=purple,
Arcane=violet, Nature=green, Holy=golden, Physical=gold. Channels
remain blue regardless of school. Adds getSpellSchoolMask() using the
already-loaded Spell.dbc cache (schoolMask field, covering all
expansions including Classic SchoolEnum→bitmask conversion).
This commit is contained in:
Kelsi 2026-03-17 19:56:52 -07:00
parent d0df6eed2c
commit 4ce6fdb5f3
3 changed files with 25 additions and 3 deletions

View file

@ -2064,6 +2064,10 @@ public:
/// Returns true if the spell can be interrupted by abilities like Kick/Counterspell.
/// False for spells with SPELL_ATTR_EX_NOT_INTERRUPTIBLE (attrEx bit 4 = 0x10).
bool isSpellInterruptible(uint32_t spellId) const;
/// Returns the school bitmask for the spell from Spell.dbc
/// (0x01=Physical, 0x02=Holy, 0x04=Fire, 0x08=Nature, 0x10=Frost, 0x20=Shadow, 0x40=Arcane).
/// Returns 0 if unknown.
uint32_t getSpellSchoolMask(uint32_t spellId) const;
struct TrainerTab {
std::string name;