From 42020bc2c3558915c0e033e6ee4bd9858132cccc Mon Sep 17 00:00:00 2001 From: Evil Eye Date: Sat, 20 Nov 2021 00:02:48 +0000 Subject: [PATCH] Ignore the axis argument when rotating the player --- CHANGELOG.md | 1 + apps/openmw/mwscript/transformationextensions.cpp | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index be789859ea..27a5094e1b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -68,6 +68,7 @@ Bug #6321: Arrow enchantments should always be applied to the target Bug #6322: Total sold/cost should reset to 0 when there are no items offered Bug #6323: Wyrmhaven: Alboin doesn't follower the player character out of his house + Bug #6324: Special Slave Companions: Can't buy the slave companions Bug #6326: Detect Enchantment/Key should detect items in unresolved containers Bug #6327: Blocking roots the character in place Bug #6343: Magic projectile speed doesn't take race weight into account diff --git a/apps/openmw/mwscript/transformationextensions.cpp b/apps/openmw/mwscript/transformationextensions.cpp index 5cfb2b2989..292965fd94 100644 --- a/apps/openmw/mwscript/transformationextensions.cpp +++ b/apps/openmw/mwscript/transformationextensions.cpp @@ -622,12 +622,13 @@ namespace MWScript runtime.pop(); auto rot = ptr.getRefData().getPosition().asRotationVec3(); - if (axis == "x") + // Regardless of the axis argument, the player may only be rotated on Z + if (axis == "z" || MWMechanics::getPlayer() == ptr) + rot.z() += rotation; + else if (axis == "x") rot.x() += rotation; else if (axis == "y") rot.y() += rotation; - else if (axis == "z") - rot.z() += rotation; MWBase::Environment::get().getWorld()->rotateObject(ptr,rot); } };