diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm index 0787b2c873..4542da3085 100644 --- a/code/game/objects/items/weapons/tanks/tanks.dm +++ b/code/game/objects/items/weapons/tanks/tanks.dm @@ -454,6 +454,8 @@ var/list/global/tank_gauge_cache = list() log_debug("[x],[y] tank is rupturing: [pressure] kPa, integrity [integrity]") #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