diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-11-23 21:09:02 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-11-23 21:09:02 +0300 |
commit | 13bd88a962de51e32031931dc5af70f6df341f3f (patch) | |
tree | c33b03932da274bc5f7bf5285ed2df04e134cb98 | |
parent | 4b073039498b5a0cf76ce505f0a0a2d840183c7d (diff) | |
download | mv-13bd88a962de51e32031931dc5af70f6df341f3f.tar.gz mv-13bd88a962de51e32031931dc5af70f6df341f3f.tar.bz2 mv-13bd88a962de51e32031931dc5af70f6df341f3f.tar.xz mv-13bd88a962de51e32031931dc5af70f6df341f3f.zip |
Impliment packet SMSG_SKILL_WARP_POINT (hercules)
-rw-r--r-- | src/net/eathena/skillrecv.cpp | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/src/net/eathena/skillrecv.cpp b/src/net/eathena/skillrecv.cpp index 2ddc05e28..cfba6fc9f 100644 --- a/src/net/eathena/skillrecv.cpp +++ b/src/net/eathena/skillrecv.cpp @@ -29,9 +29,13 @@ #include "enums/resources/notifytypes.h" +#include "gui/widgets/createwidget.h" #include "gui/widgets/skillinfo.h" #include "gui/windows/skilldialog.h" +#include "gui/windows/textselectdialog.h" + +#include "listeners/skillwarplistener.h" #include "net/messagein.h" @@ -327,12 +331,18 @@ void SkillRecv::processSkillSnap(Net::MessageIn &msg) void SkillRecv::processSkillWarpPoint(Net::MessageIn &msg) { - UNIMPLIMENTEDPACKET; - msg.readInt16("skill id"); - msg.readString(16, "map name 1"); - msg.readString(16, "map name 2"); - msg.readString(16, "map name 3"); - msg.readString(16, "map name 4"); + const int skillId = msg.readInt16("skill id"); + + TextSelectDialog *const dialog = CREATEWIDGETR(TextSelectDialog, + // TRANSLATORS: warp select window name + _("Select warp target"), + // TRANSLATORS: warp select button + _("Warp")); + skillWarpListener.setDialog(dialog); + skillWarpListener.setSkill(skillId); + dialog->addActionListener(&skillWarpListener); + for (int f = 0; f < 4; f ++) + dialog->addText(msg.readString(16, "map name")); } void SkillRecv::processSkillMemoMessage(Net::MessageIn &msg) |