diff options
author | linencloth <none@none> | 2010-11-13 23:51:23 +0100 |
---|---|---|
committer | linencloth <none@none> | 2010-11-13 23:51:23 +0100 |
commit | 7811c89a93ea1608043c404b2173bf80155050a0 (patch) | |
tree | abc00fce3371426e495a76c332fe5bd3c29ad7ae /src | |
parent | 7beb14b177d61a20d581856b68893466fda5b71b (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-x | src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp | 2 | ||||
-rwxr-xr-x | src/server/game/Spells/Spell.cpp | 2 |
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)); |