From 97f8bcffffb4f69eca79c69c695d97f94a1122f7 Mon Sep 17 00:00:00 2001 From: caelaislinn Date: Sat, 23 Jun 2012 16:51:51 +1000 Subject: [PATCH 1/2] prevent an artifact from being analysed and harvested at the same time Signed-off-by: caelaislinn --- code/modules/research/artifact_analysis.dm | 44 ++++++++++++--------- code/modules/research/artifact_harvester.dm | 6 +++ code/modules/research/artifacts.dm | 1 + 3 files changed, 32 insertions(+), 19 deletions(-) diff --git a/code/modules/research/artifact_analysis.dm b/code/modules/research/artifact_analysis.dm index 554a846cfec..16b4c0c1568 100644 --- a/code/modules/research/artifact_analysis.dm +++ b/code/modules/research/artifact_analysis.dm @@ -214,25 +214,31 @@ findarti++ cur_artifact = A if (findarti == 1) - cur_artifact.anchored = 1 - src.working = 1 - src.icon_state = "analyser_processing" - var/time = rand(30,50) + max(0, 300 - scan_num * 10) - /*for(var/i = artifact_research.starting_tier, i <= artifact_research.max_tiers, i++) - for(var/datum/artiresearch/R in artifact_research.researched_items[i]) - if (R.bonustype == "analyser") time -= R.bonusTime*/ - time *= 10 - var/message = "[src] states, \"Commencing analysis.\"" - src.visible_message(message, message) - spawn(time) - src.working = 0 - icon_state = "analyser" - cur_artifact.anchored = 0 - if(cur_artifact.loc == pad_turf) - AA_Analyse() - scan_num++ - message = "[src] states, \"Analysis complete.\"" - src.visible_message(message, message) + if(cur_artifact.being_used) + var/message = "[src] states, \"Cannot analyse. Excess energy drain is disrupting signal.\"" + src.visible_message(message, message) + else + cur_artifact.anchored = 1 + cur_artifact.being_used = 1 + src.working = 1 + src.icon_state = "analyser_processing" + var/time = rand(30,50) + max(0, 300 - scan_num * 10) + /*for(var/i = artifact_research.starting_tier, i <= artifact_research.max_tiers, i++) + for(var/datum/artiresearch/R in artifact_research.researched_items[i]) + if (R.bonustype == "analyser") time -= R.bonusTime*/ + time *= 10 + var/message = "[src] states, \"Commencing analysis.\"" + src.visible_message(message, message) + spawn(time) + src.working = 0 + icon_state = "analyser" + cur_artifact.anchored = 0 + cur_artifact.being_used = 0 + if(cur_artifact.loc == pad_turf) + AA_Analyse() + scan_num++ + message = "[src] states, \"Analysis complete.\"" + src.visible_message(message, message) else if (findarti > 1) var/message = "[src] states, \"Cannot analyse. Too many artifacts on pad.\"" src.visible_message(message, message) diff --git a/code/modules/research/artifact_harvester.dm b/code/modules/research/artifact_harvester.dm index 595ea22f852..84839dfb768 100644 --- a/code/modules/research/artifact_harvester.dm +++ b/code/modules/research/artifact_harvester.dm @@ -43,6 +43,7 @@ inserted_battery.stored_charge = inserted_battery.capacity harvesting = 0 cur_artifact.anchored = 0 + cur_artifact.being_used = 0 src.visible_message("[name] states, \"Battery is full.\"") icon_state = "incubator" return @@ -102,6 +103,9 @@ else if(!articount) var/message = "[src] states, \"Cannot harvest. No artifact found.\"" src.visible_message(message, message) + else if (cur_artifact.being_used) + var/message = "[src] states, \"Cannot harvest. Too much interferance from energy scan.\"" + src.visible_message(message, message) else cur_artifact = analysed //check to see if the battery is compatible @@ -109,6 +113,7 @@ if(inserted_battery.battery_effect.artifact_id == cur_artifact.my_effect.artifact_id || inserted_battery.stored_charge == 0) harvesting = 1 cur_artifact.anchored = 1 + cur_artifact.being_used = 1 icon_state = "incubator_on" var/message = "[src] states, \"Beginning artifact energy harvesting.\"" src.visible_message(message, message) @@ -125,6 +130,7 @@ if(harvesting) harvesting = 0 cur_artifact.anchored = 0 + cur_artifact.being_used = 0 src.visible_message("[name] states, \"Harvesting interrupted.\"") icon_state = "incubator" diff --git a/code/modules/research/artifacts.dm b/code/modules/research/artifacts.dm index a043880dcca..d79222b3f21 100644 --- a/code/modules/research/artifacts.dm +++ b/code/modules/research/artifacts.dm @@ -15,6 +15,7 @@ var/recharge = 5 // How long does it take this artifact to recharge? var/display_id = "" // Artifact ID to display once successfully scanned var/datum/artifact_effect/my_effect = null + var/being_used = 0 /obj/machinery/artifact/New() ..() From 2cf1504fc5b9bd4ac8eeeb15b7903adb2b094ef0 Mon Sep 17 00:00:00 2001 From: caelaislinn Date: Sat, 23 Jun 2012 18:26:19 +1000 Subject: [PATCH 2/2] anomaly bay tweaks Signed-off-by: caelaislinn --- maps/tgstation.2.0.8.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maps/tgstation.2.0.8.dmm b/maps/tgstation.2.0.8.dmm index ea51c964eab..d04549e3213 100755 --- a/maps/tgstation.2.0.8.dmm +++ b/maps/tgstation.2.0.8.dmm @@ -3618,7 +3618,7 @@ "brD" = (/obj/structure/rack,/obj/item/clothing/suit/bio_suit/anomaly,/obj/item/clothing/head/bio_hood/anomaly,/obj/item/clothing/gloves/latex,/turf/simulated/floor{dir = 2; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/anomaly) "brE" = (/obj/structure/rack,/obj/item/clothing/suit/bio_suit/anomaly,/obj/item/clothing/head/bio_hood/anomaly,/obj/item/clothing/gloves/latex,/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/anomaly) "brF" = (/obj/structure/rack,/obj/item/clothing/suit/bio_suit/anomaly,/obj/item/clothing/head/bio_hood/anomaly,/obj/item/clothing/gloves/latex,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/anomaly) -"brG" = (/obj/structure/noticeboard/anomaly{icon_state = "nboard03"; notices = 3; pixel_x = -32; step_x = 0},/turf/simulated/floor{icon_state = "white"},/area/anomaly) +"brG" = (/obj/structure/noticeboard/anomaly{icon_state = "nboard04"; notices = 4; pixel_x = -32; step_x = 0},/turf/simulated/floor{icon_state = "white"},/area/anomaly) "brH" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "white"},/area/anomaly) "brI" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "warnwhite"},/area/anomaly) "brJ" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/machinery/door/poddoor{density = 1; icon_state = "pdoor1"; id = "QMLoaddoor"; name = "Supply Dock Loading Door"; opacity = 1},/turf/simulated/floor/plating,/area/quartermaster/storage)