From 09407c8757f26c3585efa7d3cc5874bd3be90ebe Mon Sep 17 00:00:00 2001 From: megamage Date: Sat, 16 May 2009 15:28:37 -0500 Subject: *Do not allow taunt affect passive creatures. *Fix build. --HG-- branch : trunk --- src/game/SpellEffects.cpp | 2 +- src/game/Unit.cpp | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) (limited to 'src') 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 -- cgit v1.2.3