From 2d1d7e644c7750f5d705e2bb833b8441a14d1b69 Mon Sep 17 00:00:00 2001 From: Petr Mikheev Date: Fri, 6 May 2022 23:46:36 +0200 Subject: [PATCH] [Lua] Fix the bug the object:activate() doesn't trigger mwscripts --- apps/openmw/mwlua/objectbindings.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/apps/openmw/mwlua/objectbindings.cpp b/apps/openmw/mwlua/objectbindings.cpp index 0bf3fc99c5..8487856d81 100644 --- a/apps/openmw/mwlua/objectbindings.cpp +++ b/apps/openmw/mwlua/objectbindings.cpp @@ -95,9 +95,12 @@ namespace MWLua if (actor.isEmpty()) throw std::runtime_error(std::string("Actor not found: " + idToString(mActor))); - MWBase::Environment::get().getLuaManager()->objectActivated(object, actor); - std::unique_ptr action = object.getClass().activate(object, actor); - action->execute(actor); + if (object.getRefData().activate()) + { + MWBase::Environment::get().getLuaManager()->objectActivated(object, actor); + std::unique_ptr action = object.getClass().activate(object, actor); + action->execute(actor); + } } std::string toString() const override