aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/SpellEffects.cpp2
-rw-r--r--src/game/Unit.cpp10
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