Refactors stunnable to be ECS. (#4819)
Also cleans up StandingStatesystem.
This commit is contained in:
committed by
GitHub
parent
19a588a70a
commit
6eee256b11
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using Content.Server.Alert;
|
||||
using Content.Server.Atmos.Components;
|
||||
using Content.Server.Stunnable;
|
||||
using Content.Server.Stunnable.Components;
|
||||
using Content.Server.Temperature.Components;
|
||||
using Content.Shared.ActionBlocker;
|
||||
@@ -9,6 +10,7 @@ using Content.Shared.Atmos;
|
||||
using Content.Shared.Damage;
|
||||
using Content.Shared.Interaction;
|
||||
using Content.Shared.Popups;
|
||||
using Content.Shared.Stunnable;
|
||||
using Content.Shared.Temperature;
|
||||
using Robust.Server.GameObjects;
|
||||
using Robust.Shared.GameObjects;
|
||||
@@ -24,6 +26,7 @@ namespace Content.Server.Atmos.EntitySystems
|
||||
[Dependency] private readonly ActionBlockerSystem _actionBlockerSystem = default!;
|
||||
[Dependency] private readonly DamageableSystem _damageableSystem = default!;
|
||||
[Dependency] private readonly AtmosphereSystem _atmosphereSystem = default!;
|
||||
[Dependency] private readonly StunSystem _stunSystem = default!;
|
||||
|
||||
private const float MinimumFireStacks = -10f;
|
||||
private const float MaximumFireStacks = 20f;
|
||||
@@ -148,7 +151,10 @@ namespace Content.Server.Atmos.EntitySystems
|
||||
UpdateAppearance(uid, flammable);
|
||||
}
|
||||
|
||||
public void Resist(EntityUid uid, FlammableComponent? flammable = null, StunnableComponent? stunnable = null)
|
||||
public void Resist(EntityUid uid,
|
||||
FlammableComponent? flammable = null,
|
||||
StunnableComponent? stunnable = null,
|
||||
ServerAlertsComponent? alerts = null)
|
||||
{
|
||||
if (!Resolve(uid, ref flammable, ref stunnable))
|
||||
return;
|
||||
@@ -159,8 +165,9 @@ namespace Content.Server.Atmos.EntitySystems
|
||||
flammable.Resisting = true;
|
||||
|
||||
flammable.Owner.PopupMessage(Loc.GetString("flammable-component-resist-message"));
|
||||
stunnable.Paralyze(2f);
|
||||
_stunSystem.Paralyze(uid, TimeSpan.FromSeconds(2f), stunnable, alerts);
|
||||
|
||||
// TODO FLAMMABLE: Make this not use TimerComponent...
|
||||
flammable.Owner.SpawnTimer(2000, () =>
|
||||
{
|
||||
flammable.Resisting = false;
|
||||
|
||||
Reference in New Issue
Block a user