summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-10-03 19:01:07 +0300
committerAndrei Karas <akaras@inbox.ru>2014-10-03 19:01:07 +0300
commitf840d8133e7fe1e76c9e1401a39fc57fecc0b140 (patch)
treee8356a916b3ab2fea596f9ddfb3d8b8832c9beb1 /src/net/eathena
parentb6030e26ed33dd5d5dd85519cacb4644100cb299 (diff)
downloadmanaplus-f840d8133e7fe1e76c9e1401a39fc57fecc0b140.tar.gz
manaplus-f840d8133e7fe1e76c9e1401a39fc57fecc0b140.tar.bz2
manaplus-f840d8133e7fe1e76c9e1401a39fc57fecc0b140.tar.xz
manaplus-f840d8133e7fe1e76c9e1401a39fc57fecc0b140.zip
eathena: add packet SMSG_PLAYER_INSERT_CARD 0x017d.
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/inventoryhandler.cpp15
-rw-r--r--src/net/eathena/inventoryhandler.h2
-rw-r--r--src/net/eathena/protocol.h1
3 files changed, 18 insertions, 0 deletions
diff --git a/src/net/eathena/inventoryhandler.cpp b/src/net/eathena/inventoryhandler.cpp
index 953242462..7605e9177 100644
--- a/src/net/eathena/inventoryhandler.cpp
+++ b/src/net/eathena/inventoryhandler.cpp
@@ -70,6 +70,7 @@ InventoryHandler::InventoryHandler() :
SMSG_PLAYER_ARROW_EQUIP,
SMSG_PLAYER_ATTACK_RANGE,
SMSG_PLAYER_UNE_CARD,
+ SMSG_PLAYER_INSERT_CARD,
0
};
handledMessages = _messages;
@@ -156,6 +157,10 @@ void InventoryHandler::handleMessage(Net::MessageIn &msg)
processPlayerUseCard(msg);
break;
+ case SMSG_PLAYER_INSERT_CARD:
+ processPlayerInsertCard(msg);
+ break;
+
default:
break;
}
@@ -604,6 +609,16 @@ void InventoryHandler::processPlayerUseCard(Net::MessageIn &msg)
}
}
+void InventoryHandler::processPlayerInsertCard(Net::MessageIn &msg)
+{
+ msg.readInt16("item index");
+ msg.readInt16("card index");
+ if (msg.readUInt8("flag"))
+ NotifyManager::notify(NotifyTypes::CARD_INSERT_FAILED);
+ else
+ NotifyManager::notify(NotifyTypes::CARD_INSERT_SUCCESS);
+}
+
void InventoryHandler::selectEgg(const Item *const item) const
{
createOutPacket(CMSG_PET_SELECT_EGG);
diff --git a/src/net/eathena/inventoryhandler.h b/src/net/eathena/inventoryhandler.h
index b00d7af51..b2f4db74b 100644
--- a/src/net/eathena/inventoryhandler.h
+++ b/src/net/eathena/inventoryhandler.h
@@ -88,6 +88,8 @@ class InventoryHandler final : public MessageHandler,
void processPlayerStorageAdd(Net::MessageIn &msg);
void processPlayerUseCard(Net::MessageIn &msg);
+
+ void processPlayerInsertCard(Net::MessageIn &msg);
};
} // namespace EAthena
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index 4d6370a69..03de8c3ad 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -75,6 +75,7 @@
#define SMSG_PLAYER_EQUIP 0x0999
#define SMSG_PLAYER_UNEQUIP 0x099a
#define SMSG_PLAYER_UNE_CARD 0x017b
+#define SMSG_PLAYER_INSERT_CARD 0x017d
#define SMSG_PLAYER_ATTACK_RANGE 0x013a
#define SMSG_PLAYER_ARROW_EQUIP 0x013c
#define SMSG_PLAYER_ARROW_MESSAGE 0x013b