diff options
author | megamage <none@none> | 2009-05-16 15:28:37 -0500 |
---|---|---|
committer | megamage <none@none> | 2009-05-16 15:28:37 -0500 |
commit | 09407c8757f26c3585efa7d3cc5874bd3be90ebe (patch) | |
tree | 440e906c712c3df7050d5e68772bddf1f81a47bb | |
parent | e4456ae9f8347a32c39fdfc3fd6cef2279996cd0 (diff) |
*Do not allow taunt affect passive creatures.
*Fix build.
--HG--
branch : trunk
-rw-r--r-- | src/game/SpellEffects.cpp | 2 | ||||
-rw-r--r-- | src/game/Unit.cpp | 10 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 39d2c3796b8..27196aa9a7a 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -4067,7 +4067,7 @@ void Spell::EffectTaunt(uint32 /*i*/) unitTarget->getThreatManager().addThreat(m_caster, itsThreat - myThreat); } - if(((Creature*)unitTarget)->IsAIEnabled) + if(((Creature*)unitTarget)->IsAIEnabled && !((Creature*)unitTarget)->HasReactState(REACT_PASSIVE)) ((Creature*)unitTarget)->AI()->AttackStart(m_caster); } diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index c287713b6c2..0588e5fe2a2 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -10681,6 +10681,9 @@ void Unit::TauntApply(Unit* taunter) if(!CanHaveThreatList()) return; + if(((Creature*)this)->HasReactState(REACT_PASSIVE)) + return; + Unit *target = getVictim(); if(target && target == taunter) return; @@ -10704,6 +10707,9 @@ void Unit::TauntFadeOut(Unit *taunter) if(!CanHaveThreatList()) return; + if(((Creature*)this)->HasReactState(REACT_PASSIVE)) + return; + Unit *target = getVictim(); if(!target || target != taunter) return; @@ -12813,8 +12819,8 @@ bool Unit::IsTriggeredAtSpellProcEvent(Unit *pVictim, Aura * aura, SpellEntry co return false; // Do not proc spells for totem if aura does not require family to proc - if (GetTypeId()==TYPEID_UNIT && isTotem() && ((*Totem)this)->target->IsControlledByPlayer()) - if (!spellProcEvent || !spellProcEvent->spellFamilyFlags) + if (GetTypeId()==TYPEID_UNIT && ((Creature*)this)->isTotem() && ((Totem*)this)->IsControlledByPlayer()) + if (!spellProcEvent || !spellProcEvent->spellFamilyName) return false; // Additional checks for triggered spells |