aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormegamage <none@none>2009-05-25 11:19:13 -0500
committermegamage <none@none>2009-05-25 11:19:13 -0500
commita53326353b1e2b3838a1fab5734f24b52471e20d (patch)
tree7342a2c19e2e298537695aa35a4c4ae178a447c3
parent7e1ca8f2ce85b0caa9fcd00d0c8352e18e17a1bf (diff)
*Do not allow wrecking crew stack with enrage. Also, allow proc buff overwrite another. Need better rules to check that. (see my comment in code)
--HG-- branch : trunk
-rw-r--r--src/game/SpellMgr.cpp3
-rw-r--r--src/game/Unit.cpp21
2 files changed, 13 insertions, 11 deletions
diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp
index 67e6380d5ea..4ffb3ac21e9 100644
--- a/src/game/SpellMgr.cpp
+++ b/src/game/SpellMgr.cpp
@@ -361,7 +361,8 @@ SpellSpecific GetSpellSpecific(uint32 spellId)
case 8115: // Agility
case 8091: // Armor
return SPELL_SCROLL;
- case 12880: // Enrage
+ case 12880: // Enrage (Enrage)
+ case 57518: // Enrage (Wrecking Crew)
case 12292: // Death Wish
return SPELL_WARRIOR_ENRAGE;
}
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 18fe23728ca..ee91150d9d1 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -6865,16 +6865,17 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, AuraEffect* trig
Item* castItem = triggeredByAura->GetParentAura()->GetCastItemGUID() && GetTypeId()==TYPEID_PLAYER
? ((Player*)this)->GetItemByGuid(triggeredByAura->GetParentAura()->GetCastItemGUID()) : NULL;
- AuraMap::iterator i,next;
- for (i = m_Auras.begin(); i != m_Auras.end(); i = next)
- {
- next = i;
- ++next;
- if (!(*i).second) continue;
- if ( (*i).second->GetSpellProto()->Id == trigger_spell_id) continue;
- if (spellmgr.IsNoStackSpellDueToSpell(trigger_spell_id, (*i).second->GetSpellProto()->Id, (pVictim == this)))
- return false;
- }
+ // TODO: we need better rules here. Enrage should not overwrite death wish, but it should overwrite Wrecking Crew
+ // AuraMap::iterator i,next;
+ // for (i = m_Auras.begin(); i != m_Auras.end(); i = next)
+ // {
+ // next = i;
+ // ++next;
+ // if (!(*i).second) continue;
+ //if ( (*i).second->GetSpellProto()->Id == trigger_spell_id) continue;
+ // if (spellmgr.IsNoStackSpellDueToSpell(trigger_spell_id, (*i).second->GetSpellProto()->Id, (pVictim == this)))
+ // return false;
+ // }
// Try handle unknown trigger spells
if (sSpellStore.LookupEntry(trigger_spell_id)==NULL)