summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/net/eathena/battlegroundrecv.cpp18
-rw-r--r--src/net/eathena/battlegroundrecv.h1
-rw-r--r--src/net/eathena/network.h2
-rw-r--r--src/net/eathena/packetsin.inc1
4 files changed, 20 insertions, 2 deletions
diff --git a/src/net/eathena/battlegroundrecv.cpp b/src/net/eathena/battlegroundrecv.cpp
index 72bfe7d3c..48525a37c 100644
--- a/src/net/eathena/battlegroundrecv.cpp
+++ b/src/net/eathena/battlegroundrecv.cpp
@@ -20,8 +20,11 @@
#include "net/eathena/battlegroundrecv.h"
+#include "actormanager.h"
#include "logger.h"
+#include "being/being.h"
+
#include "net/messagein.h"
#include "debug.h"
@@ -34,7 +37,20 @@ void BattleGroundRecv::processBattleEmblem(Net::MessageIn &msg)
UNIMPLIMENTEDPACKET;
msg.readBeingId("account id");
msg.readString(24, "name");
- msg.readInt16("camp");
+ msg.readInt16("bg id");
+}
+
+void BattleGroundRecv::processBattleEmblem2(Net::MessageIn &msg)
+{
+ const BeingId id = msg.readBeingId("account id");
+ msg.readString(24, "name");
+ msg.readInt16("bg id");
+ const int teamId = msg.readInt16("team id");
+
+ Being *const dstBeing = actorManager->findBeing(id);
+ if (dstBeing)
+ dstBeing->setTeamId(teamId);
+
}
void BattleGroundRecv::processBattleUpdateScore(Net::MessageIn &msg)
diff --git a/src/net/eathena/battlegroundrecv.h b/src/net/eathena/battlegroundrecv.h
index 20b0c6ebf..4d88384bf 100644
--- a/src/net/eathena/battlegroundrecv.h
+++ b/src/net/eathena/battlegroundrecv.h
@@ -33,6 +33,7 @@ namespace EAthena
namespace BattleGroundRecv
{
void processBattleEmblem(Net::MessageIn &msg);
+ void processBattleEmblem2(Net::MessageIn &msg);
void processBattleUpdateScore(Net::MessageIn &msg);
void processBattleUpdateCoords(Net::MessageIn &msg);
void processBattlePlay(Net::MessageIn &msg);
diff --git a/src/net/eathena/network.h b/src/net/eathena/network.h
index 695d8cea4..b2b2f3532 100644
--- a/src/net/eathena/network.h
+++ b/src/net/eathena/network.h
@@ -29,7 +29,7 @@
* Protocol version, reported to the eAthena char and mapserver who can adjust
* the protocol accordingly.
*/
-#define CLIENT_PROTOCOL_VERSION 11
+#define CLIENT_PROTOCOL_VERSION 12
namespace EAthena
{
diff --git a/src/net/eathena/packetsin.inc b/src/net/eathena/packetsin.inc
index 4f027d3e6..c2f786d22 100644
--- a/src/net/eathena/packetsin.inc
+++ b/src/net/eathena/packetsin.inc
@@ -37,6 +37,7 @@ packet(SMSG_BANK_WITHDRAW, 0x09aa, 16, &BankRecv::processBankWi
packet(SMSG_BATTLE_BEGINS, 0x08df, 50, &BattleGroundRecv::processBattleBegins);
packet(SMSG_BATTLE_CHAT_MESSAGE, 0x02dc, -1, &ChatRecv::processBattleChatMessage);
packet(SMSG_BATTLE_EMBLEM, 0x02dd, 32, &BattleGroundRecv::processBattleEmblem);
+packet(SMSG_BATTLE_EMBLEM2, 0x0b1a, 34, &BattleGroundRecv::processBattleEmblem2);
packet(SMSG_BATTLE_JOINED, 0x08d9, 30, &BattleGroundRecv::processBattleJoined);
packet(SMSG_BATTLE_NOTICE_DELETE, 0x08db, 27, &BattleGroundRecv::processBattleNoticeDelete);
packet(SMSG_BATTLE_PLAY, 0x07fe, 26, &BattleGroundRecv::processBattlePlay);