Skip to content

Commit

Permalink
Merge branch 'disabilitybenefits' into 'master'
Browse files Browse the repository at this point in the history
Allow disabling objects that have no placed instances (#4289)

Closes #4289

See merge request OpenMW/openmw!4498
  • Loading branch information
psi29a committed Jan 4, 2025
2 parents 96a05cc + 24f1feb commit c33aaa5
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 1 deletion.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
Bug #4127: Weapon animation looks choppy
Bug #4204: Dead slaughterfish doesn't float to water surface after loading saved game
Bug #4207: RestoreHealth/Fatigue spells have a huge priority even if a success chance is near 0
Bug #4289: Script compilation fails if an NPC deleted in a content file is disabled
Bug #4382: Sound output device does not change when it should
Bug #4508: Can't stack enchantment buffs from different instances of the same self-cast generic magic apparel
Bug #4610: Casting a Bound Weapon spell cancels the casting animation by equipping the weapon prematurely
Expand Down
21 changes: 20 additions & 1 deletion apps/openmw/mwscript/miscextensions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,26 @@ namespace MWScript
public:
void execute(Interpreter::Runtime& runtime) override
{
MWWorld::Ptr ptr = R()(runtime);
MWWorld::Ptr ptr;
if (!R::implicit)
{
ESM::RefId name = ESM::RefId::stringRefId(runtime.getStringLiteral(runtime[0].mInteger));
runtime.pop();

ptr = MWBase::Environment::get().getWorld()->searchPtr(name, false);
// We don't normally want to let this go, but some mods insist on trying this
if (ptr.isEmpty())
{
const std::string error = "Failed to find an instance of object " + name.toDebugString();
runtime.getContext().report(error);
Log(Debug::Error) << error;
return;
}
}
else
{
ptr = R()(runtime);
}
MWBase::Environment::get().getWorld()->disable(ptr);
}
};
Expand Down

0 comments on commit c33aaa5

Please sign in to comment.