aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormegamage <none@none>2009-09-02 15:15:34 -0500
committermegamage <none@none>2009-09-02 15:15:34 -0500
commitf49754447b51f6b25b61e3067a2b40508dd60116 (patch)
tree621c8476545077e1b6071a0c76222f3e9a72245d
parent85ab4599eeeed2faa7cf6903fd0536f4ddf80b93 (diff)
*Fix the bug that Elemental Invisibility causes the creatures to constantly evade. Thanks to XTElite1 and simon
--HG-- branch : trunk
-rw-r--r--src/game/Unit.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index e175896ca48..07188a9d9aa 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -10597,8 +10597,10 @@ bool Unit::canAttack(Unit const* target, bool force) const
if(!target->isAttackableByAOE() || target->hasUnitState(UNIT_STAT_DIED))
return false;
- if((m_invisibilityMask || target->m_invisibilityMask) && !canDetectInvisibilityOf(target))
- return false;
+ // shaman totem quests: spell 8898, shaman can detect elementals but elementals cannot see shaman
+ if(m_invisibilityMask || target->m_invisibilityMask)
+ if(!canDetectInvisibilityOf(target) && !target->canDetectInvisibilityOf(target))
+ return false;
if(target->GetVisibility() == VISIBILITY_GROUP_STEALTH && !canDetectStealthOf(target, GetDistance(target)))
return false;