diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-09-25 23:13:19 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-09-25 23:13:19 +0300 |
commit | 19d5a1ca912c89d46ea567079777d0fff1211c25 (patch) | |
tree | 4fd05c1c6593de88eed22332c60b49dac6cc587c | |
parent | 42701a1ac7b553f445b68c23fd115cc522d1b679 (diff) | |
download | mv-19d5a1ca912c89d46ea567079777d0fff1211c25.tar.gz mv-19d5a1ca912c89d46ea567079777d0fff1211c25.tar.bz2 mv-19d5a1ca912c89d46ea567079777d0fff1211c25.tar.xz mv-19d5a1ca912c89d46ea567079777d0fff1211c25.zip |
Add simple attack logic for mercenary and homunculus.
-rw-r--r-- | src/being/localplayer.cpp | 4 | ||||
-rw-r--r-- | src/being/playerinfo.cpp | 8 | ||||
-rw-r--r-- | src/being/playerinfo.h | 2 |
3 files changed, 13 insertions, 1 deletions
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 |