Fixes .inf fire

Credit to Kashargul for code.
This commit is contained in:
C.L.
2025-01-09 01:21:42 -05:00
parent a98ffeaf72
commit bb1a0a08da
3 changed files with 4 additions and 2 deletions
+2 -1
View File
@@ -307,7 +307,8 @@ If it gains pressure too slowly, it may leak or just rupture instead of explodin
zone.remove_liquidfuel(used_liquid_fuel, !check_combustability())
//calculate the energy produced by the reaction and then set the new temperature of the mix
temperature = (starting_energy + vsc.fire_fuel_energy_release * (used_gas_fuel + used_liquid_fuel)) / heat_capacity()
if(heat_capacity() > 0)
temperature = min((starting_energy + vsc.fire_fuel_energy_release * (used_gas_fuel + used_liquid_fuel)) / heat_capacity(), MAX_ATMOS_TEMPERATURE)
update_values()
#ifdef FIREDBG
+1
View File
@@ -98,3 +98,4 @@
// Used in various things like tanks and oxygen pumps.
#define TANK_MAX_RELEASE_PRESSURE (3*ONE_ATMOSPHERE)
#define TANK_DEFAULT_RELEASE_PRESSURE ONE_ATMOSPHERE
#define MAX_ATMOS_TEMPERATURE 1e7 //Without having a max temp, you can get .inf temps
+1 -1
View File
@@ -142,7 +142,7 @@
return 0
var/thermal_energy_limit = -(temperature - TCMB)*heat_capacity //ensure temperature does not go below TCMB
thermal_energy = max( thermal_energy, thermal_energy_limit ) //thermal_energy and thermal_energy_limit are negative here.
temperature += thermal_energy/heat_capacity
temperature = min(temperature + thermal_energy / heat_capacity, MAX_ATMOS_TEMPERATURE)
return thermal_energy
//Returns the thermal energy change required to get to a new temperature