aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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;