diff --git a/src/server/scripts/Spells/spell_dk.cpp b/src/server/scripts/Spells/spell_dk.cpp index 8e27678c0..c8cf3fb0d 100644 --- a/src/server/scripts/Spells/spell_dk.cpp +++ b/src/server/scripts/Spells/spell_dk.cpp @@ -530,11 +530,21 @@ class spell_dk_bone_shield : public AuraScript { PrepareAuraScript(spell_dk_bone_shield); + uint32 lastChargeUsedTime = 0; + void HandleProc(ProcEventInfo& eventInfo) { PreventDefaultAction(); + uint32 currentTime = getMSTime(); + // Checks for 2 seconds between uses of bone shield charges + if ((currentTime - lastChargeUsedTime) < 2000) + return; + if (!eventInfo.GetSpellInfo() || !eventInfo.GetSpellInfo()->IsTargetingArea()) + { DropCharge(); + lastChargeUsedTime = currentTime; + } } void Register() override