Pulling rework (#20906)
* Pulling rework Fixing up the FOUR systems managing pulling, all the shitcode, and also making it nicer ingame. * More pulling cleanup * stats * More cleanup * First draft * More pulling * weh * Fix puller * Pulling working * Fix merge * Dunked * Self-merge time
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
using Content.Shared.ActionBlocker;
|
||||
using Content.Shared.Alert;
|
||||
using Content.Shared.Pulling.Components;
|
||||
using Content.Shared.Pulling;
|
||||
using Content.Shared.Movement.Pulling.Components;
|
||||
using Content.Shared.Movement.Pulling.Systems;
|
||||
using JetBrains.Annotations;
|
||||
|
||||
namespace Content.Server.Alert.Click
|
||||
@@ -20,9 +20,9 @@ namespace Content.Server.Alert.Click
|
||||
if (!entityManager.System<ActionBlockerSystem>().CanInteract(player, null))
|
||||
return;
|
||||
|
||||
if (entityManager.TryGetComponent(player, out SharedPullableComponent? playerPullable))
|
||||
if (entityManager.TryGetComponent(player, out PullableComponent? playerPullable))
|
||||
{
|
||||
entityManager.System<SharedPullingSystem>().TryStopPull(playerPullable);
|
||||
entityManager.System<PullingSystem>().TryStopPull(player, playerPullable, user: player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using Content.Shared.Alert;
|
||||
using Content.Shared.Pulling;
|
||||
using Content.Shared.Pulling.Components;
|
||||
using Content.Shared.Movement.Pulling.Components;
|
||||
using Content.Shared.Movement.Pulling.Systems;
|
||||
using JetBrains.Annotations;
|
||||
|
||||
namespace Content.Server.Alert.Click
|
||||
@@ -15,12 +15,12 @@ namespace Content.Server.Alert.Click
|
||||
public void AlertClicked(EntityUid player)
|
||||
{
|
||||
var entManager = IoCManager.Resolve<IEntityManager>();
|
||||
var ps = entManager.System<PullingSystem>();
|
||||
|
||||
var ps = entManager.System<SharedPullingSystem>();
|
||||
var playerTarget = ps.GetPulled(player);
|
||||
if (playerTarget != default && entManager.TryGetComponent(playerTarget, out SharedPullableComponent? playerPullable))
|
||||
if (entManager.TryGetComponent(player, out PullerComponent? puller) &&
|
||||
entManager.TryGetComponent(puller.Pulling, out PullableComponent? pullableComp))
|
||||
{
|
||||
ps.TryStopPull(playerPullable);
|
||||
ps.TryStopPull(puller.Pulling.Value, pullableComp, user: player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user