summaryrefslogtreecommitdiff
path: root/src/net/eathena/beinghandler.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-09-17 20:26:48 +0300
committerAndrei Karas <akaras@inbox.ru>2014-09-17 20:26:48 +0300
commitdbadb2f336a56bc2a037c0a0386b83e88b512ca3 (patch)
tree43370122fa479bb7c9e816649984e1a2207c0d46 /src/net/eathena/beinghandler.cpp
parentadd9701f5d104cc130e6589ed211f1beb7966052 (diff)
downloadmv-dbadb2f336a56bc2a037c0a0386b83e88b512ca3.tar.gz
mv-dbadb2f336a56bc2a037c0a0386b83e88b512ca3.tar.bz2
mv-dbadb2f336a56bc2a037c0a0386b83e88b512ca3.tar.xz
mv-dbadb2f336a56bc2a037c0a0386b83e88b512ca3.zip
Move processBeingResurrect from ea namespace into eathena and tmwa.
Diffstat (limited to 'src/net/eathena/beinghandler.cpp')
-rw-r--r--src/net/eathena/beinghandler.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp
index 76debad6d..b6327b30f 100644
--- a/src/net/eathena/beinghandler.cpp
+++ b/src/net/eathena/beinghandler.cpp
@@ -1734,4 +1734,32 @@ void BeingHandler::processPlaterStatusChange(Net::MessageIn &msg) const
BLOCK_END("BeingHandler::processPlayerStop")
}
+void BeingHandler::processBeingResurrect(Net::MessageIn &msg) const
+{
+ BLOCK_START("BeingHandler::processBeingResurrect")
+ if (!actorManager || !localPlayer)
+ {
+ BLOCK_END("BeingHandler::processBeingResurrect")
+ return;
+ }
+
+ // A being changed mortality status
+
+ const int id = msg.readInt32("being id");
+ Being *const dstBeing = actorManager->findBeing(id);
+ if (!dstBeing)
+ {
+ BLOCK_END("BeingHandler::processBeingResurrect")
+ return;
+ }
+
+ // If this is player's current target, clear it.
+ if (dstBeing == localPlayer->getTarget())
+ localPlayer->stopAttack();
+
+ if (msg.readUInt8("flag?") == 1U)
+ dstBeing->setAction(BeingAction::STAND, 0);
+ BLOCK_END("BeingHandler::processBeingResurrect")
+}
+
} // namespace EAthena