From 498b0638e72cbe8139c3deb3755a70ff8294b76a Mon Sep 17 00:00:00 2001 From: John <63141077+AconiteX@users.noreply.github.com> Date: Mon, 23 Oct 2023 03:59:03 -0400 Subject: [PATCH] fix for preventing use of openCont on NPCs --- .../src/shared/command/CommandCppFuncs.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/engine/server/library/serverGame/src/shared/command/CommandCppFuncs.cpp b/engine/server/library/serverGame/src/shared/command/CommandCppFuncs.cpp index d0cb7640..f6a93c3b 100755 --- a/engine/server/library/serverGame/src/shared/command/CommandCppFuncs.cpp +++ b/engine/server/library/serverGame/src/shared/command/CommandCppFuncs.cpp @@ -3423,6 +3423,21 @@ static void commandFuncOpenContainer(Command const & cmd, NetworkId const &actor return; } + //-- no opening NPCs + GameScriptObject * scriptObject = container->getScriptObject(); + if(scriptObject) + { + // this is AI + if(scriptObject->hasScript("ai.ai")) + { + // and this is not a pet (droid) that has storage (so we might actually need to open it) + if(!scriptObject->hasScript("ai.pet")) + { + return; + } + } + } + //-- don't open factory crates or crafting tools const int got = container->getGameObjectType(); if (got == SharedObjectTemplate::GOT_misc_factory_crate || got == SharedObjectTemplate::GOT_tool_crafting)