From 67447c1b30e85c022e66abfa886bf68f78de4d81 Mon Sep 17 00:00:00 2001
From: Andrei Karas <akaras@inbox.ru>
Date: Mon, 6 Mar 2017 20:20:19 +0300
Subject: Fix packet warnings for server plugin version < 16.

---
 src/net/eathena/beingrecv.cpp | 60 ++++++++++++++++++++++++++++++++++---------
 1 file changed, 48 insertions(+), 12 deletions(-)

(limited to 'src/net')

diff --git a/src/net/eathena/beingrecv.cpp b/src/net/eathena/beingrecv.cpp
index 58f297abd..767876a39 100644
--- a/src/net/eathena/beingrecv.cpp
+++ b/src/net/eathena/beingrecv.cpp
@@ -495,13 +495,25 @@ void BeingRecv::processBeingVisible(Net::MessageIn &msg)
         msg.readInt8("is boss");
     }
 
-    if (msg.getVersion() >= 20150513)
+    if (serverVersion == 0 ||
+        serverVersion >= 16)
     {
-        msg.readInt16("body2");
+        if (msg.getVersion() >= 20150513)
+        {
+            msg.readInt16("body2");
+        }
+        if (msg.getVersion() >= 20131223)
+        {
+            msg.readString(24, "name");
+        }
     }
-    if (msg.getVersion() >= 20131223)
+    else
     {
-        msg.readString(24, "name");
+        if (msg.getVersion() >= 20150513)
+        {
+            msg.readInt16("body2");
+            msg.readString(24, "name");
+        }
     }
 
     dstBeing->setStatusEffectOpitons(option,
@@ -724,13 +736,25 @@ void BeingRecv::processBeingMove(Net::MessageIn &msg)
         dstBeing->setHP(hp);
         msg.readInt8("is boss");
     }
-    if (msg.getVersion() >= 20150513)
+    if (serverVersion == 0 ||
+        serverVersion >= 16)
     {
-        msg.readInt16("body2");
+        if (msg.getVersion() >= 20150513)
+        {
+            msg.readInt16("body2");
+        }
+        if (msg.getVersion() >= 20131223)
+        {
+            msg.readString(24, "name");
+        }
     }
-    if (msg.getVersion() >= 20131223)
+    else
     {
-        msg.readString(24, "name");
+        if (msg.getVersion() >= 20150513)
+        {
+            msg.readInt16("body2");
+            msg.readString(24, "name");
+        }
     }
 
     dstBeing->setStatusEffectOpitons(option,
@@ -928,13 +952,25 @@ void BeingRecv::processBeingSpawn(Net::MessageIn &msg)
         dstBeing->setHP(hp);
         msg.readInt8("is boss");
     }
-    if (msg.getVersion() >= 20150513)
+    if (serverVersion == 0 ||
+        serverVersion >= 16)
     {
-        msg.readInt16("body2");
+        if (msg.getVersion() >= 20150513)
+        {
+            msg.readInt16("body2");
+        }
+        if (msg.getVersion() >= 20131223)
+        {
+            msg.readString(24, "name");
+        }
     }
-    if (msg.getVersion() >= 20131223)
+    else
     {
-        msg.readString(24, "name");
+        if (msg.getVersion() >= 20150513)
+        {
+            msg.readInt16("body2");
+            msg.readString(24, "name");
+        }
     }
 
     dstBeing->setStatusEffectOpitons(option,
-- 
cgit v1.2.3-70-g09d2