Fixed buckled players thrashing while speaking in beds (#29653)
* Fix characters thrashing when talking while lying down * Remove weird design choice
This commit is contained in:
@@ -23,8 +23,8 @@ public sealed class RotationVisualizerSystem : SharedRotationVisualsSystem
|
||||
if (args.Sprite == null)
|
||||
return;
|
||||
|
||||
// If not defined, defaults to standing.
|
||||
_appearance.TryGetData<RotationState>(uid, RotationVisuals.RotationState, out var state, args.Component);
|
||||
if (!_appearance.TryGetData<RotationState>(uid, RotationVisuals.RotationState, out var state, args.Component))
|
||||
return;
|
||||
|
||||
switch (state)
|
||||
{
|
||||
|
||||
@@ -9,6 +9,7 @@ using Content.Shared.Movement.Events;
|
||||
using Content.Shared.Movement.Pulling.Events;
|
||||
using Content.Shared.Popups;
|
||||
using Content.Shared.Pulling.Events;
|
||||
using Content.Shared.Rotation;
|
||||
using Content.Shared.Standing;
|
||||
using Content.Shared.Storage.Components;
|
||||
using Content.Shared.Stunnable;
|
||||
@@ -195,6 +196,7 @@ public abstract partial class SharedBuckleSystem
|
||||
buckle.Comp.BuckleTime = _gameTiming.CurTime;
|
||||
ActionBlocker.UpdateCanMove(buckle);
|
||||
Appearance.SetData(buckle, StrapVisuals.State, buckle.Comp.Buckled);
|
||||
Appearance.SetData(buckle, RotationVisuals.RotationState, RotationState.Horizontal);
|
||||
Dirty(buckle);
|
||||
}
|
||||
|
||||
@@ -348,6 +350,7 @@ public abstract partial class SharedBuckleSystem
|
||||
SetBuckledTo(buckle, strap!);
|
||||
Appearance.SetData(strap, StrapVisuals.State, true);
|
||||
Appearance.SetData(buckle, BuckleVisuals.Buckled, true);
|
||||
Appearance.SetData(buckle, RotationVisuals.RotationState, RotationState.Horizontal);
|
||||
|
||||
_rotationVisuals.SetHorizontalAngle(buckle.Owner, strap.Comp.Rotation);
|
||||
|
||||
@@ -455,6 +458,7 @@ public abstract partial class SharedBuckleSystem
|
||||
_rotationVisuals.ResetHorizontalAngle(buckle.Owner);
|
||||
Appearance.SetData(strap, StrapVisuals.State, strap.Comp.BuckledEntities.Count != 0);
|
||||
Appearance.SetData(buckle, BuckleVisuals.Buckled, false);
|
||||
Appearance.SetData(buckle, RotationVisuals.RotationState, RotationState.Vertical);
|
||||
|
||||
if (HasComp<KnockedDownComponent>(buckle) || _mobState.IsIncapacitated(buckle))
|
||||
_standing.Down(buckle);
|
||||
|
||||
Reference in New Issue
Block a user