diff options
Diffstat (limited to 'src/net/eathena')
-rw-r--r-- | src/net/eathena/pethandler.cpp | 31 | ||||
-rw-r--r-- | src/net/eathena/pethandler.h | 10 | ||||
-rw-r--r-- | src/net/eathena/protocol.h | 1 |
3 files changed, 42 insertions, 0 deletions
diff --git a/src/net/eathena/pethandler.cpp b/src/net/eathena/pethandler.cpp index baf6d1056..c565cd280 100644 --- a/src/net/eathena/pethandler.cpp +++ b/src/net/eathena/pethandler.cpp @@ -282,4 +282,35 @@ void PetHandler::processPetFood(Net::MessageIn &msg) msg.readInt16("food id"); } +void PetHandler::requestStatus() const +{ + createOutPacket(CMSG_PET_MENU_ACTION); + outMsg.writeInt8(0); +} + +void PetHandler::feed() const +{ + createOutPacket(CMSG_PET_MENU_ACTION); + outMsg.writeInt8(1); +} + +void PetHandler::dropLoot() const +{ + createOutPacket(CMSG_PET_MENU_ACTION); + outMsg.writeInt8(2); // performance +} + +void PetHandler::returnToEgg() const +{ + createOutPacket(CMSG_PET_MENU_ACTION); + outMsg.writeInt8(3); + PlayerInfo::setPet(nullptr); +} + +void PetHandler::unequip() const +{ + createOutPacket(CMSG_PET_MENU_ACTION); + outMsg.writeInt8(4); +} + } // namespace EAthena diff --git a/src/net/eathena/pethandler.h b/src/net/eathena/pethandler.h index bd6b94c64..3f98b619b 100644 --- a/src/net/eathena/pethandler.h +++ b/src/net/eathena/pethandler.h @@ -57,6 +57,16 @@ class PetHandler final : public MessageHandler, public Net::PetHandler void setName(const std::string &name) const override final; + void requestStatus() const override final; + + void feed() const override final; + + void dropLoot() const override final; + + void returnToEgg() const override final; + + void unequip() const override final; + protected: void processPetRoulette(Net::MessageIn &msg); diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h index ffb76bc99..188599ac0 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -409,6 +409,7 @@ #define CMSG_PET_REQUEST_STATE 0x01a9 #define CMSG_PET_SET_NAME 0x01a5 #define CMSG_PET_SELECT_EGG 0x01a7 +#define CMSG_PET_MENU_ACTION 0x01a1 #define CMSG_DORI_DORI 0x01e7 #define CMSG_EXPLOSION_SPIRITS 0x01ed |