From 7f716b84fcad512a49e3122bc1bc49f3c5437cc8 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 22 Aug 2015 22:04:07 +0300 Subject: Impliment packet SMSG_PLAYER_SKILL_MESSAGE. --- src/net/eathena/playerhandler.cpp | 46 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 43 insertions(+), 3 deletions(-) (limited to 'src/net/eathena') diff --git a/src/net/eathena/playerhandler.cpp b/src/net/eathena/playerhandler.cpp index 984713cc8..2988bf21b 100644 --- a/src/net/eathena/playerhandler.cpp +++ b/src/net/eathena/playerhandler.cpp @@ -24,11 +24,14 @@ #include "configuration.h" #include "game.h" +#include "notifymanager.h" #include "being/beingflag.h" #include "being/localplayer.h" #include "being/playerinfo.h" +#include "enums/resources/notifytypes.h" + #include "gui/onlineplayer.h" #include "gui/windows/statuswindow.h" @@ -578,9 +581,46 @@ void PlayerHandler::processPlayerHeal(Net::MessageIn &msg) void PlayerHandler::processPlayerSkillMessage(Net::MessageIn &msg) { - UNIMPLIMENTEDPACKET; - // +++ need show this message - msg.readInt32("type"); + const int message = msg.readInt32("type"); + switch (message) + { + case 0x15: + NotifyManager::notify(NotifyTypes::SKILL_END_ALL_NEGATIVE_STATUS); + break; + case 0x16: + NotifyManager::notify(NotifyTypes::SKILL_IMMUNITY_TO_ALL_STATUSES); + break; + case 0x17: + NotifyManager::notify(NotifyTypes::SKILL_MAX_HP); + break; + case 0x18: + NotifyManager::notify(NotifyTypes::SKILL_MAX_SP); + break; + case 0x19: + NotifyManager::notify(NotifyTypes::SKILL_ALL_STATUS_PLUS_20); + break; + case 0x1c: + NotifyManager::notify(NotifyTypes::SKILL_ENCHANT_WEAPON_HOLY); + break; + case 0x1d: + NotifyManager::notify(NotifyTypes::SKILL_ENCHANT_ARMOR_HOLY); + break; + case 0x1e: + NotifyManager::notify(NotifyTypes::SKILL_DEF_PLUS_25); + break; + case 0x1f: + NotifyManager::notify(NotifyTypes::SKILL_ATTACK_PLUS_100); + break; + case 0x20: + NotifyManager::notify(NotifyTypes::SKILL_FLEE_PLUS_50); + break; + case 0x28: + NotifyManager::notify(NotifyTypes::SKILL_FULL_STRIP_FAILED); + break; + default: + NotifyManager::notify(NotifyTypes::SKILL_MESSAGE_UNKNOWN); + break; + } } void PlayerHandler::setStat(Net::MessageIn &msg, -- cgit v1.2.3-70-g09d2