From 19d5a1ca912c89d46ea567079777d0fff1211c25 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 25 Sep 2014 23:13:19 +0300 Subject: Add simple attack logic for mercenary and homunculus. --- src/being/localplayer.cpp | 4 +++- src/being/playerinfo.cpp | 8 ++++++++ src/being/playerinfo.h | 2 ++ 3 files changed, 13 insertions(+), 1 deletion(-) (limited to 'src/being') diff --git a/src/being/localplayer.cpp b/src/being/localplayer.cpp index a160896fb..819032af7 100644 --- a/src/being/localplayer.cpp +++ b/src/being/localplayer.cpp @@ -771,7 +771,9 @@ void LocalPlayer::attack(Being *const target, const bool keep, if (!dontChangeEquipment) changeEquipmentBeforeAttack(target); - playerHandler->attack(target->getId(), mServerAttack); + const int targetId = target->getId(); + playerHandler->attack(targetId, mServerAttack); + PlayerInfo::updateAttackAi(targetId, mServerAttack); } if (!keep) diff --git a/src/being/playerinfo.cpp b/src/being/playerinfo.cpp index d2749a9b1..07696b66c 100644 --- a/src/being/playerinfo.cpp +++ b/src/being/playerinfo.cpp @@ -553,4 +553,12 @@ void updateMoveAI() homunculusHandler->moveToMaster(); } +void updateAttackAi(const int targetId, const bool keep) +{ + if (mMercenary) + mercenaryHandler->attack(targetId, keep); + if (mHomunculus) + homunculusHandler->attack(targetId, keep); +} + } // namespace PlayerInfo diff --git a/src/being/playerinfo.h b/src/being/playerinfo.h index 784a3b8ea..c4ccfd4be 100644 --- a/src/being/playerinfo.h +++ b/src/being/playerinfo.h @@ -262,6 +262,8 @@ namespace PlayerInfo int getMercenaryId(); void updateMoveAI(); + + void updateAttackAi(const int targetId, const bool keep); } // namespace PlayerInfo #endif // BEING_PLAYERINFO_H -- cgit v1.2.3-70-g09d2