From 2c1f721749d2692a189745178921dc1ecdafa84d Mon Sep 17 00:00:00 2001 From: LightningIron Date: Thu, 9 Jan 2014 11:37:48 -0600 Subject: [PATCH 1/6] Fixes #4221. --- code/game/machinery/autolathe.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index d3fb30d371..565edc8e17 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -16,7 +16,8 @@ var/global/list/autolathe_recipes = list( \ new /obj/item/weapon/stock_parts/console_screen(), \ new /obj/item/weapon/airlock_electronics(), \ new /obj/item/weapon/airalarm_electronics(), \ - new /obj/item/weapon/firealarm_electronics(), \ + new /obj/item/weapon/firealarm_electronics(), \ + new /obj/item/weapon/module/power_control(), \ new /obj/item/stack/sheet/metal(), \ new /obj/item/stack/sheet/glass(), \ new /obj/item/stack/sheet/rglass(), \ From bc6561b9e4e392deaa69facc5057217864d22388 Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Fri, 10 Jan 2014 15:59:40 -0600 Subject: [PATCH 2/6] Runtime fix for people that jump back in their body before hitting respawn or just stay in their body for 30 minutes. Who does that? People that cause runtimes, that's who! (Jerks) --- code/modules/mob/mob.dm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 5cd8c2b68e..750f620956 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -348,10 +348,11 @@ var/list/slot_equipment_priority = list( \ return else var/deathtime = world.time - src.timeofdeath - var/mob/dead/observer/G = src - if(G.has_enabled_antagHUD == 1 && config.antag_hud_restricted) - usr << "\blue Upon using the antagHUD you forfeighted the ability to join the round." - return + if(istype(src,/mob/dead/observer)) + var/mob/dead/observer/G = src + if(G.has_enabled_antagHUD == 1 && config.antag_hud_restricted) + usr << "\blue Upon using the antagHUD you forfeighted the ability to join the round." + return var/deathtimeminutes = round(deathtime / 600) var/pluralcheck = "minute" if(deathtimeminutes == 0) From 511988253644afa6a917459c954f9df3063070f4 Mon Sep 17 00:00:00 2001 From: LightningIron Date: Fri, 10 Jan 2014 20:36:20 -0600 Subject: [PATCH 3/6] Fixes #4286. --- code/modules/research/designs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index e73434a2f3..81a3633a5a 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -1451,7 +1451,7 @@ datum/design/chemsprayer build_type = PROTOLATHE materials = list("$metal" = 5000, "$glass" = 1000) reliability_base = 100 - build_path = "/obj/item/weapon/chemsprayer" + build_path = "/obj/item/weapon/reagent_containers/chemsprayer" datum/design/rapidsyringe name = "Rapid Syringe Gun" From cbd3f280af6e39c7b36cd10159ffb32ea5ede733 Mon Sep 17 00:00:00 2001 From: LightningIron Date: Fri, 10 Jan 2014 20:43:27 -0600 Subject: [PATCH 4/6] Forgot to include the /spray/ part of the chemsprayer path. --- code/modules/research/designs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 81a3633a5a..db72f590c7 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -1451,7 +1451,7 @@ datum/design/chemsprayer build_type = PROTOLATHE materials = list("$metal" = 5000, "$glass" = 1000) reliability_base = 100 - build_path = "/obj/item/weapon/reagent_containers/chemsprayer" + build_path = "/obj/item/weapon/reagent_containers/spray/chemsprayer" datum/design/rapidsyringe name = "Rapid Syringe Gun" From b3bfc9684ddc1d6cb8f84e7c1975c2374fb632c5 Mon Sep 17 00:00:00 2001 From: LightningIron Date: Fri, 10 Jan 2014 20:58:20 -0600 Subject: [PATCH 5/6] Made APC modules cost 50m/50g from autolathe, on par with other engineering modules. --- code/defines/obj/weapon.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index b84388f583..8842350f04 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -393,7 +393,9 @@ /obj/item/weapon/module/power_control name = "power control module" icon_state = "power_mod" - desc = "Heavy-duty switching circuits for power control." + desc = "Heavy-duty switching circuits for power control." + m_amt = 50 + g_amt = 50 /obj/item/weapon/module/id_auth name = "\improper ID authentication module" From 350c1500cfefc59087dc084264e1d6791e275be4 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Sat, 11 Jan 2014 11:32:44 -0700 Subject: [PATCH 6/6] Patches some logic holes in ZAS, specifically rebuilding and deletion. Fixes #4273 --- code/ZAS/ZAS_Zones.dm | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/code/ZAS/ZAS_Zones.dm b/code/ZAS/ZAS_Zones.dm index eb7b05079c..e2b45ac559 100644 --- a/code/ZAS/ZAS_Zones.dm +++ b/code/ZAS/ZAS_Zones.dm @@ -28,6 +28,11 @@ var/list/CounterDoorDirections = list(SOUTH,EAST) //Which directions doors turfs var/progress = "nothing" +/datum/gas_mixture/zone + Del() + CRASH("Something tried to delete a zone's air!") + . = ..() + //CREATION AND DELETION /zone/New(turf/start) . = ..() @@ -47,7 +52,8 @@ var/list/CounterDoorDirections = list(SOUTH,EAST) //Which directions doors turfs //Generate the gas_mixture for use in txhis zone by using the average of the gases //defined at startup. - air = new + //Changed to try and find the source of the error. + air = new /datum/gas_mixture/zone() air.group_multiplier = contents.len for(var/turf/simulated/T in contents) if(!T.air) @@ -102,6 +108,10 @@ var/list/CounterDoorDirections = list(SOUTH,EAST) //Which directions doors turfs C.A.zone = null if(C.B.zone == src) C.B.zone = null + if(C.zone_A == src) + C.zone_A = null + if(C.zone_B == src) + C.zone_B = null direct_connections = null //Ensuring the zone list doesn't get clogged with null values. @@ -182,6 +192,10 @@ var/list/CounterDoorDirections = list(SOUTH,EAST) //Which directions doors turfs if(!unsim_air_needs_update && air_unsim) //if air_unsim doesn't exist, we need to create it even if we don't need an update. return + //Tempfix. + if(!air) + return + unsim_air_needs_update = 0 if(!air_unsim) @@ -768,6 +782,9 @@ zone/proc/Rebuild() final_arrangement[current_identifier] = list(current) else + //Sanity check. + if(!islist(final_arrangement[current_identifier])) + final_arrangement[current_identifier] = list() final_arrangement[current_identifier] += current //lazy but fast