diff options
| author | Manuel Carrasco <mgcarrasco2012@gmail.com> | 2016-10-20 13:42:13 -0300 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2016-10-20 18:42:13 +0200 |
| commit | 7fa191f77425fe5f1c532f47a36dba302ec8da6f (patch) | |
| tree | 2c6cd5e3f2a3a11c19bf6fe6dae9e51d5ad88998 /src/server/game/AI | |
| parent | 4881e45688c3d8f64cf2efaa7553ecbc02a0884a (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.cpp | 13 |
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); } } |
