summaryrefslogtreecommitdiff
path: root/src/being
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-09-25 23:04:34 +0300
committerAndrei Karas <akaras@inbox.ru>2014-09-25 23:04:34 +0300
commit42701a1ac7b553f445b68c23fd115cc522d1b679 (patch)
treee16c5577d7c2f3fb6e1e2bcbaa69f05a5faebeeb /src/being
parenta8f264a9aad2ec9d90759a65d556cc97d7785fb6 (diff)
downloadmv-42701a1ac7b553f445b68c23fd115cc522d1b679.tar.gz
mv-42701a1ac7b553f445b68c23fd115cc522d1b679.tar.bz2
mv-42701a1ac7b553f445b68c23fd115cc522d1b679.tar.xz
mv-42701a1ac7b553f445b68c23fd115cc522d1b679.zip
Add simple follow logic for mercenary and homunculus.
Diffstat (limited to 'src/being')
-rw-r--r--src/being/localplayer.cpp2
-rw-r--r--src/being/playerinfo.cpp10
-rw-r--r--src/being/playerinfo.h2
3 files changed, 14 insertions, 0 deletions
diff --git a/src/being/localplayer.cpp b/src/being/localplayer.cpp
index 30e323d7e..a160896fb 100644
--- a/src/being/localplayer.cpp
+++ b/src/being/localplayer.cpp
@@ -460,6 +460,8 @@ void LocalPlayer::nextTile(unsigned char dir A_UNUSED = 0)
{
Being::nextTile();
}
+
+ PlayerInfo::updateMoveAI();
}
bool LocalPlayer::pickUp(FloorItem *const item)
diff --git a/src/being/playerinfo.cpp b/src/being/playerinfo.cpp
index 428878af9..d2749a9b1 100644
--- a/src/being/playerinfo.cpp
+++ b/src/being/playerinfo.cpp
@@ -39,7 +39,9 @@
#include "resources/iteminfo.h"
+#include "net/homunculushandler.h"
#include "net/inventoryhandler.h"
+#include "net/mercenaryhandler.h"
#include "net/net.h"
#include "net/playerhandler.h"
@@ -543,4 +545,12 @@ int getMercenaryId()
return mMercenary ? mMercenary->id : 0;
}
+void updateMoveAI()
+{
+ if (mMercenary)
+ mercenaryHandler->moveToMaster();
+ if (mHomunculus)
+ homunculusHandler->moveToMaster();
+}
+
} // namespace PlayerInfo
diff --git a/src/being/playerinfo.h b/src/being/playerinfo.h
index 6082aa740..784a3b8ea 100644
--- a/src/being/playerinfo.h
+++ b/src/being/playerinfo.h
@@ -260,6 +260,8 @@ namespace PlayerInfo
int getHomunculusId();
int getMercenaryId();
+
+ void updateMoveAI();
} // namespace PlayerInfo
#endif // BEING_PLAYERINFO_H