diff options
| author | Teleqraph <nyrdeveloper@gmail.com> | 2023-05-29 10:43:48 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-05-29 10:43:48 +0200 |
| commit | c4aa4d4b5371af440b9fce2bb0866b90a50750f6 (patch) | |
| tree | 42887a795e0b5dca9c5baa5905dbb69d8d1cfb8d | |
| parent | 06d0b16f158e8793860d9edd11b990f20b1d0dac (diff) | |
Core/Spells: Implement SPELL_ATTR10_RESET_COOLDOWN_UPON_ENDING_AN_ENCOUNTER (#29032)
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 7de61fa8ed8..98435a60d47 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -547,6 +547,13 @@ void Unit::AtStartOfEncounter() void Unit::AtEndOfEncounter() { RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags2::EndOfEncounter); + + GetSpellHistory()->ResetCooldowns([](SpellHistory::CooldownStorageType::iterator itr) + { + SpellInfo const* spellInfo = sSpellMgr->AssertSpellInfo(itr->first, DIFFICULTY_NONE); + + return spellInfo->HasAttribute(SPELL_ATTR10_RESET_COOLDOWN_ON_ENCOUNTER_END); + }, true); } void Unit::UpdateSplineMovement(uint32 t_diff) |
