From 9ee141fd9f45249f8981e08c63a304cff429935e Mon Sep 17 00:00:00 2001 From: JimKil3 <47290811+JimKil3@users.noreply.github.com> Date: Mon, 4 Mar 2024 00:16:22 -0600 Subject: [PATCH] Tweaks plasma thrusters (#2797) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## About The Pull Request Changes how plasma thrusters calculate the maximum amount of fuel they can store. Instead of using the heater's volume, they now use an amount of moles based on standard conditions for plasma thrusters - if you cool down your plasma or refit your ship to more efficiently fill the thrusters than with a standard gas pump, you can still get numbers over 100% (just like you can with ion engines if you directly connect them to a grid). ## Why It's Good For The Game Plasma thrusters showing like 180% with a default setup hurts my soul and is also pretty unintuitive. With these changes, you can still tweak your thrusters to be more efficient - for default plasma thrusters though, this makes their display more useful. ## Changelog :cl: tweak: Plasma thrusters now have a more sensible fuel readout /🆑 --- code/game/machinery/shuttle/shuttle_heater.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/shuttle/shuttle_heater.dm b/code/game/machinery/shuttle/shuttle_heater.dm index 706898eac4c6..94735ba4ab25 100644 --- a/code/game/machinery/shuttle/shuttle_heater.dm +++ b/code/game/machinery/shuttle/shuttle_heater.dm @@ -102,7 +102,10 @@ var/datum/gas_mixture/air_contents = use_tank ? fuel_tank?.air_contents : airs[1] if(!air_contents) return - return air_contents.return_volume() + //Using the ideal gas law here - the pressure is 4500 because that's the limit of gas pumps, which most ships use on plasma thrusters + //If you refit your fuel system to use a volume pump or cool your plasma, you can have numbers over 100% on the helm as a treat + var/mole_capacity = (4500 * air_contents.return_volume()) / (R_IDEAL_GAS_EQUATION * T20C) + return mole_capacity /obj/machinery/atmospherics/components/unary/shuttle/heater/proc/update_gas_stats() var/datum/gas_mixture/air_contents = use_tank ? fuel_tank?.air_contents : airs[1]