aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/Unit.cpp78
1 files changed, 43 insertions, 35 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index ab63bb42a0d..69baf10ef68 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -7420,41 +7420,6 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, AuraEffect* trig
break;
}
}
- else
- {
- switch (auraSpellInfo->SpellFamilyName)
- {
- case SPELLFAMILY_WARRIOR:
- // Sword and Board
- if (trigger_spell_id == 50227)
- // remove cooldown of Shield Slam
- if (GetTypeId()==TYPEID_PLAYER)
- ((Player*)this)->RemoveCategoryCooldown(1209);
- break;
- case SPELLFAMILY_MAGE:
- if (trigger_spell_id == 22959)
- {
- // Glyph of Improved Scorch
- if (AuraEffect * aurEff = GetDummyAura(56371))
- {
- for (int32 count = aurEff->GetAmount();count>0;count--)
- CastSpell(pVictim, 22959, true);
- return true;
- }
- }
- break;
- case SPELLFAMILY_DEATHKNIGHT:
- // Glyph of Death Grip
- if (trigger_spell_id == 58628)
- {
- // remove cooldown of Death Grip
- if (GetTypeId()==TYPEID_PLAYER)
- ((Player*)this)->RemoveCategoryCooldown(82);
- return true;
- }
- break;
- }
- }
// All ok. Check current trigger spell
SpellEntry const* triggerEntry = sSpellStore.LookupEntry(trigger_spell_id);
@@ -7589,6 +7554,17 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, AuraEffect* trig
// Need add combopoint AFTER finish movie (or they dropped in finish phase)
break;
}
+ case 22959:
+ {
+ // Glyph of Improved Scorch
+ if (AuraEffect * aurEff = GetDummyAura(56371))
+ {
+ for (int32 count = aurEff->GetAmount();count>0;count--)
+ CastSpell(pVictim, 22959, true);
+ return true;
+ }
+ break;
+ }
// Bloodthirst (($m/100)% of max health)
case 23880:
{
@@ -7608,6 +7584,30 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, AuraEffect* trig
return false;
break;
}
+ // Demonic Pact
+ case 48090:
+ {
+ // Get talent aura from owner
+ if (GetTypeId() == TYPEID_UNIT && ((Creature*)this)->isPet())
+ if (Unit * owner = GetOwner())
+ {
+ if (AuraEffect * aurEff = owner->GetDummyAura(SPELLFAMILY_WARLOCK, 3220))
+ {
+ basepoints0 = aurEff->GetAmount();
+ CastCustomSpell(this,trigger_spell_id,&basepoints0,&basepoints0,NULL,true,castItem,triggeredByAura);
+ return true;
+ }
+ }
+ break;
+ }
+ // Sword and Board
+ case 50227:
+ {
+ // remove cooldown of Shield Slam
+ if (GetTypeId()==TYPEID_PLAYER)
+ ((Player*)this)->RemoveCategoryCooldown(1209);
+ break;
+ }
// Brain Freeze
case 57761:
{
@@ -7661,6 +7661,14 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, AuraEffect* trig
return false;
break;
}
+ // Glyph of Death Grip
+ case 58628:
+ {
+ // remove cooldown of Death Grip
+ if (GetTypeId()==TYPEID_PLAYER)
+ ((Player*)this)->RemoveCategoryCooldown(82);
+ return true;
+ }
}
if( cooldown && GetTypeId()==TYPEID_PLAYER && ((Player*)this)->HasSpellCooldown(trigger_spell_id))