Jetpack fixes (#9107)
This commit is contained in:
@@ -14,7 +14,7 @@ public sealed class JetpackSystem : SharedJetpackSystem
|
|||||||
|
|
||||||
protected override bool CanEnable(JetpackComponent component)
|
protected override bool CanEnable(JetpackComponent component)
|
||||||
{
|
{
|
||||||
return TryComp<GasTankComponent>(component.Owner, out var gasTank) && !(gasTank.Air.Pressure < component.VolumeUsage);
|
return TryComp<GasTankComponent>(component.Owner, out var gasTank) && !(gasTank.Air.TotalMoles < component.MoleUsage);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Update(float frameTime)
|
public override void Update(float frameTime)
|
||||||
@@ -29,14 +29,14 @@ public sealed class JetpackSystem : SharedJetpackSystem
|
|||||||
if (active.Accumulator < UpdateCooldown) continue;
|
if (active.Accumulator < UpdateCooldown) continue;
|
||||||
|
|
||||||
active.Accumulator -= UpdateCooldown;
|
active.Accumulator -= UpdateCooldown;
|
||||||
|
var air = gasTank.RemoveAir(comp.MoleUsage);
|
||||||
|
|
||||||
if (gasTank.Air.Pressure < comp.VolumeUsage)
|
if (air == null || !MathHelper.CloseTo(air.TotalMoles, comp.MoleUsage, 0.1f))
|
||||||
{
|
{
|
||||||
toDisable.Add(comp);
|
toDisable.Add(comp);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
gasTank.RemoveAirVolume(comp.VolumeUsage);
|
|
||||||
gasTank.UpdateUserInterface();
|
gasTank.UpdateUserInterface();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ namespace Content.Shared.Movement.Components;
|
|||||||
[RegisterComponent, NetworkedComponent]
|
[RegisterComponent, NetworkedComponent]
|
||||||
public sealed class JetpackComponent : Component
|
public sealed class JetpackComponent : Component
|
||||||
{
|
{
|
||||||
[ViewVariables(VVAccess.ReadWrite), DataField("volumeUsage")]
|
[ViewVariables(VVAccess.ReadWrite), DataField("moleUsage")]
|
||||||
public float VolumeUsage = Atmospherics.BreathVolume;
|
public float MoleUsage = 0.048f;
|
||||||
|
|
||||||
[ViewVariables, DataField("toggleAction", required: true)]
|
[ViewVariables, DataField("toggleAction", required: true)]
|
||||||
public InstantAction ToggleAction = new();
|
public InstantAction ToggleAction = new();
|
||||||
|
|||||||
2
Resources/Locale/en-US/movement/jetpacks.ftl
Normal file
2
Resources/Locale/en-US/movement/jetpacks.ftl
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
action-name-jetpack-toggle = Toggle jetpack
|
||||||
|
action-description-jetpack-toggle = Toggles the jetpack, giving you movement outside the station.
|
||||||
@@ -53,7 +53,7 @@
|
|||||||
sprite: Objects/Tanks/Jetpacks/blue.rsi
|
sprite: Objects/Tanks/Jetpacks/blue.rsi
|
||||||
state: icon-on
|
state: icon-on
|
||||||
name: action-name-jetpack-toggle
|
name: action-name-jetpack-toggle
|
||||||
description: action-decription-jetpack-toggle
|
description: action-description-jetpack-toggle
|
||||||
itemIconStyle: NoItem
|
itemIconStyle: NoItem
|
||||||
event: !type:ToggleJetpackEvent
|
event: !type:ToggleJetpackEvent
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
|
|||||||
Reference in New Issue
Block a user