From 26f476708212f85bd2f1fac7eff75cb063b991a2 Mon Sep 17 00:00:00 2001 From: dongresource Date: Mon, 28 Dec 2020 16:12:23 +0100 Subject: [PATCH] Add additional validation to the recall power --- src/NanoManager.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/NanoManager.cpp b/src/NanoManager.cpp index b824523..ad4cb3d 100644 --- a/src/NanoManager.cpp +++ b/src/NanoManager.cpp @@ -192,6 +192,14 @@ void NanoManager::nanoRecallHandler(CNSocket* sock, CNPacketData* data) { if (otherPlr == nullptr) return; + // ensure the group member is still in the same IZ + if (otherPlr->instanceID != plr->instanceID) + return; + + // do not allow hypothetical recall points in lairs to mess with the respawn logic + if (PLAYERID(plr->instanceID) != 0) + return; + if ((int32_t)plr->instanceID == otherPlr->recallInstance) PlayerManager::sendPlayerTo(sock, otherPlr->recallX, otherPlr->recallY, otherPlr->recallZ, otherPlr->recallInstance); else {