summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2017-04-28 23:18:17 +0300
committerAndrei Karas <akaras@inbox.ru>2017-04-28 23:18:17 +0300
commitdfefb83dedc4491ace627dc204f841ef8c6d7052 (patch)
tree29c1c5becdfb4e0c12a86fcace35f822e0f570fc /src/net/eathena
parent15919532c723ca0186b0c0c932cd1b90c7d2e570 (diff)
downloadplus-dfefb83dedc4491ace627dc204f841ef8c6d7052.tar.gz
plus-dfefb83dedc4491ace627dc204f841ef8c6d7052.tar.bz2
plus-dfefb83dedc4491ace627dc204f841ef8c6d7052.tar.xz
plus-dfefb83dedc4491ace627dc204f841ef8c6d7052.zip
Add workaround to open npc buy shop if npc invisible.
For hercules it lost npc type.
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/npchandler.cpp8
-rw-r--r--src/net/eathena/npchandler.h2
2 files changed, 10 insertions, 0 deletions
diff --git a/src/net/eathena/npchandler.cpp b/src/net/eathena/npchandler.cpp
index 6cb30bb81..5f2da7255 100644
--- a/src/net/eathena/npchandler.cpp
+++ b/src/net/eathena/npchandler.cpp
@@ -133,6 +133,14 @@ void NpcHandler::buy(const Being *const being) const
EAthena::NpcRecv::mNpcTypeId = being->getSubType();
}
+void NpcHandler::buy(const BeingId beingId) const
+{
+ createOutPacket(CMSG_NPC_BUY_SELL_REQUEST);
+ outMsg.writeBeingId(beingId, "npc id");
+ outMsg.writeInt8(0, "action");
+ EAthena::NpcRecv::mNpcTypeId = BeingTypeId_zero;
+}
+
void NpcHandler::sell(const BeingId beingId) const
{
createOutPacket(CMSG_NPC_BUY_SELL_REQUEST);
diff --git a/src/net/eathena/npchandler.h b/src/net/eathena/npchandler.h
index d13d0f0cc..a2962eea0 100644
--- a/src/net/eathena/npchandler.h
+++ b/src/net/eathena/npchandler.h
@@ -52,6 +52,8 @@ class NpcHandler final : public Ea::NpcHandler
void buy(const Being *const being) const override final;
+ void buy(const BeingId beingId) const override final;
+
void sell(const BeingId beingId) const override final;
void buyItem(const BeingId beingId,