From c4aa4d4b5371af440b9fce2bb0866b90a50750f6 Mon Sep 17 00:00:00 2001 From: Teleqraph Date: Mon, 29 May 2023 10:43:48 +0200 Subject: Core/Spells: Implement SPELL_ATTR10_RESET_COOLDOWN_UPON_ENDING_AN_ENCOUNTER (#29032) --- src/server/game/Entities/Unit/Unit.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') 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) -- cgit v1.2.3