diff options
-rw-r--r-- | src/game/SpellMgr.cpp | 3 | ||||
-rw-r--r-- | src/game/Unit.cpp | 21 |
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) |