summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-11-23 21:09:02 +0300
committerAndrei Karas <akaras@inbox.ru>2015-11-23 21:09:02 +0300
commit13bd88a962de51e32031931dc5af70f6df341f3f (patch)
treec33b03932da274bc5f7bf5285ed2df04e134cb98
parent4b073039498b5a0cf76ce505f0a0a2d840183c7d (diff)
downloadplus-13bd88a962de51e32031931dc5af70f6df341f3f.tar.gz
plus-13bd88a962de51e32031931dc5af70f6df341f3f.tar.bz2
plus-13bd88a962de51e32031931dc5af70f6df341f3f.tar.xz
plus-13bd88a962de51e32031931dc5af70f6df341f3f.zip
Impliment packet SMSG_SKILL_WARP_POINT (hercules)
-rw-r--r--src/net/eathena/skillrecv.cpp22
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)