diff options
-rw-r--r-- | src/being/being.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/being/being.cpp b/src/being/being.cpp index ca5d7fd1a..8413916fe 100644 --- a/src/being/being.cpp +++ b/src/being/being.cpp @@ -2666,11 +2666,21 @@ void Being::setGM(const bool gm) void Being::talkTo() const { + if (!npcHandler) + return; + if (!PacketLimiter::limitPackets(PacketType::PACKET_NPC_TALK)) + { + // using workaround... + if (playerHandler && + PacketLimiter::limitPackets(PacketType::PACKET_ATTACK)) + { + playerHandler->attack(mId, Keep_false); + } return; + } - if (npcHandler) - npcHandler->talk(mId); + npcHandler->talk(mId); } void Being::draw(Graphics *const graphics, |