summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-10-18 16:57:09 +0300
committerAndrei Karas <akaras@inbox.ru>2015-10-18 16:57:09 +0300
commit6d5d21de014f242f1929d6afdc72a52f61655df3 (patch)
tree948c322f8d8a2f0706fd72d33dfa94d7aa42efcb
parentae7d05fce2107e762e84a287f33f2dbad60abd7d (diff)
downloadmanaplus-6d5d21de014f242f1929d6afdc72a52f61655df3.tar.gz
manaplus-6d5d21de014f242f1929d6afdc72a52f61655df3.tar.bz2
manaplus-6d5d21de014f242f1929d6afdc72a52f61655df3.tar.xz
manaplus-6d5d21de014f242f1929d6afdc72a52f61655df3.zip
Join "option" to opt2 (status effect) for using as effects (hercules)
-rw-r--r--src/net/eathena/beingrecv.cpp19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/net/eathena/beingrecv.cpp b/src/net/eathena/beingrecv.cpp
index 690ae2552..23f731c2d 100644
--- a/src/net/eathena/beingrecv.cpp
+++ b/src/net/eathena/beingrecv.cpp
@@ -261,9 +261,8 @@ void BeingRecv::processBeingVisible(Net::MessageIn &msg)
int16_t speed = msg.readInt16("speed");
const uint16_t stunMode = msg.readInt16("opt1");
// probably wrong effect usage
- const uint32_t statusEffects = msg.readInt16("opt2");
- msg.readInt32("option");
-
+ uint32_t statusEffects = msg.readInt16("opt2");
+ statusEffects |= (static_cast<uint32_t>(msg.readInt32("option"))) << 16;
const int16_t job = msg.readInt16("class");
Being *dstBeing = actorManager->findBeing(id);
@@ -423,7 +422,7 @@ void BeingRecv::processBeingMove(Net::MessageIn &msg)
// {
const uint16_t stunMode = msg.readInt16("opt1");
// probably wrong effect usage
- const uint32_t statusEffects = msg.readInt16("opt2");
+ uint32_t statusEffects = msg.readInt16("opt2");
// }
// else
// {
@@ -431,8 +430,7 @@ void BeingRecv::processBeingMove(Net::MessageIn &msg)
// msg.readInt16("body state");
// msg.readInt16("health state");
// }
- msg.readInt32("effect state");
-
+ statusEffects |= (static_cast<uint32_t>(msg.readInt32("option"))) << 16;
const int16_t job = msg.readInt16("class");
Being *dstBeing = actorManager->findBeing(id);
@@ -594,7 +592,7 @@ void BeingRecv::processBeingSpawn(Net::MessageIn &msg)
// {
const uint16_t stunMode = msg.readInt16("opt1");
// probably wrong effect usage
- const uint32_t statusEffects = msg.readInt16("opt2");
+ uint32_t statusEffects = msg.readInt16("opt2");
// }
// else
// {
@@ -602,8 +600,7 @@ void BeingRecv::processBeingSpawn(Net::MessageIn &msg)
// msg.readInt16("body state");
// msg.readInt16("health state");
// }
- msg.readInt32("effect state");
-
+ statusEffects |= (static_cast<uint32_t>(msg.readInt32("option"))) << 16;
const int16_t job = msg.readInt16("class");
Being *dstBeing = actorManager->findBeing(id);
@@ -1179,7 +1176,7 @@ void BeingRecv::processPlaterStatusChange(Net::MessageIn &msg)
const uint16_t stunMode = msg.readInt16("stun mode");
uint32_t statusEffects = msg.readInt16("status effect");
- statusEffects |= (static_cast<uint32_t>(msg.readInt32("opt?"))) << 16;
+ statusEffects |= (static_cast<uint32_t>(msg.readInt32("option"))) << 16;
dstBeing->setKarma(msg.readUInt8("karma"));
dstBeing->setStunMode(stunMode);
@@ -1195,6 +1192,8 @@ void BeingRecv::processPlaterStatusChange2(Net::MessageIn &msg)
if (!actorManager)
return;
+ // look like this function unused on server
+
const BeingId id = msg.readBeingId("account id");
Being *const dstBeing = actorManager->findBeing(id);
if (!dstBeing)