diff options
| author | Aqua Deus <95978183+aquadeus@users.noreply.github.com> | 2025-10-29 16:04:11 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-29 16:04:11 +0100 |
| commit | ff256d20e52b980cde0000f0f7cfc947868c80dd (patch) | |
| tree | 0078c7119c21adca7ae5a558ff8ab19f05db0adb /src/server/game/Entities/Unit | |
| parent | cca05feeb4cb5be081694ada75a90069c96dc13d (diff) | |
Core/Spells: Name SpellCategoryFlags with official names and implement ResetCooldownUponEndingEncounter flag (#31415)
Diffstat (limited to 'src/server/game/Entities/Unit')
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 116d81d9f38..c6466bba6b4 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -581,8 +581,14 @@ void Unit::AtEndOfEncounter(EncounterType type) GetSpellHistory()->ResetCooldowns([](SpellHistory::CooldownEntry const& cooldown) { SpellInfo const* spellInfo = sSpellMgr->AssertSpellInfo(cooldown.SpellId, DIFFICULTY_NONE); + if (spellInfo->HasAttribute(SPELL_ATTR10_RESET_COOLDOWN_ON_ENCOUNTER_END)) + return true; + + if (SpellCategoryEntry const* category = sSpellCategoryStore.LookupEntry(spellInfo->CategoryId)) + if (category->GetFlags().HasFlag(SpellCategoryFlags::ResetCooldownUponEndingEncounter)) + return true; - return spellInfo->HasAttribute(SPELL_ATTR10_RESET_COOLDOWN_ON_ENCOUNTER_END); + return false; }, true); } |
