aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTeleqraph <nyrdeveloper@gmail.com>2023-05-29 10:43:48 +0200
committerGitHub <noreply@github.com>2023-05-29 10:43:48 +0200
commitc4aa4d4b5371af440b9fce2bb0866b90a50750f6 (patch)
tree42887a795e0b5dca9c5baa5905dbb69d8d1cfb8d /src
parent06d0b16f158e8793860d9edd11b990f20b1d0dac (diff)
Core/Spells: Implement SPELL_ATTR10_RESET_COOLDOWN_UPON_ENDING_AN_ENCOUNTER (#29032)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp7
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)