Fix static melee effect offsets (#14815)

This commit is contained in:
metalgearsloth
2023-03-24 13:13:15 +11:00
committed by GitHub
parent 448165ffda
commit d3ef4b7572

View File

@@ -153,10 +153,13 @@ public sealed partial class MeleeWeaponSystem
_animation.Play(animationUid, GetFadeAnimation(sprite, 0.05f, 0.15f), FadeAnimationKey);
break;
case WeaponArcAnimation.None:
var (mapPos, mapRot) = _transform.GetWorldPositionRotation(userXform, GetEntityQuery<TransformComponent>());
var xform = Transform(animationUid);
var xformQuery = GetEntityQuery<TransformComponent>();
var (mapPos, mapRot) = _transform.GetWorldPositionRotation(userXform, xformQuery);
var xform = xformQuery.GetComponent(animationUid);
xform.AttachToGridOrMap();
_transform.SetWorldPosition(xform, mapPos + (mapRot - userXform.LocalRotation).RotateVec(localPos));
var worldPos = mapPos + (mapRot - userXform.LocalRotation).RotateVec(localPos);
var newLocalPos = _transform.GetInvWorldMatrix(xform.ParentUid, xformQuery).Transform(worldPos);
_transform.SetLocalPositionNoLerp(xform, newLocalPos);
if (arcComponent.Fadeout)
_animation.Play(animationUid, GetFadeAnimation(sprite, 0f, 0.15f), FadeAnimationKey);
break;