diff options
| author | megamage <none@none> | 2009-05-25 11:19:13 -0500 |
|---|---|---|
| committer | megamage <none@none> | 2009-05-25 11:19:13 -0500 |
| commit | a53326353b1e2b3838a1fab5734f24b52471e20d (patch) | |
| tree | 7342a2c19e2e298537695aa35a4c4ae178a447c3 /src | |
| parent | 7e1ca8f2ce85b0caa9fcd00d0c8352e18e17a1bf (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
Diffstat (limited to 'src')
| -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) |
