From 664a3cfbd51576334c1ad522d34dd5ed1d141e45 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 14 Sep 2014 20:47:32 +0300 Subject: Move processPlaterStatusChange from ea namespace into eathena and tmwa. --- src/net/tmwa/beinghandler.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/net/tmwa/beinghandler.cpp') diff --git a/src/net/tmwa/beinghandler.cpp b/src/net/tmwa/beinghandler.cpp index 5b62cafb4..cdc3a59f7 100644 --- a/src/net/tmwa/beinghandler.cpp +++ b/src/net/tmwa/beinghandler.cpp @@ -1557,4 +1557,32 @@ void BeingHandler::applyPlayerAction(Being *const being, const uint8_t type) } } +void BeingHandler::processPlaterStatusChange(Net::MessageIn &msg) const +{ + BLOCK_START("BeingHandler::processPlayerStop") + if (!actorManager) + { + BLOCK_END("BeingHandler::processPlayerStop") + return; + } + + // Change in players' flags + const int id = msg.readInt32("account id"); + Being *const dstBeing = actorManager->findBeing(id); + if (!dstBeing) + return; + + const uint16_t stunMode = msg.readInt16("stun mode"); + uint32_t statusEffects = msg.readInt16("status effect"); + statusEffects |= (static_cast(msg.readInt16("opt?"))) << 16; + msg.readUInt8("Unused?"); + + dstBeing->setStunMode(stunMode); + dstBeing->setStatusEffectBlock(0, static_cast( + (statusEffects >> 16) & 0xffff)); + dstBeing->setStatusEffectBlock(16, static_cast( + statusEffects & 0xffff)); + BLOCK_END("BeingHandler::processPlayerStop") +} + } // namespace TmwAthena -- cgit v1.2.3-70-g09d2