summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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