Fixes inconsistent behavior by TTVs and STBs.

This commit is contained in:
LorenLuke
2017-07-24 10:28:20 -07:00
parent 7669c83dfa
commit 3a80ffa080
+14 -5
View File
@@ -454,6 +454,8 @@ var/list/global/tank_gauge_cache = list()
log_debug("<span class='warning'>[x],[y] tank is rupturing: [pressure] kPa, integrity [integrity]</span>")
#endif
air_contents.react()
if(integrity <= 0)
var/turf/simulated/T = get_turf(src)
if(!T)
@@ -479,12 +481,16 @@ var/list/global/tank_gauge_cache = list()
qdel(src)
else
integrity-= 5
if(!valve_welded)
integrity-= 3
src.leaking = 1
else
integrity-= 5
else if(pressure > TANK_LEAK_PRESSURE || air_contents.temperature - T0C > failure_temp)
if((integrity <= 19 || src.leaking) && !valve_welded)
if((integrity <= 17 || src.leaking) && !valve_welded)
var/turf/simulated/T = get_turf(src)
if(!T)
return
@@ -492,7 +498,10 @@ var/list/global/tank_gauge_cache = list()
var/env_pressure = environment.return_pressure()
var/tank_pressure = src.air_contents.return_pressure()
var/release_ratio = Clamp(0.002, sqrt(max(tank_pressure-env_pressure,0)/tank_pressure),1)
var/release_ratio = 0.002
if(tank_pressure)
release_ratio = Clamp(0.002, sqrt(max(tank_pressure-env_pressure,0)/tank_pressure),1)
var/datum/gas_mixture/leaked_gas = air_contents.remove_ratio(release_ratio)
//dynamic air release based on ambient pressure
@@ -507,7 +516,7 @@ var/list/global/tank_gauge_cache = list()
else
integrity-= 2
integrity-= 1
else
@@ -584,7 +593,7 @@ var/list/global/tank_gauge_cache = list()
/obj/item/weapon/tank/oxygen/onetankbomb/small/New()
..()
src.onetankbomb(1)
src.onetankbomb(0)
/////////////////////////////////
///Pulled from rewritten bomb.dm