From 561eb99561dcadeac189211994359ca293293a54 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 16 Jul 2014 13:20:47 +0400 Subject: [PATCH 01/19] Fixes #5647 Fixes #5646 --- .../xenoarchaeology/tools/ano_device_battery.dm | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/code/modules/research/xenoarchaeology/tools/ano_device_battery.dm b/code/modules/research/xenoarchaeology/tools/ano_device_battery.dm index 3886f6fec0..89226554f0 100644 --- a/code/modules/research/xenoarchaeology/tools/ano_device_battery.dm +++ b/code/modules/research/xenoarchaeology/tools/ano_device_battery.dm @@ -16,6 +16,9 @@ p = min(p, 100) icon_state = "anobattery[round(p,25)]" +/obj/item/weapon/anobattery/proc/use_power(var/amount) + stored_charge = max(0, stored_charge - amount) + /obj/item/weapon/anodevice name = "Anomaly power utilizer" icon = 'icons/obj/xenoarchaeology.dmi' @@ -106,20 +109,20 @@ inserted_battery.battery_effect.DoEffectTouch(holder) //consume power - inserted_battery.stored_charge -= energy_consumed_on_touch + inserted_battery.use_power(energy_consumed_on_touch) else //consume power equal to time passed - inserted_battery.stored_charge -= world.time - last_process + inserted_battery.use_power(world.time - last_process) else if(inserted_battery.battery_effect.effect == EFFECT_PULSE) inserted_battery.battery_effect.chargelevel = inserted_battery.battery_effect.chargelevelmax //consume power relative to the time the artifact takes to charge and the effect range - inserted_battery.stored_charge -= inserted_battery.battery_effect.effectrange * inserted_battery.battery_effect.effectrange * inserted_battery.battery_effect.chargelevelmax + inserted_battery.use_power(inserted_battery.battery_effect.effectrange * inserted_battery.battery_effect.effectrange * inserted_battery.battery_effect.chargelevelmax) else //consume power equal to time passed - inserted_battery.stored_charge -= world.time - last_process + inserted_battery.use_power(world.time - last_process) last_activation = world.time @@ -196,7 +199,7 @@ if(activated && inserted_battery.battery_effect.effect == EFFECT_TOUCH && !isnull(inserted_battery)) inserted_battery.battery_effect.DoEffectTouch(M) - inserted_battery.stored_charge -= energy_consumed_on_touch + inserted_battery.use_power(energy_consumed_on_touch) user.visible_message("\blue [user] taps [M] with [src], and it shudders on contact.") else user.visible_message("\blue [user] taps [M] with [src], but nothing happens.") From d1687dc50ec3661aef5ba06f5e841bb9a0cba695 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 16 Jul 2014 13:39:56 +0400 Subject: [PATCH 02/19] Fixes #5648 Now scanner will just give warning if clicked too fast, instead of giving obsolete data. Also moved code from New() to initalize(), since it depends on all things already being there and a master controller existing. --- .../xenoarchaeology/tools/tools_anoscanner.dm | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/code/modules/research/xenoarchaeology/tools/tools_anoscanner.dm b/code/modules/research/xenoarchaeology/tools/tools_anoscanner.dm index 257c7389cc..acc6d56a73 100644 --- a/code/modules/research/xenoarchaeology/tools/tools_anoscanner.dm +++ b/code/modules/research/xenoarchaeology/tools/tools_anoscanner.dm @@ -13,22 +13,23 @@ var/last_scan_time = 0 var/scan_delay = 25 -/obj/item/device/ano_scanner/New() - ..() - spawn(0) - scan() +/obj/item/device/ano_scanner/initialize() + scan() /obj/item/device/ano_scanner/attack_self(var/mob/user as mob) return src.interact(user) /obj/item/device/ano_scanner/interact(var/mob/user as mob) var/message = "Background radiation levels detected." - if(nearest_artifact_distance >= 0) - message = "Exotic energy detected on wavelength '[nearest_artifact_id]' in a radius of [nearest_artifact_distance]m" - user << "[message]" if(world.time - last_scan_time >= scan_delay) spawn(0) scan() + if(nearest_artifact_distance >= 0) + message = "Exotic energy detected on wavelength '[nearest_artifact_id]' in a radius of [nearest_artifact_distance]m" + else + message = "Scanning array is recharging." + + user << "[message]" /obj/item/device/ano_scanner/proc/scan() set background = 1 From 5018330a5a71569caf3da362306f1c4bb5feeeed Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 16 Jul 2014 14:37:12 +0400 Subject: [PATCH 03/19] Fixes #5650 Fixes #5649 Removed that mundane objects check as I couldn't think of why would that even be a thing. --- .../machinery/artifact_harvester.dm | 23 ++++--------------- 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm b/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm index 495d393766..80abfd7b0f 100644 --- a/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm +++ b/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm @@ -129,6 +129,7 @@ var/articount = 0 var/obj/machinery/artifact/analysed for(var/obj/machinery/artifact/A in get_turf(owned_scanner)) + testing("Found an artifact - [A]") analysed = A articount++ @@ -140,27 +141,13 @@ src.visible_message("[src] states, \"Cannot harvest. Source already being harvested.\"") else - var/mundane = 0 - for(var/obj/O in get_turf(owned_scanner)) - if(O.invisibility) - continue - if(!istype(O, /obj/machinery/artifact) && !istype(O, /obj/machinery/artifact_scanpad)) - mundane++ - break - for(var/mob/O in get_turf(owned_scanner)) - if(O.invisibility) - continue - mundane++ - break - - if(articount > 1 || mundane) - var/message = "[src] states, \"Cannot harvest. Too many artifacts on the pad.\"" - src.visible_message(message) - else + if(articount > 1) + state("Cannot harvest. Too many artifacts on the pad.") + else if(analyzed) cur_artifact = analysed //if both effects are active, we can't harvest either - if(cur_artifact.my_effect.activated && cur_artifact.secondary_effect.activated) + if(cur_artifact.my_effect && cur_artifact.my_effect.activated && cur_artifact.secondary_effect.activated) src.visible_message("[src] states, \"Cannot harvest. Source is emitting conflicting energy signatures.\"") else if(!cur_artifact.my_effect.activated && !cur_artifact.secondary_effect.activated) src.visible_message("[src] states, \"Cannot harvest. No energy emitting from source.\"") From 61f87139412c9c5826cdd4b8010f093019491e01 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Wed, 16 Jul 2014 14:48:39 +0400 Subject: [PATCH 04/19] Possible fix for #5645 I think issue is that harvester won't forget what artifact it is using until harvesting process is started. --- .../research/xenoarchaeology/machinery/artifact_harvester.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm b/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm index 80abfd7b0f..776d91751c 100644 --- a/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm +++ b/code/modules/research/xenoarchaeology/machinery/artifact_harvester.dm @@ -85,6 +85,7 @@ harvesting = 0 cur_artifact.anchored = 0 cur_artifact.being_used = 0 + cur_artifact = null src.visible_message("[name] states, \"Battery is full.\"") icon_state = "incubator" @@ -129,7 +130,6 @@ var/articount = 0 var/obj/machinery/artifact/analysed for(var/obj/machinery/artifact/A in get_turf(owned_scanner)) - testing("Found an artifact - [A]") analysed = A articount++ @@ -143,7 +143,7 @@ else if(articount > 1) state("Cannot harvest. Too many artifacts on the pad.") - else if(analyzed) + else if(analysed) cur_artifact = analysed //if both effects are active, we can't harvest either @@ -220,6 +220,7 @@ harvesting = 0 cur_artifact.anchored = 0 cur_artifact.being_used = 0 + cur_artifact = null src.visible_message("[name] states, \"Energy harvesting interrupted.\"") icon_state = "incubator" From 9d3a87115ab7e4b5578cd318c4374efb946333c1 Mon Sep 17 00:00:00 2001 From: Walter0o Date: Wed, 16 Jul 2014 15:13:13 +0200 Subject: [PATCH 05/19] missing power check people could still use this without any charge --- .../research/xenoarchaeology/tools/ano_device_battery.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/research/xenoarchaeology/tools/ano_device_battery.dm b/code/modules/research/xenoarchaeology/tools/ano_device_battery.dm index 89226554f0..6c62263a07 100644 --- a/code/modules/research/xenoarchaeology/tools/ano_device_battery.dm +++ b/code/modules/research/xenoarchaeology/tools/ano_device_battery.dm @@ -81,7 +81,7 @@ /obj/item/weapon/anodevice/process() if(activated) - if(inserted_battery && inserted_battery.battery_effect) + if(inserted_battery && inserted_battery.battery_effect && (inserted_battery.stored_charge > 0) ) //make sure the effect is active if(!inserted_battery.battery_effect.activated) inserted_battery.battery_effect.ToggleActivate(1) From 8baf6e46611088b43ac195d6a2407ecb062f5d49 Mon Sep 17 00:00:00 2001 From: Walter0o Date: Wed, 16 Jul 2014 15:20:23 +0200 Subject: [PATCH 06/19] another missing battery check --- .../xenoarchaeology/tools/ano_device_battery.dm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/code/modules/research/xenoarchaeology/tools/ano_device_battery.dm b/code/modules/research/xenoarchaeology/tools/ano_device_battery.dm index 6c62263a07..c189273bd5 100644 --- a/code/modules/research/xenoarchaeology/tools/ano_device_battery.dm +++ b/code/modules/research/xenoarchaeology/tools/ano_device_battery.dm @@ -162,11 +162,12 @@ //max 10 sec interval interval = min(max(interval, 0), 100) if(href_list["startup"]) - activated = 1 - src.visible_message("\blue \icon[src] [src] whirrs.", "\icon[src]\blue You hear something whirr.") - if(!inserted_battery.battery_effect.activated) - inserted_battery.battery_effect.ToggleActivate(1) - time_end = world.time + duration + if(inserted_battery && inserted_battery.battery_effect && (inserted_battery.stored_charge > 0) ) + activated = 1 + src.visible_message("\blue \icon[src] [src] whirrs.", "\icon[src]\blue You hear something whirr.") + if(!inserted_battery.battery_effect.activated) + inserted_battery.battery_effect.ToggleActivate(1) + time_end = world.time + duration if(href_list["shutdown"]) activated = 0 if(href_list["ejectbattery"]) From 6c62e9e56b2c4d367a59461b15f7823b134673a4 Mon Sep 17 00:00:00 2001 From: Walter0o Date: Wed, 16 Jul 2014 20:28:19 +0200 Subject: [PATCH 07/19] should fix #5618, trivial kitchen utensil bug --- code/game/objects/items/weapons/kitchen.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm index 12af48f6c8..4181ef6e20 100644 --- a/code/game/objects/items/weapons/kitchen.dm +++ b/code/game/objects/items/weapons/kitchen.dm @@ -32,9 +32,9 @@ /obj/item/weapon/kitchen/utensil/New() if (prob(60)) src.pixel_y = rand(0, 4) - return - + create_reagents(5) + return /obj/item/weapon/kitchen/utensil/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) if(!istype(M)) From d6a070e6fc7cab1eb2052fd451b01a69f77dc624 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 16 Jul 2014 15:44:16 -0400 Subject: [PATCH 08/19] Improved full body scanner infection readout Now provides a higher level of precision on infection severity. --- code/game/machinery/adv_med.dm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index dac4bf7b00..d14f19baad 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -309,10 +309,18 @@ if(e.open) open = "Open:" switch (e.germ_level) - if (INFECTION_LEVEL_ONE + 50 to INFECTION_LEVEL_TWO) + if (INFECTION_LEVEL_ONE to INFECTION_LEVEL_ONE + 200) infected = "Mild Infection:" - if (INFECTION_LEVEL_TWO to INFECTION_LEVEL_THREE) + if (INFECTION_LEVEL_ONE + 200 to INFECTION_LEVEL_ONE + 300) + infected = "Mild Infection+:" + if (INFECTION_LEVEL_ONE + 300 to INFECTION_LEVEL_ONE + 400) + infected = "Mild Infection++:" + if (INFECTION_LEVEL_TWO to INFECTION_LEVEL_TWO + 200) infected = "Acute Infection:" + if (INFECTION_LEVEL_TWO + 200 to INFECTION_LEVEL_TWO + 300) + infected = "Acute Infection+:" + if (INFECTION_LEVEL_TWO + 300 to INFECTION_LEVEL_TWO + 400) + infected = "Acute Infection++:" if (INFECTION_LEVEL_THREE to INFINITY) infected = "Septic:" From 13b757938d5f02d429e5d02c4d75854689a81bf7 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 16 Jul 2014 15:52:42 -0400 Subject: [PATCH 09/19] Infections raise temperature faster wrt germ_level --- code/modules/organs/organ_external.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index b885d7610e..518921e5ba 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -392,7 +392,7 @@ Note that amputating the affected organ does in fact remove the infection from t if(germ_level >= INFECTION_LEVEL_ONE) //having an infection raises your body temperature - var/fever_temperature = (owner.species.heat_level_1 - owner.species.body_temperature - 1)* min(germ_level/INFECTION_LEVEL_THREE, 1) + owner.species.body_temperature + var/fever_temperature = (owner.species.heat_level_1 - owner.species.body_temperature - 1)* min(germ_level/(INFECTION_LEVEL_ONE+300), 1) + owner.species.body_temperature if (owner.bodytemperature < fever_temperature) //world << "fever: [owner.bodytemperature] < [fever_temperature], raising temperature." owner.bodytemperature++ From 1eee72d11879af4ca66ec9914dad5c75d591d314 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 16 Jul 2014 15:59:18 -0400 Subject: [PATCH 10/19] Updates body scanner readout for internal organs --- code/game/machinery/adv_med.dm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index d14f19baad..435c8acf15 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -349,10 +349,18 @@ var/infection = "None" switch (i.germ_level) - if (1 to INFECTION_LEVEL_TWO) + if (1 to INFECTION_LEVEL_ONE + 200) infection = "Mild Infection:" - if (INFECTION_LEVEL_TWO to INFINITY) + if (INFECTION_LEVEL_ONE + 200 to INFECTION_LEVEL_ONE + 300) + infection = "Mild Infection+:" + if (INFECTION_LEVEL_ONE + 300 to INFECTION_LEVEL_ONE + 400) + infection = "Mild Infection++:" + if (INFECTION_LEVEL_TWO to INFECTION_LEVEL_TWO + 200) infection = "Acute Infection:" + if (INFECTION_LEVEL_TWO + 200 to INFECTION_LEVEL_TWO + 300) + infection = "Acute Infection+:" + if (INFECTION_LEVEL_TWO + 300 to INFINITY) + infection = "Acute Infection++:" dat += "" dat += "[i.name]N/A[i.damage][infection]:[mech]" From 65354508d7ff8cc2b658a47f48845d0df61326b1 Mon Sep 17 00:00:00 2001 From: Atlantiscze Date: Thu, 17 Jul 2014 16:46:05 +0200 Subject: [PATCH 11/19] Fixes incorrect units in Radiocarbon Spectrometer's GUI. 1 GHz = 1 000 MHz = 1 000 000 kHz --- nano/templates/geoscanner.tmpl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/nano/templates/geoscanner.tmpl b/nano/templates/geoscanner.tmpl index d3205e2ebe..1f8e1e0600 100644 --- a/nano/templates/geoscanner.tmpl +++ b/nano/templates/geoscanner.tmpl @@ -87,14 +87,14 @@ Used In File(s): \code\modules\research\xenoarchaeology\machinery\geosample_scan {{:maser_wavelength}} MHz
- {{:~link('-2 KHz', null, {'maserWavelength' : -2}, null)}} - {{:~link('-1 KHz', null, {'maserWavelength' : -1}, null)}} - {{:~link('-0.5 KHz', null, {'maserWavelength' : -0.5}, null)}} + {{:~link('-2 GHz', null, {'maserWavelength' : -2}, null)}} + {{:~link('-1 GHz', null, {'maserWavelength' : -1}, null)}} + {{:~link('-0.5 GHz', null, {'maserWavelength' : -0.5}, null)}}
- {{:~link('+0.5 KHz', null, {'maserWavelength' : 0.5}, null)}} - {{:~link('+1 KHz', null, {'maserWavelength' : 1}, null)}} - {{:~link('+2 KHz', null, {'maserWavelength' : 2}, null)}} + {{:~link('+0.5 GHz', null, {'maserWavelength' : 0.5}, null)}} + {{:~link('+1 GHz', null, {'maserWavelength' : 1}, null)}} + {{:~link('+2 GHz', null, {'maserWavelength' : 2}, null)}}
From 3209cb49a6fa55d09843061c57df3f26eaf73b95 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Thu, 17 Jul 2014 19:30:00 -0400 Subject: [PATCH 12/19] Removes Rootspeak from AI and robot languages --- code/modules/mob/living/silicon/ai/ai.dm | 1 - code/modules/mob/living/silicon/robot/robot_modules.dm | 1 - 2 files changed, 2 deletions(-) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index b34f7aa641..71267a4d45 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -100,7 +100,6 @@ var/list/ai_list = list() add_language("Siik'maas", 0) add_language("Siik'tajr", 0) add_language("Skrellian", 0) - add_language("Rootspeak", 0) add_language("Tradeband", 1) add_language("Gutter", 0) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 0eadb02860..728c6d2b79 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -47,7 +47,6 @@ R.add_language("Siik'maas", 0) R.add_language("Siik'tajr", 0) R.add_language("Skrellian", 0) - R.add_language("Rootspeak", 0) R.add_language("Tradeband", 0) R.add_language("Gutter", 0) From 21b274208698b51263868ff50e8f887f0af1d4c4 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Thu, 17 Jul 2014 19:59:07 -0400 Subject: [PATCH 13/19] Adds default values for some docking tags Simplifies the mapping of docking controllers by cutting down on the number of tags needed to be entered. --- .../game/machinery/embedded_controller/airlock_program.dm | 8 ++++---- .../embedded_controller/simple_docking_controller.dm | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/code/game/machinery/embedded_controller/airlock_program.dm b/code/game/machinery/embedded_controller/airlock_program.dm index 29b93b3583..627f9844a3 100644 --- a/code/game/machinery/embedded_controller/airlock_program.dm +++ b/code/game/machinery/embedded_controller/airlock_program.dm @@ -35,10 +35,10 @@ if (istype(M, /obj/machinery/embedded_controller/radio/airlock)) //if our controller is an airlock controller than we can auto-init our tags var/obj/machinery/embedded_controller/radio/airlock/controller = M - tag_exterior_door = controller.tag_exterior_door - tag_interior_door = controller.tag_interior_door - tag_airpump = controller.tag_airpump - tag_chamber_sensor = controller.tag_chamber_sensor + tag_exterior_door = controller.tag_exterior_door? controller.tag_exterior_door : "[id_tag]_outer" + tag_interior_door = controller.tag_interior_door? controller.tag_interior_door : "[id_tag]_inner" + tag_airpump = controller.tag_airpump? controller.tag_airpump : "[id_tag]_pump" + tag_chamber_sensor = controller.tag_chamber_sensor? controller.tag_chamber_sensor : "[id_tag]_sensor" tag_exterior_sensor = controller.tag_exterior_sensor tag_interior_sensor = controller.tag_interior_sensor memory["secure"] = controller.tag_secure diff --git a/code/game/machinery/embedded_controller/simple_docking_controller.dm b/code/game/machinery/embedded_controller/simple_docking_controller.dm index 877247799b..a8a4ad490f 100644 --- a/code/game/machinery/embedded_controller/simple_docking_controller.dm +++ b/code/game/machinery/embedded_controller/simple_docking_controller.dm @@ -58,7 +58,7 @@ if (istype(M, /obj/machinery/embedded_controller/radio/simple_docking_controller)) var/obj/machinery/embedded_controller/radio/simple_docking_controller/controller = M - tag_door = controller.tag_door + tag_door = controller.tag_door? controller.tag_door : "[id_tag]_hatch" spawn(10) signal_door("update") //signals connected doors to update their status From 3ea7e0ce3cd14fbbd06d8330e51f9a07a070e2ad Mon Sep 17 00:00:00 2001 From: mwerezak Date: Thu, 17 Jul 2014 20:07:13 -0400 Subject: [PATCH 14/19] Adds a name for the escape pod controller --- .../embedded_controller/escape_pod_docking_controller.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/machinery/embedded_controller/escape_pod_docking_controller.dm b/code/game/machinery/embedded_controller/escape_pod_docking_controller.dm index f84fbf0b32..5034859128 100644 --- a/code/game/machinery/embedded_controller/escape_pod_docking_controller.dm +++ b/code/game/machinery/embedded_controller/escape_pod_docking_controller.dm @@ -1,5 +1,6 @@ //This controller goes on the escape pod itself /obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod + name = "escape pod controller" var/datum/shuttle/ferry/escape_pod/pod /obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null) From 7361c7da45c03f92e9bf4b5a9fb47d62e66782a5 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Thu, 17 Jul 2014 21:55:05 -0400 Subject: [PATCH 15/19] Loosens the undocking requirements for airlocks --- .../embedded_controller/airlock_docking_controller.dm | 4 +++- .../machinery/embedded_controller/airlock_program.dm | 10 ++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/embedded_controller/airlock_docking_controller.dm b/code/game/machinery/embedded_controller/airlock_docking_controller.dm index 0e9877d797..6edf07e221 100644 --- a/code/game/machinery/embedded_controller/airlock_docking_controller.dm +++ b/code/game/machinery/embedded_controller/airlock_docking_controller.dm @@ -108,7 +108,9 @@ //are we ready for undocking? /datum/computer/file/embedded_program/docking/airlock/ready_for_undocking() - return airlock_program.check_doors_secured() + var/ext_closed = airlock_program.check_exterior_door_secured() + var/int_closed = airlock_program.check_interior_door_secured() + return (ext_closed || int_closed) //An airlock controller to be used by the airlock-based docking port controller. //Same as a regular airlock controller but allows disabling of the regular airlock functions when docking diff --git a/code/game/machinery/embedded_controller/airlock_program.dm b/code/game/machinery/embedded_controller/airlock_program.dm index 627f9844a3..3d7d306df3 100644 --- a/code/game/machinery/embedded_controller/airlock_program.dm +++ b/code/game/machinery/embedded_controller/airlock_program.dm @@ -248,9 +248,15 @@ return (state == STATE_WAIT && target_state == TARGET_NONE) //are the doors closed and locked? +/datum/computer/file/embedded_program/airlock/proc/check_exterior_door_secured() + return (memory["exterior_status"]["state"] == "closed" && memory["exterior_status"]["lock"] == "locked") + +/datum/computer/file/embedded_program/airlock/proc/check_interior_door_secured() + return (memory["interior_status"]["state"] == "closed" && memory["interior_status"]["lock"] == "locked") + /datum/computer/file/embedded_program/airlock/proc/check_doors_secured() - var/ext_closed = (memory["exterior_status"]["state"] == "closed" && memory["exterior_status"]["lock"] == "locked") - var/int_closed = (memory["interior_status"]["state"] == "closed" && memory["interior_status"]["lock"] == "locked") + var/ext_closed = check_exterior_door_secured() + var/int_closed = check_interior_door_secured() return (ext_closed && int_closed) /datum/computer/file/embedded_program/airlock/proc/signalDoor(var/tag, var/command) From 9401dcf13c9f062011e9308e665748e9b2ad9110 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 18 Jul 2014 19:13:24 +0930 Subject: [PATCH 16/19] Fixes bug with drone Bump() check They can now use teleporters, hand tele portals and the disposals chute. --- code/modules/mob/living/silicon/robot/drone/drone.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index 228337db11..0ab4e42028 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -317,10 +317,10 @@ if (!yes || ( \ !istype(AM,/obj/machinery/door) && \ !istype(AM,/obj/machinery/recharge_station) && \ - !istype(AM,/obj/machinery/disposal/deliveryChute && \ + !istype(AM,/obj/machinery/disposal/deliveryChute) && \ !istype(AM,/obj/machinery/teleport/hub) && \ !istype(AM,/obj/effect/portal) - ))) return + )) return ..() return From 4fdcbd1c5e796ebf6952f5122161a529643fd387 Mon Sep 17 00:00:00 2001 From: Mloc Date: Fri, 18 Jul 2014 13:39:05 +0100 Subject: [PATCH 17/19] add map step_[xy] check to travis --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 87eeb862d5..f8f1c71ba7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,4 +17,5 @@ install: - cd .. script: + - ! grep -q 'step_[xy]' maps/tgstation2.dmm - DreamMaker baystation12.dme From 29598c4ef661af2696c4b297b08debf980551d74 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Fri, 18 Jul 2014 14:46:17 +0200 Subject: [PATCH 18/19] Removes all step_? instances, including those with default values, to allow the new Travis-check to pass. --- maps/tgstation2.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maps/tgstation2.dmm b/maps/tgstation2.dmm index 4318e1b6ff..d7b9db15d2 100644 --- a/maps/tgstation2.dmm +++ b/maps/tgstation2.dmm @@ -8437,7 +8437,7 @@ "dgm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "floorgrime"},/area/engine/engine_eva_maintenance) "dgn" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{dir = 6; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) "dgo" = (/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora) -"dgp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door_control{desc = "A remote control-switch for Surgery."; id = "Surgery"; name = "Surgery"; normaldoorcontrol = 1; pixel_x = -24; pixel_y = 8; range = 3; step_x = 0; step_y = 0},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/surgeryprep) +"dgp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door_control{desc = "A remote control-switch for Surgery."; id = "Surgery"; name = "Surgery"; normaldoorcontrol = 1; pixel_x = -24; pixel_y = 8; range = 3},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/surgeryprep) "dgq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/rnd/xenobiology/xenoflora_storage) "dgr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology/xenoflora_storage) "dgs" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/rnd/xenobiology) From 65083d8536b5d50ad028752284088db6bdca0181 Mon Sep 17 00:00:00 2001 From: Mloc Date: Fri, 18 Jul 2014 13:47:59 +0100 Subject: [PATCH 19/19] hopefully fix travis stripping ! --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index f8f1c71ba7..5895a706b1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,5 +17,5 @@ install: - cd .. script: - - ! grep -q 'step_[xy]' maps/tgstation2.dmm + - (! grep -q 'step_[xy]' maps/tgstation2.dmm) - DreamMaker baystation12.dme