diff options
Diffstat (limited to 'src/net/ea')
-rw-r--r-- | src/net/ea/protocol.h | 5 | ||||
-rw-r--r-- | src/net/ea/specialhandler.cpp | 15 |
2 files changed, 17 insertions, 3 deletions
diff --git a/src/net/ea/protocol.h b/src/net/ea/protocol.h index ce8417bf..fcb96f22 100644 --- a/src/net/ea/protocol.h +++ b/src/net/ea/protocol.h @@ -161,6 +161,11 @@ static const int STORAGE_OFFSET = 1; #define CMSG_SKILL_LEVELUP_REQUEST 0x0112 #define CMSG_STAT_UPDATE_REQUEST 0x00bb +#define CMSG_SKILL_USE_BEING 0x0113 +#define CMSG_SKILL_USE_POSITION 0x0116 +// Variant of 0x116 with 80 char string at end (unsure of use) +#define CMSG_SKILL_USE_POSITION_MORE 0x0190 +#define CMSG_SKILL_USE_MAP 0x011b #define CMSG_PLAYER_INVENTORY_USE 0x00a7 #define CMSG_PLAYER_INVENTORY_DROP 0x00a2 diff --git a/src/net/ea/specialhandler.cpp b/src/net/ea/specialhandler.cpp index e75ed1bb..218ff795 100644 --- a/src/net/ea/specialhandler.cpp +++ b/src/net/ea/specialhandler.cpp @@ -230,17 +230,26 @@ void SpecialHandler::use(int id) void SpecialHandler::use(int id, int level, int beingId) { - // TODO + MessageOut outMsg(CMSG_SKILL_USE_BEING); + outMsg.writeInt16(level); + outMsg.writeInt16(id); + outMsg.writeInt16(beingId); } void SpecialHandler::use(int id, int level, int x, int y) { - // TODO + MessageOut outMsg(CMSG_SKILL_USE_POSITION); + outMsg.writeInt16(level); + outMsg.writeInt16(id); + outMsg.writeInt16(x); + outMsg.writeInt16(y); } void SpecialHandler::use(int id, const std::string &map) { - // TODO + MessageOut outMsg(CMSG_SKILL_USE_MAP); + outMsg.writeInt16(id); + outMsg.writeString(map, 16); } } // namespace EAthena |