From b35b3cf870acbaebe6a0e3a2e0a3af34bcd88bff Mon Sep 17 00:00:00 2001 From: pinatacolada Date: Thu, 21 Apr 2016 18:02:54 +0100 Subject: [PATCH 1/4] Makes fridge boards be selectable Screwdrive the board to select what type of fridge board you want. :cl: pinatacolada tweak: Makes fridge boards be selectable by screwdriving them /:cl: --- code/game/machinery/constructable_frame.dm | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index 200b21d441d..2e3e1fd5e0f 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -445,6 +445,45 @@ to destroy them and players will be able to make replacements. origin_tech = "programming=1" req_components = list( /obj/item/weapon/stock_parts/matter_bin = 1) + var/list/fridge_names_paths = list( + "\improper SmartFridge" = /obj/machinery/smartfridge, + "\improper MegaSeed Servitor" = /obj/machinery/smartfridge/seeds, + "\improper Refrigerated Medicine Storage" = /obj/machinery/smartfridge/medbay, + "\improper Slime Extract Storage" = /obj/machinery/smartfridge/secure/extract, + "\improper Secure Refrigerated Medicine Storage" = /obj/machinery/smartfridge/secure/medbay, + "\improper Smart Chemical Storage" = /obj/machinery/smartfridge/secure/chemistry, + "smart virus storage" = /obj/machinery/smartfridge/secure/chemistry/virology, + "\improper Drink Showcase" = /obj/machinery/smartfridge/drinks + ) + + +/obj/item/weapon/circuitboard/smartfridge/New() + ..() + if(build_path == /obj/machinery/smartfridge) //If we spawn the base type board (determined by the base type machine as the build path), become a random fridge board + var/new_path = fridge_names_paths[pick(fridge_names_paths)] + set_type(new_path) + + +/obj/item/weapon/circuitboard/smartfridge/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/weapon/screwdriver)) + set_type(null, user) + +/obj/item/weapon/circuitboard/smartfridge/proc/set_type(typepath, mob/user) + var/new_name = "" + if(!typepath) + new_name = input("Circuit Setting", "What would you change the board setting to?") in fridge_names_paths + typepath = fridge_names_paths[new_name] + else + for(var/name in fridge_names_paths) + if(fridge_names_paths[name] == typepath) + new_name = name + break + build_path = typepath + name = new_name + if(findtextEx(new_name, "\improper")) + new_name = replacetext(new_name, "\improper", "") + if(user) + to_chat(user, "You set the board to [new_name].") /obj/item/weapon/circuitboard/monkey_recycler name = "circuit board (Monkey Recycler)" From 35b2d8589c9a129e682d5d4a6db8297ee0a38934 Mon Sep 17 00:00:00 2001 From: pinatacolada Date: Thu, 21 Apr 2016 21:48:28 +0100 Subject: [PATCH 2/4] what falseincarnate said --- code/game/machinery/constructable_frame.dm | 6 ------ 1 file changed, 6 deletions(-) diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index 2e3e1fd5e0f..2e287d29ad2 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -457,12 +457,6 @@ to destroy them and players will be able to make replacements. ) -/obj/item/weapon/circuitboard/smartfridge/New() - ..() - if(build_path == /obj/machinery/smartfridge) //If we spawn the base type board (determined by the base type machine as the build path), become a random fridge board - var/new_path = fridge_names_paths[pick(fridge_names_paths)] - set_type(new_path) - /obj/item/weapon/circuitboard/smartfridge/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/weapon/screwdriver)) From af04360af199765d5eda7ff0e3b8b552b017ccbb Mon Sep 17 00:00:00 2001 From: pinatacolada Date: Sun, 24 Apr 2016 20:10:31 +0100 Subject: [PATCH 3/4] SKREEEE --- code/game/machinery/kitchen/smartfridge.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/kitchen/smartfridge.dm b/code/game/machinery/kitchen/smartfridge.dm index d1dda0bc558..bce9d826b3d 100644 --- a/code/game/machinery/kitchen/smartfridge.dm +++ b/code/game/machinery/kitchen/smartfridge.dm @@ -26,7 +26,9 @@ /obj/machinery/smartfridge/New() ..() component_parts = list() - component_parts += new /obj/item/weapon/circuitboard/smartfridge(null) + var/obj/item/weapon/circuitboard/smartfridge/board = new(null) + board.set_type(type) + component_parts += board component_parts += new /obj/item/weapon/stock_parts/matter_bin(null) RefreshParts() From ccf51de2ca2127fa4d0ac8fb1ed455318a79bd4f Mon Sep 17 00:00:00 2001 From: pinatacolada Date: Sun, 24 Apr 2016 22:17:28 +0100 Subject: [PATCH 4/4] fixes #4259 --- code/game/machinery/kitchen/smartfridge.dm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/code/game/machinery/kitchen/smartfridge.dm b/code/game/machinery/kitchen/smartfridge.dm index bce9d826b3d..b17b09d5419 100644 --- a/code/game/machinery/kitchen/smartfridge.dm +++ b/code/game/machinery/kitchen/smartfridge.dm @@ -152,10 +152,8 @@ /obj/item/weapon/reagent_containers/glass/bottle/plasma = 1, /obj/item/weapon/reagent_containers/glass/bottle/diphenhydramine = 1) -/obj/machinery/smartfridge/secure/chemistry/virology/accept_check(obj/item/O) - if(..(O)) - return 1 - if(istype(O, /obj/item/weapon/reagent_containers/syringe)) +/obj/machinery/smartfridge/secure/chemistry/virology/accept_check(var/obj/item/O as obj) + if(istype(O, /obj/item/weapon/reagent_containers/syringe) || istype(O, /obj/item/weapon/reagent_containers/glass/bottle) || istype(O, /obj/item/weapon/reagent_containers/glass/beaker)) return 1 return 0