aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorlinencloth <none@none>2010-11-13 23:51:23 +0100
committerlinencloth <none@none>2010-11-13 23:51:23 +0100
commit7811c89a93ea1608043c404b2173bf80155050a0 (patch)
treeabc00fce3371426e495a76c332fe5bd3c29ad7ae /src
parent7beb14b177d61a20d581856b68893466fda5b71b (diff)
Core/MovementGenerators: Don't remove evade state when clearing unit states.
Core/Spells: Don't start combat when the target is evading. Closes issue 1861 --HG-- branch : trunk
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp2
-rwxr-xr-xsrc/server/game/Spells/Spell.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp
index 60782213d11..2fcfff29792 100755
--- a/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp
@@ -54,7 +54,7 @@ HomeMovementGenerator<Creature>::_setTargetLocation(Creature & owner)
uint32 travel_time = i_destinationHolder.SetDestination(traveller, x, y, z);
modifyTravelTime(travel_time);
- owner.clearUnitState(UNIT_STAT_ALL_STATE);
+ owner.clearUnitState(UNIT_STAT_ALL_STATE & ~UNIT_STAT_EVADE);
}
bool
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 9ce3d89a99d..07a11fa9842 100755
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -1321,7 +1321,7 @@ void Spell::DoAllEffectOnTarget(TargetInfo *target)
}
}
- if (m_caster && !m_caster->IsFriendlyTo(unit) && !IsPositiveSpell(m_spellInfo->Id))
+ if (missInfo != SPELL_MISS_EVADE && m_caster && !m_caster->IsFriendlyTo(unit) && !IsPositiveSpell(m_spellInfo->Id))
{
m_caster->CombatStart(unit, !(m_spellInfo->AttributesEx3 & SPELL_ATTR_EX3_NO_INITIAL_AGGRO));