diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-08-22 22:04:07 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-08-22 22:04:07 +0300 |
commit | 7f716b84fcad512a49e3122bc1bc49f3c5437cc8 (patch) | |
tree | e5972d155b0783db9b29aeb5c8fd095c3f6bbeb4 /src/net/eathena | |
parent | b7c2e8491471af7eaf92f1f93d1cbd394a295ee3 (diff) | |
download | plus-7f716b84fcad512a49e3122bc1bc49f3c5437cc8.tar.gz plus-7f716b84fcad512a49e3122bc1bc49f3c5437cc8.tar.bz2 plus-7f716b84fcad512a49e3122bc1bc49f3c5437cc8.tar.xz plus-7f716b84fcad512a49e3122bc1bc49f3c5437cc8.zip |
Impliment packet SMSG_PLAYER_SKILL_MESSAGE.
Diffstat (limited to 'src/net/eathena')
-rw-r--r-- | src/net/eathena/playerhandler.cpp | 46 |
1 files changed, 43 insertions, 3 deletions
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, |