Hotfix weightless riding (#8477)

* Hotfix weightless riding

* a
This commit is contained in:
metalgearsloth
2022-05-28 10:53:46 +10:00
committed by GitHub
parent 4c1b0b87fb
commit 484df81dc1
2 changed files with 13 additions and 5 deletions

View File

@@ -46,7 +46,7 @@ namespace Content.Server.Physics.Controllers
} }
HandleShuttleMovement(frameTime); HandleShuttleMovement(frameTime);
HandleVehicleMovement(frameTime); HandleVehicleMovement();
foreach (var (mover, physics) in EntityManager.EntityQuery<IMoverComponent, PhysicsComponent>(true)) foreach (var (mover, physics) in EntityManager.EntityQuery<IMoverComponent, PhysicsComponent>(true))
{ {
@@ -263,12 +263,21 @@ namespace Content.Server.Physics.Controllers
/// Add mobs riding vehicles to the list of mobs whose input /// Add mobs riding vehicles to the list of mobs whose input
/// should be ignored. /// should be ignored.
/// </summary> /// </summary>
private void HandleVehicleMovement(float frameTime) private void HandleVehicleMovement()
{ {
foreach (var (rider, mover, xform) in EntityManager.EntityQuery<RiderComponent, SharedPlayerInputMoverComponent, TransformComponent>()) // TODO: Nuke this code. It's on my list.
foreach (var (rider, mover) in EntityQuery<RiderComponent, SharedPlayerInputMoverComponent>())
{ {
if (rider.Vehicle == null) continue; if (rider.Vehicle == null) continue;
_excludedMobs.Add(mover.Owner); _excludedMobs.Add(mover.Owner);
if (!_excludedMobs.Add(rider.Vehicle.Owner)) continue;
if (!TryComp<IMoverComponent>(rider.Vehicle.Owner, out var vehicleMover) ||
!TryComp<PhysicsComponent>(rider.Vehicle.Owner, out var vehicleBody) ||
rider.Vehicle.Owner.IsWeightless(vehicleBody, mapManager: _mapManager, entityManager: EntityManager)) continue;
HandleKinematicMovement(vehicleMover, vehicleBody);
} }
} }
} }

View File

@@ -10,7 +10,6 @@ namespace Content.Shared.Vehicle.Components
/// <summary> /// <summary>
/// The vehicle this rider is currently riding. /// The vehicle this rider is currently riding.
/// </summary> /// </summary>
[ViewVariables] [ViewVariables] public VehicleComponent? Vehicle;
public VehicleComponent Vehicle = default!;
} }
} }