Merge stable into master (#37465)

This commit is contained in:
slarticodefast
2025-05-15 01:54:06 +02:00
committed by GitHub
2 changed files with 9 additions and 7 deletions

View File

@@ -210,12 +210,12 @@ namespace Content.Shared.Movement.Systems
var diff = relativeRot - oldRelativeRot; var diff = relativeRot - oldRelativeRot;
// If we're going from a grid -> map then preserve the relative rotation so it's seamless if they go into space and back. // If we're going from a grid -> map then preserve the relative rotation so it's seamless if they go into space and back.
if (HasComp<MapComponent>(relative) && HasComp<MapGridComponent>(mover.RelativeEntity)) if (MapQuery.HasComp(relative) && MapGridQuery.HasComp(mover.RelativeEntity))
{ {
mover.TargetRelativeRotation -= diff; mover.TargetRelativeRotation -= diff;
} }
// Snap to nearest cardinal if map -> grid // Snap to nearest cardinal if map -> grid or grid -> grid
else if (HasComp<MapGridComponent>(relative) && HasComp<MapComponent>(mover.RelativeEntity)) else if (MapGridQuery.HasComp(relative) && (MapQuery.HasComp(mover.RelativeEntity) || MapGridQuery.HasComp(mover.RelativeEntity)))
{ {
var targetDir = mover.TargetRelativeRotation - diff; var targetDir = mover.TargetRelativeRotation - diff;
targetDir = targetDir.GetCardinalDir().ToAngle().Reduced(); targetDir = targetDir.GetCardinalDir().ToAngle().Reduced();

View File

@@ -50,18 +50,19 @@ public abstract partial class SharedMoverController : VirtualController
[Dependency] private readonly SharedTransformSystem _transform = default!; [Dependency] private readonly SharedTransformSystem _transform = default!;
[Dependency] private readonly TagSystem _tags = default!; [Dependency] private readonly TagSystem _tags = default!;
protected EntityQuery<CanMoveInAirComponent> CanMoveInAirQuery;
protected EntityQuery<FootstepModifierComponent> FootstepModifierQuery;
protected EntityQuery<InputMoverComponent> MoverQuery; protected EntityQuery<InputMoverComponent> MoverQuery;
protected EntityQuery<MapComponent> MapQuery;
protected EntityQuery<MapGridComponent> MapGridQuery;
protected EntityQuery<MobMoverComponent> MobMoverQuery; protected EntityQuery<MobMoverComponent> MobMoverQuery;
protected EntityQuery<MovementRelayTargetComponent> RelayTargetQuery; protected EntityQuery<MovementRelayTargetComponent> RelayTargetQuery;
protected EntityQuery<MovementSpeedModifierComponent> ModifierQuery; protected EntityQuery<MovementSpeedModifierComponent> ModifierQuery;
protected EntityQuery<NoRotateOnMoveComponent> NoRotateQuery;
protected EntityQuery<PhysicsComponent> PhysicsQuery; protected EntityQuery<PhysicsComponent> PhysicsQuery;
protected EntityQuery<RelayInputMoverComponent> RelayQuery; protected EntityQuery<RelayInputMoverComponent> RelayQuery;
protected EntityQuery<PullableComponent> PullableQuery; protected EntityQuery<PullableComponent> PullableQuery;
protected EntityQuery<TransformComponent> XformQuery; protected EntityQuery<TransformComponent> XformQuery;
protected EntityQuery<CanMoveInAirComponent> CanMoveInAirQuery;
protected EntityQuery<NoRotateOnMoveComponent> NoRotateQuery;
protected EntityQuery<FootstepModifierComponent> FootstepModifierQuery;
protected EntityQuery<MapGridComponent> MapGridQuery;
private static readonly ProtoId<TagPrototype> FootstepSoundTag = "FootstepSound"; private static readonly ProtoId<TagPrototype> FootstepSoundTag = "FootstepSound";
@@ -91,6 +92,7 @@ public abstract partial class SharedMoverController : VirtualController
CanMoveInAirQuery = GetEntityQuery<CanMoveInAirComponent>(); CanMoveInAirQuery = GetEntityQuery<CanMoveInAirComponent>();
FootstepModifierQuery = GetEntityQuery<FootstepModifierComponent>(); FootstepModifierQuery = GetEntityQuery<FootstepModifierComponent>();
MapGridQuery = GetEntityQuery<MapGridComponent>(); MapGridQuery = GetEntityQuery<MapGridComponent>();
MapQuery = GetEntityQuery<MapComponent>();
SubscribeLocalEvent<MovementSpeedModifierComponent, TileFrictionEvent>(OnTileFriction); SubscribeLocalEvent<MovementSpeedModifierComponent, TileFrictionEvent>(OnTileFriction);