aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/AI/CoreAI/UnitAI.cpp24
1 files changed, 7 insertions, 17 deletions
diff --git a/src/server/game/AI/CoreAI/UnitAI.cpp b/src/server/game/AI/CoreAI/UnitAI.cpp
index b6517e3396b..39bdf219880 100755
--- a/src/server/game/AI/CoreAI/UnitAI.cpp
+++ b/src/server/game/AI/CoreAI/UnitAI.cpp
@@ -43,27 +43,17 @@ void UnitAI::DoMeleeAttackIfReady()
return;
Unit *victim = me->getVictim();
- if (!victim || !victim->IsInWorld())
- return;
-
//Make sure our attack is ready and we aren't currently casting before checking distance
- if (me->isAttackReady())
+ if (me->isAttackReady() && me->IsWithinMeleeRange(victim))
{
- //If we are within range melee the target
- if (me->IsWithinMeleeRange(victim))
- {
- me->AttackerStateUpdate(victim);
- me->resetAttackTimer();
- }
+ me->AttackerStateUpdate(victim);
+ me->resetAttackTimer();
}
- if (me->haveOffhandWeapon() && me->isAttackReady(OFF_ATTACK))
+
+ if (me->haveOffhandWeapon() && me->isAttackReady(OFF_ATTACK) && me->IsWithinMeleeRange(victim))
{
- //If we are within range melee the target
- if (me->IsWithinMeleeRange(victim))
- {
- me->AttackerStateUpdate(victim, OFF_ATTACK);
- me->resetAttackTimer(OFF_ATTACK);
- }
+ me->AttackerStateUpdate(victim, OFF_ATTACK);
+ me->resetAttackTimer(OFF_ATTACK);
}
}