From 79c1cef566cc9c22daecb2ffb3f50a3a4dea9c71 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Fri, 24 Jun 2022 19:45:53 +1000 Subject: [PATCH] Jetpack fixes (#9107) --- Content.Server/Movement/Systems/JetpackSystem.cs | 6 +++--- Content.Shared/Movement/Components/JetpackComponent.cs | 4 ++-- Resources/Locale/en-US/movement/jetpacks.ftl | 2 ++ Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml | 2 +- 4 files changed, 8 insertions(+), 6 deletions(-) create mode 100644 Resources/Locale/en-US/movement/jetpacks.ftl diff --git a/Content.Server/Movement/Systems/JetpackSystem.cs b/Content.Server/Movement/Systems/JetpackSystem.cs index f7aa205113..7a6db3c1d2 100644 --- a/Content.Server/Movement/Systems/JetpackSystem.cs +++ b/Content.Server/Movement/Systems/JetpackSystem.cs @@ -14,7 +14,7 @@ public sealed class JetpackSystem : SharedJetpackSystem protected override bool CanEnable(JetpackComponent component) { - return TryComp(component.Owner, out var gasTank) && !(gasTank.Air.Pressure < component.VolumeUsage); + return TryComp(component.Owner, out var gasTank) && !(gasTank.Air.TotalMoles < component.MoleUsage); } public override void Update(float frameTime) @@ -29,14 +29,14 @@ public sealed class JetpackSystem : SharedJetpackSystem if (active.Accumulator < UpdateCooldown) continue; 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); continue; } - gasTank.RemoveAirVolume(comp.VolumeUsage); gasTank.UpdateUserInterface(); } diff --git a/Content.Shared/Movement/Components/JetpackComponent.cs b/Content.Shared/Movement/Components/JetpackComponent.cs index 7ea8dc16cf..d41999c087 100644 --- a/Content.Shared/Movement/Components/JetpackComponent.cs +++ b/Content.Shared/Movement/Components/JetpackComponent.cs @@ -7,8 +7,8 @@ namespace Content.Shared.Movement.Components; [RegisterComponent, NetworkedComponent] public sealed class JetpackComponent : Component { - [ViewVariables(VVAccess.ReadWrite), DataField("volumeUsage")] - public float VolumeUsage = Atmospherics.BreathVolume; + [ViewVariables(VVAccess.ReadWrite), DataField("moleUsage")] + public float MoleUsage = 0.048f; [ViewVariables, DataField("toggleAction", required: true)] public InstantAction ToggleAction = new(); diff --git a/Resources/Locale/en-US/movement/jetpacks.ftl b/Resources/Locale/en-US/movement/jetpacks.ftl new file mode 100644 index 0000000000..c3f233d11d --- /dev/null +++ b/Resources/Locale/en-US/movement/jetpacks.ftl @@ -0,0 +1,2 @@ +action-name-jetpack-toggle = Toggle jetpack +action-description-jetpack-toggle = Toggles the jetpack, giving you movement outside the station. \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml b/Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml index 335ab35b14..c90cab40ca 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml @@ -53,7 +53,7 @@ sprite: Objects/Tanks/Jetpacks/blue.rsi state: icon-on name: action-name-jetpack-toggle - description: action-decription-jetpack-toggle + description: action-description-jetpack-toggle itemIconStyle: NoItem event: !type:ToggleJetpackEvent - type: Appearance