aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/AI
diff options
context:
space:
mode:
authorManuel Carrasco <mgcarrasco2012@gmail.com>2016-10-20 13:42:13 -0300
committerShauren <shauren.trinity@gmail.com>2016-10-20 18:42:13 +0200
commit7fa191f77425fe5f1c532f47a36dba302ec8da6f (patch)
tree2c6cd5e3f2a3a11c19bf6fe6dae9e51d5ad88998 /src/server/game/AI
parent4881e45688c3d8f64cf2efaa7553ecbc02a0884a (diff)
Core/AI: initial support for monster sparring (#17673)
(cherry picked from commit 303066509d907d4836a935371492092f05d47c7e)
Diffstat (limited to 'src/server/game/AI')
-rw-r--r--src/server/game/AI/CoreAI/UnitAI.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/server/game/AI/CoreAI/UnitAI.cpp b/src/server/game/AI/CoreAI/UnitAI.cpp
index 28f1308b57f..52a6aaff65e 100644
--- a/src/server/game/AI/CoreAI/UnitAI.cpp
+++ b/src/server/game/AI/CoreAI/UnitAI.cpp
@@ -56,16 +56,25 @@ void UnitAI::DoMeleeAttackIfReady()
if (!me->IsWithinMeleeRange(victim))
return;
+ bool sparAttack = me->GetFactionTemplateEntry()->ShouldSparAttack() && victim->GetFactionTemplateEntry()->ShouldSparAttack();
//Make sure our attack is ready and we aren't currently casting before checking distance
if (me->isAttackReady())
{
- me->AttackerStateUpdate(victim);
+ if (sparAttack)
+ me->FakeAttackerStateUpdate(victim);
+ else
+ me->AttackerStateUpdate(victim);
+
me->resetAttackTimer();
}
if (me->haveOffhandWeapon() && me->isAttackReady(OFF_ATTACK))
{
- me->AttackerStateUpdate(victim, OFF_ATTACK);
+ if (sparAttack)
+ me->FakeAttackerStateUpdate(victim, OFF_ATTACK);
+ else
+ me->AttackerStateUpdate(victim, OFF_ATTACK);
+
me->resetAttackTimer(OFF_ATTACK);
}
}