From bf8fd6055f79c22242993c5e93a57eb3d414b3f4 Mon Sep 17 00:00:00 2001 From: supersayu Date: Sat, 24 Aug 2013 07:30:53 -0400 Subject: [PATCH 1/3] Fixes lethal cryo. Cryo was offgassing too much without activating its turf, this fix prevents lethal buildup of oxygen. --- code/game/machinery/cryo.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index 269be22af13..f16702eb9da 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -224,6 +224,7 @@ expel_gas = air_contents.remove(remove_amount) expel_gas.temperature = T20C //Lets expel hot gas and see if that helps people not die as they are removed loc.assume_air(expel_gas) + air_update_turf(1) /obj/machinery/atmospherics/unary/cryo_cell/proc/go_out() From 9c69807029cd46507066b2cef2468bc794c33d35 Mon Sep 17 00:00:00 2001 From: supersayu Date: Thu, 29 Aug 2013 19:47:25 -0400 Subject: [PATCH 2/3] Adds a fix for 2x1 (glass_large) airlocks. These doors didn't work previously, as the bound width needs to be set properly. Additionally, LINDA was tweaked to properly update in the case of multitile objects such as this door (actually this door is the only such, currently, but if more doors or other multi-tile objects are added, this will help) Note that until #1206 is merged, this door has a blind spot where you cannot click it because you are not in range of the leftmost tile; old click code only uses the canonical location (loc), meaning the right tile is not counted for range checks. --- code/LINDA/LINDA_system.dm | 10 +++++----- code/game/machinery/doors/airlock.dm | 1 + 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/code/LINDA/LINDA_system.dm b/code/LINDA/LINDA_system.dm index 613bc45f3a7..32e6e6a4f56 100644 --- a/code/LINDA/LINDA_system.dm +++ b/code/LINDA/LINDA_system.dm @@ -199,11 +199,11 @@ turf/CanPass(atom/movable/mover, turf/target, height=1.5,air_group=0) /atom/movable/proc/air_update_turf(var/command = 0) if(istype(loc,/turf)) - var/turf/T = loc - if(command) - T.CalculateAdjacentTurfs() - if(air_master) - air_master.add_to_active(T,command) + for(var/turf/T in locs) // used by double wide doors and other nonexistant multitile structures + if(command) + T.CalculateAdjacentTurfs() + if(air_master) + air_master.add_to_active(T,command) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 39a77b6ec2a..8e70d3b8991 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -97,6 +97,7 @@ opacity = 0 doortype = 10 glass = 1 + bound_width = 64 // 2x1 /obj/machinery/door/airlock/freezer name = "freezer airlock" From 9174c502e1b9fb482c489394300db5512ce36226 Mon Sep 17 00:00:00 2001 From: SuperSayu Date: Fri, 30 Aug 2013 08:59:00 -0400 Subject: [PATCH 3/3] Update cryo.dm Sorry Aran I am bad --- code/game/machinery/cryo.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index f16702eb9da..b72c16628f2 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -224,7 +224,7 @@ expel_gas = air_contents.remove(remove_amount) expel_gas.temperature = T20C //Lets expel hot gas and see if that helps people not die as they are removed loc.assume_air(expel_gas) - air_update_turf(1) + air_update_turf() /obj/machinery/atmospherics/unary/cryo_cell/proc/go_out() @@ -300,4 +300,4 @@ return if(usr.stat || stat & (NOPOWER|BROKEN)) return - put_mob(usr) \ No newline at end of file + put_mob(usr)