aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortobmaps <spambot42@yandex.ru>2011-05-13 03:05:35 +0700
committertobmaps <spambot42@yandex.ru>2011-05-13 03:05:35 +0700
commita687c867e9127f816c6ffde36000f6e2474f80e7 (patch)
treeb98578da759f828e8c34ce715d540f02cad15b5f /src
parent5652400557f75318fa30a6e31b99a0c77bdba82b (diff)
Core/Spells: Fix cooldown of Bone Shield
Closes #1370
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index c62e4261cf4..9dd7f853bf0 100755
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -7828,7 +7828,7 @@ bool Unit::HandleModDamagePctTakenAuraProc(Unit *pVictim, uint32 /*damage*/, Aur
// Used in case when access to whole aura is needed
// All procs should be handled like this...
-bool Unit::HandleAuraProc(Unit * pVictim, uint32 damage, Aura * triggeredByAura, SpellEntry const * procSpell, uint32 /*procFlag*/, uint32 procEx, uint32 /*cooldown*/, bool * handled)
+bool Unit::HandleAuraProc(Unit * pVictim, uint32 damage, Aura * triggeredByAura, SpellEntry const * procSpell, uint32 /*procFlag*/, uint32 procEx, uint32 cooldown, bool * handled)
{
SpellEntry const *dummySpell = triggeredByAura->GetSpellProto();
@@ -8013,6 +8013,18 @@ bool Unit::HandleAuraProc(Unit * pVictim, uint32 damage, Aura * triggeredByAura,
switch(dummySpell->Id)
{
+ // Bone Shield cooldown
+ case 49222:
+ {
+ *handled = true;
+ if (cooldown && GetTypeId() == TYPEID_PLAYER)
+ {
+ if (ToPlayer()->HasSpellCooldown(100000))
+ return false;
+ ToPlayer()->AddSpellCooldown(100000, 0, time(NULL) + cooldown);
+ }
+ return true;
+ }
// Hungering Cold aura drop
case 51209:
*handled = true;