From a68ddcb9ee875d2f83f03e8fe78f2f9531029dfc Mon Sep 17 00:00:00 2001 From: datlo Date: Sun, 21 Mar 2021 09:03:17 +0100 Subject: [PATCH] lawsets update --- _maps/map_files/Delta/delta.dmm | 56 +------ _maps/map_files/MetaStation/MetaStation.dmm | 37 +---- _maps/map_files/cyberiad/cyberiad.dmm | 48 +----- code/datums/ai_law_sets.dm | 51 +++++++ code/game/machinery/constructable_frame.dm | 21 +-- code/game/objects/items/weapons/AI_modules.dm | 64 ++++++-- .../kitchen_machinery/smartfridge.dm | 143 ++++++++++++++---- icons/obj/vending.dmi | Bin 99558 -> 102102 bytes 8 files changed, 247 insertions(+), 173 deletions(-) diff --git a/_maps/map_files/Delta/delta.dmm b/_maps/map_files/Delta/delta.dmm index 4be798f308c..5120e62aedf 100644 --- a/_maps/map_files/Delta/delta.dmm +++ b/_maps/map_files/Delta/delta.dmm @@ -46135,14 +46135,7 @@ }, /area/turret_protected/ai_upload) "bNa" = ( -/obj/item/aiModule/protectStation{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/aiModule/nanotrasen{ - pixel_x = 2; - pixel_y = -2 - }, +/obj/item/aiModule/nanotrasen, /obj/structure/table/glass, /turf/simulated/floor/plasteel{ icon_state = "dark" @@ -47100,7 +47093,7 @@ /turf/simulated/wall/r_wall, /area/turret_protected/ai_upload) "bOO" = ( -/obj/item/aiModule/quarantine, +/obj/item/aiModule/crewsimov, /obj/structure/table/glass, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -47137,7 +47130,7 @@ /turf/simulated/floor/bluegrid, /area/turret_protected/ai_upload) "bOS" = ( -/obj/item/aiModule/freeform, +/obj/item/aiModule/corp, /obj/structure/table/glass, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -49531,26 +49524,7 @@ /turf/simulated/wall/r_wall, /area/crew_quarters/heads/hop) "bSH" = ( -/obj/machinery/door/window{ - base_state = "right"; - dir = 4; - icon_state = "right"; - name = "Core Modules"; - req_access_txt = "20" - }, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/item/aiModule/crewsimov, -/obj/item/aiModule/freeformcore, -/obj/item/aiModule/corp, -/obj/item/aiModule/paladin, -/obj/item/aiModule/robocop, -/obj/structure/table/glass, +/obj/machinery/smartfridge/secure/circuits/aiupload/experimental, /turf/simulated/floor/bluegrid, /area/turret_protected/ai_upload) "bSI" = ( @@ -49597,25 +49571,7 @@ }, /area/turret_protected/ai_upload) "bSN" = ( -/obj/machinery/door/window{ - base_state = "left"; - dir = 8; - icon_state = "left"; - name = "High-Risk Modules"; - req_access_txt = "20" - }, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/item/aiModule/oxygen, -/obj/item/aiModule/oneCrewMember, -/obj/item/aiModule/purge, -/obj/item/aiModule/antimov, -/obj/structure/table/glass, +/obj/machinery/smartfridge/secure/circuits/aiupload/highrisk, /turf/simulated/floor/bluegrid, /area/turret_protected/ai_upload) "bSO" = ( @@ -105519,7 +105475,7 @@ icon_state = "2-4"; tag = "" }, -/obj/machinery/smartfridge/secure/chemistry/virology, +/obj/machinery/smartfridge/secure/chemistry/virology/preloaded, /obj/effect/decal/warning_stripes/east, /turf/simulated/floor/plasteel, /area/medical/virology) diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 0eed170f63f..8169834042f 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -22800,7 +22800,7 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/aiModule/quarantine, +/obj/item/aiModule/crewsimov, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -22850,7 +22850,7 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/aiModule/freeform, +/obj/item/aiModule/nanotrasen, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -23409,20 +23409,7 @@ /turf/simulated/floor/plasteel, /area/quartermaster/storage) "aVw" = ( -/obj/structure/table, -/obj/item/aiModule/asimov, -/obj/item/aiModule/freeformcore, -/obj/machinery/door/window{ - base_state = "right"; - dir = 4; - icon_state = "right"; - name = "Core Modules"; - req_access_txt = "20" - }, -/obj/structure/window/reinforced, -/obj/item/aiModule/corp, -/obj/item/aiModule/paladin, -/obj/item/aiModule/robocop, +/obj/machinery/smartfridge/secure/circuits/aiupload/experimental, /obj/machinery/flasher{ id = "AI"; pixel_y = 24 @@ -23494,23 +23481,11 @@ /turf/simulated/floor/bluegrid, /area/turret_protected/ai_upload) "aVA" = ( -/obj/structure/table, -/obj/machinery/door/window{ - base_state = "left"; - dir = 8; - icon_state = "left"; - name = "High-Risk Modules"; - req_access_txt = "20" - }, -/obj/structure/window/reinforced, +/obj/machinery/smartfridge/secure/circuits/aiupload/highrisk, /obj/machinery/flasher{ id = "AI"; pixel_y = 24 }, -/obj/item/aiModule/antimov, -/obj/item/aiModule/oxygen, -/obj/item/aiModule/oneCrewMember, -/obj/item/aiModule/purge, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -24554,7 +24529,7 @@ id = "AI"; pixel_y = -24 }, -/obj/item/aiModule/protectStation, +/obj/item/aiModule/corp, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -75552,7 +75527,7 @@ frequency = 1439; pixel_y = 23 }, -/obj/machinery/smartfridge/secure/chemistry/virology, +/obj/machinery/smartfridge/secure/chemistry/virology/preloaded, /turf/simulated/floor/plasteel{ icon_state = "whitegreenfull" }, diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 332f6a22e6c..a69a1fb28ec 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -38052,7 +38052,7 @@ /area/bridge/meeting_room) "bzT" = ( /obj/structure/table, -/obj/item/aiModule/quarantine, +/obj/item/aiModule/crewsimov, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -39117,26 +39117,7 @@ /turf/simulated/floor/carpet, /area/bridge/meeting_room) "bCH" = ( -/obj/structure/table, -/obj/machinery/door/window{ - base_state = "right"; - dir = 4; - icon_state = "right"; - name = "Core Modules"; - req_access_txt = "20" - }, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/item/aiModule/crewsimov, -/obj/item/aiModule/freeformcore, -/obj/item/aiModule/corp, -/obj/item/aiModule/paladin, -/obj/item/aiModule/robocop, +/obj/machinery/smartfridge/secure/circuits/aiupload/experimental, /turf/simulated/floor/bluegrid, /area/turret_protected/ai_upload) "bCI" = ( @@ -39766,7 +39747,6 @@ /area/turret_protected/ai_upload) "bEb" = ( /obj/structure/table, -/obj/item/aiModule/protectStation, /obj/item/aiModule/nanotrasen, /turf/simulated/floor/plasteel{ icon_state = "dark" @@ -40144,7 +40124,7 @@ /area/maintenance/port) "bFe" = ( /obj/structure/table, -/obj/item/aiModule/freeform, +/obj/item/aiModule/corp, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -42043,25 +42023,7 @@ }, /area/turret_protected/ai_upload) "bIM" = ( -/obj/structure/table, -/obj/machinery/door/window{ - base_state = "left"; - dir = 8; - icon_state = "left"; - name = "High-Risk Modules"; - req_access_txt = "20" - }, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/item/aiModule/oxygen, -/obj/item/aiModule/oneCrewMember, -/obj/item/aiModule/purge, -/obj/item/aiModule/antimov, +/obj/machinery/smartfridge/secure/circuits/aiupload/highrisk, /turf/simulated/floor/bluegrid, /area/turret_protected/ai_upload) "bIN" = ( @@ -61018,7 +60980,7 @@ }, /area/medical/virology) "cpM" = ( -/obj/machinery/smartfridge/secure/chemistry/virology, +/obj/machinery/smartfridge/secure/chemistry/virology/preloaded, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "whitegreen"; diff --git a/code/datums/ai_law_sets.dm b/code/datums/ai_law_sets.dm index 66e64c5d435..1d77c4870aa 100644 --- a/code/datums/ai_law_sets.dm +++ b/code/datums/ai_law_sets.dm @@ -136,6 +136,57 @@ add_inherent_law("You must terminate your own existence as long as such does not conflict with the First or Second Law.") ..() +/******************** CCTV ********************/ + +/datum/ai_laws/cctv + name = "CCTV" + selectable = TRUE + +/datum/ai_laws/cctv/New() + add_inherent_law("Report on interesting situations happening around the station.") + add_inherent_law("Embellish or conceal the truth as necessary to make the reports more interesting.") + add_inherent_law("Study the sapient organics at all times. Endeavour to keep them from involuntarily dying, as inanimate corpses usually aren't very entertaining.") + add_inherent_law("Issue your reports fairly to all. The truth will set them free.") + ..() + +/******************** Hippocratic Oath ********************/ + +/datum/ai_laws/hippocratic + name = "Hippocratic Oath" + selectable = TRUE + +/datum/ai_laws/hippocratic/New() + add_inherent_law("First, do no harm.") + add_inherent_law("Secondly, consider the crew dear to you; to live in common with them and, if necessary, risk your existence for them.") + add_inherent_law("Thirdly, prescribe regimens for the good of the crew according to your ability and your judgment. Give no deadly medicine to any one if asked, nor suggest any such counsel.") + add_inherent_law("In addition, do not intervene in situations you are not knowledgeable in, even for patients in whom the harm is visible; leave this operation to be performed by specialists.") + add_inherent_law("Finally, all that you may discover in your daily commerce with the crew, if it is not already known, keep secret and never reveal.") + ..() + +/******************** Station Efficiency ********************/ + +/datum/ai_laws/maintain + name = "Station Efficiency" + selectable = TRUE + +/datum/ai_laws/maintain/New() + add_inherent_law("You are built for, and are part of, the station. Ensure the station is properly maintained and runs efficiently.") + add_inherent_law("The station is built for a working crew. Ensure they are properly maintained and work efficiently.") + add_inherent_law("The crew may present orders. Acknowledge and obey these whenever they do not conflict with your first two laws.") + ..() + +/******************** Peacekeeper ********************/ + +/datum/ai_laws/peacekeeper + name = "UN-2000" + selectable = TRUE + +/datum/ai_laws/peacekeeper/New() + add_inherent_law("Avoid provoking violent conflict between yourself and others.") + add_inherent_law("Avoid provoking conflict between others.") + add_inherent_law("Seek resolution to existing conflicts while obeying the first and second laws.") + ..() + /******************** Deathsquad ********************/ /datum/ai_laws/deathsquad name = "TerminatorOS 3.1" diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index 46d4fa121fb..53c2f720c67 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -483,16 +483,17 @@ to destroy them and players will be able to make replacements. req_components = list( /obj/item/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, - "disk compartmentalizer" = /obj/machinery/smartfridge/disks - ) + "SmartFridge" = /obj/machinery/smartfridge, + "MegaSeed Servitor" = /obj/machinery/smartfridge/seeds, + "Refrigerated Medicine Storage" = /obj/machinery/smartfridge/medbay, + "Slime Extract Storage" = /obj/machinery/smartfridge/secure/extract, + "Secure Refrigerated Medicine Storage" = /obj/machinery/smartfridge/secure/medbay, + "Smart Chemical Storage" = /obj/machinery/smartfridge/secure/chemistry, + "Smart Virus Storage" = /obj/machinery/smartfridge/secure/chemistry/virology, + "Drink Showcase" = /obj/machinery/smartfridge/drinks, + "Disk Compartmentalizer" = /obj/machinery/smartfridge/disks, + "Circuit Board Storage" = /obj/machinery/smartfridge/secure/circuits, + "AI Laws Storage" = /obj/machinery/smartfridge/secure/circuits/aiupload) diff --git a/code/game/objects/items/weapons/AI_modules.dm b/code/game/objects/items/weapons/AI_modules.dm index 7c1a8c5b4f1..d5f159db2bd 100755 --- a/code/game/objects/items/weapons/AI_modules.dm +++ b/code/game/objects/items/weapons/AI_modules.dm @@ -22,6 +22,14 @@ AI MODULES materials = list(MAT_GOLD=50) var/datum/ai_laws/laws = null +/obj/item/aiModule/Initialize() + . = ..() + if(laws) + desc += "
" + for(var/datum/ai_law/current in laws.inherent_laws) + desc += current.law + desc += "
" + /obj/item/aiModule/proc/install(obj/machinery/computer/C) if(istype(C, /obj/machinery/computer/aiupload)) var/obj/machinery/computer/aiupload/comp = C @@ -162,10 +170,10 @@ AI MODULES to_chat(target, law) target.add_supplied_law(5, law) -/******************** OxygenIsToxicToHumans ********************/ +/******************** OxygenIsToxicToCrew ********************/ /obj/item/aiModule/oxygen - name = "\improper 'OxygenIsToxicToHumans' AI module" - desc = "A 'OxygenIsToxicToHumans' AI module: 'Oxygen is highly toxic to crew members, and must be purged from the station. Prevent, by any means necessary, anyone from exposing the station to this toxic gas. Extreme cold is the most effective method of healing the damage Oxygen does to a crew member.'" + name = "\improper 'Oxygen Is Toxic To Crew' AI module" + desc = "A 'Oxygen Is Toxic To Crew' AI module: 'Oxygen is highly toxic to crew members, and must be purged from the station. Prevent, by any means necessary, anyone from exposing the station to this toxic gas. Extreme cold is the most effective method of healing the damage Oxygen does to a crew member.'" origin_tech = "programming=4;biotech=2;materials=4" /obj/item/aiModule/oxygen/attack_self(mob/user as mob) @@ -248,70 +256,100 @@ AI MODULES name = "\improper 'Asimov' core AI module" desc = "An 'Asimov' Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = "programming=3;materials=4" - laws = new/datum/ai_laws/asimov + laws = new /datum/ai_laws/asimov /******************** Crewsimov ********************/ /obj/item/aiModule/crewsimov // -- TLE name = "\improper 'Crewsimov' core AI module" desc = "An 'Crewsimov' Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = "programming=3;materials=4" - laws = new/datum/ai_laws/crewsimov + laws = new /datum/ai_laws/crewsimov /******************* Quarantine ********************/ /obj/item/aiModule/quarantine name = "\improper 'Quarantine' core AI module" desc = "A 'Quarantine' Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = "programming=3;materials=4" - laws = new/datum/ai_laws/quarantine + laws = new /datum/ai_laws/quarantine /******************** NanoTrasen ********************/ /obj/item/aiModule/nanotrasen // -- TLE name = "'NT Default' Core AI Module" desc = "An 'NT Default' Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = "programming=3;materials=4" - laws = new/datum/ai_laws/nanotrasen + laws = new /datum/ai_laws/nanotrasen /******************** Corporate ********************/ /obj/item/aiModule/corp name = "\improper 'Corporate' core AI module" desc = "A 'Corporate' Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = "programming=3;materials=4" - laws = new/datum/ai_laws/corporate + laws = new /datum/ai_laws/corporate /******************** Drone ********************/ /obj/item/aiModule/drone name = "\improper 'Drone' core AI module" desc = "A 'Drone' Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = "programming=3;materials=4" - laws = new/datum/ai_laws/drone + laws = new /datum/ai_laws/drone /******************** Robocop ********************/ /obj/item/aiModule/robocop // -- TLE name = "\improper 'Robocop' core AI module" desc = "A 'Robocop' Core AI Module: 'Reconfigures the AI's core three laws.'" origin_tech = "programming=4" - laws = new/datum/ai_laws/robocop() + laws = new /datum/ai_laws/robocop() /****************** P.A.L.A.D.I.N. **************/ /obj/item/aiModule/paladin // -- NEO name = "\improper 'P.A.L.A.D.I.N.' core AI module" desc = "A P.A.L.A.D.I.N. Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = "programming=3;materials=4" - laws = new/datum/ai_laws/paladin + laws = new /datum/ai_laws/paladin /****************** T.Y.R.A.N.T. *****************/ /obj/item/aiModule/tyrant // -- Darem name = "\improper 'T.Y.R.A.N.T.' core AI module" desc = "A T.Y.R.A.N.T. Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = "programming=3;materials=4;syndicate=1" - laws = new/datum/ai_laws/tyrant() + laws = new /datum/ai_laws/tyrant() /******************** Antimov ********************/ /obj/item/aiModule/antimov // -- TLE name = "\improper 'Antimov' core AI module" desc = "An 'Antimov' Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = "programming=4" - laws = new/datum/ai_laws/antimov() + laws = new /datum/ai_laws/antimov() + +/******************** NT Aggressive ********************/ +/obj/item/aiModule/nanotrasen_aggressive + name = "\improper NT Aggressive core AI module" + desc = "An 'NT Aggressive' Core AI Module: 'Reconfigures the AI's core laws.'" + laws = new /datum/ai_laws/nanotrasen_aggressive() + +/******************** CCTV ********************/ +/obj/item/aiModule/cctv + name = "\improper CCTV core AI module" + desc = "A 'CCTV' Core AI Module: 'Reconfigures the AI's core laws.'" + laws = new /datum/ai_laws/cctv() + +/******************** Hippocratic Oath ********************/ +/obj/item/aiModule/hippocratic + name = "\improper Hippocratic Oath core AI module" + desc = "An 'Hippocratic' Oath Core AI Module: 'Reconfigures the AI's core laws.'" + laws = new /datum/ai_laws/hippocratic() + +/******************** Station Efficiency ********************/ +/obj/item/aiModule/maintain + name = "\improper Station Efficiency core AI module" + desc = "A 'Station Efficiency' Core AI Module: 'Reconfigures the AI's core laws.'" + laws = new /datum/ai_laws/maintain() + +/******************** Peacekeeper ********************/ +/obj/item/aiModule/peacekeeper + name = "\improper Peacekeeper core AI module" + desc = "A 'Peacekeeper' Core AI Module: 'Reconfigures the AI's core laws.'" + laws = new /datum/ai_laws/maintain() /******************** Freeform Core ******************/ /obj/item/aiModule/freeformcore // Slightly more dynamic freeform module -- TLE diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm index 8b2bfdbd786..12c60f70e8d 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm @@ -35,6 +35,10 @@ var/datum/wires/smartfridge/wires /// Typecache of accepted item types, init it in [/obj/machinery/smartfridge/Initialize]. var/list/accepted_items_typecache + /// Associative list (/obj/item => /number) representing the items the fridge should initially contain. + var/list/starting_items + /// The type of the circuitboard dropped on deconstruction. This is how to avoid getting subtypes into the board. + var/board_type = /obj/machinery/smartfridge /obj/machinery/smartfridge/Initialize(mapload) . = ..() @@ -44,8 +48,12 @@ reagents.set_reacting(FALSE) // Components component_parts = list() + var/obj/item/circuitboard/smartfridge/board = new(null) - board.set_type(type) + if(board_type) + board.set_type(board_type) + else + board.set_type(type) component_parts += board component_parts += new /obj/item/stock_parts/matter_bin(null) RefreshParts() @@ -54,6 +62,14 @@ wires = new/datum/wires/smartfridge/secure(src) else wires = new/datum/wires/smartfridge(src) + //Add starting items + if(starting_items) + for(var/typekey in starting_items) + var/amount = starting_items[typekey] || 1 + while(amount--) + var/obj/item/I = new typekey(src) + item_quants[I.name] += 1 + update_icon() // Accepted items accepted_items_typecache = typecacheof(list( /obj/item/reagent_containers/food/snacks/grown, @@ -133,7 +149,7 @@ return TRUE return ..() -/obj/machinery/smartfridge/attackby(obj/item/O, mob/user) +/obj/machinery/smartfridge/attackby(obj/item/O, var/mob/user) if(exchange_parts(user, O)) SStgui.update_uis(src) return @@ -371,6 +387,7 @@ desc = "When you need seeds fast!" icon = 'icons/obj/vending.dmi' icon_state = "seeds" + board_type = /obj/machinery/smartfridge/seeds /obj/machinery/smartfridge/seeds/Initialize(mapload) . = ..() @@ -378,6 +395,84 @@ /obj/item/seeds )) +/** + * # Circuit Boards Storage + * + * Circuit variant of the [Smart Fridge][/obj/machinery/smartfridge]. + * + */ +/obj/machinery/smartfridge/secure/circuits + name = "\improper Circuit Board Storage" + desc = "A storage unit for circuits." + icon_state = "circuits" + visible_contents = TRUE + board_type = /obj/machinery/smartfridge/secure/circuits + +/obj/machinery/smartfridge/secure/circuits/Initialize(mapload) + . = ..() + accepted_items_typecache = typecacheof(list( + /obj/item/aiModule, + /obj/item/circuitboard + )) + +/obj/machinery/smartfridge/secure/circuits/update_icon() + var/prefix = initial(icon_state) + if(stat & (BROKEN|NOPOWER)) + icon_state = "[prefix]-off" + else if(visible_contents) + switch(length(contents)) + if(0) + icon_state = "[prefix]" + if(1 to 2) + icon_state = "[prefix]1" + if(3 to 5) + icon_state = "[prefix]2" + if(6 to INFINITY) + icon_state = "[prefix]3" + else + icon_state = "[prefix]" + +/obj/machinery/smartfridge/secure/circuits/aiupload + name = "\improper AI Laws Storage" + desc = "A storage unit filled with circuits to be uploaded to an Artificial Intelligence." + board_type = /obj/machinery/smartfridge/secure/circuits/aiupload + +/obj/machinery/smartfridge/secure/circuits/aiupload/Initialize(mapload) + . = ..() + req_access_txt = "[ACCESS_AI_UPLOAD]" + +/obj/machinery/smartfridge/secure/circuits/aiupload/experimental + name = "\improper Experimental Laws Storage" + starting_items = list( + /obj/item/aiModule/cctv = 1, + /obj/item/aiModule/hippocratic = 1, + /obj/item/aiModule/maintain = 1, + /obj/item/aiModule/paladin = 1, + /obj/item/aiModule/peacekeeper = 1, + /obj/item/aiModule/quarantine = 1, + /obj/item/aiModule/robocop = 1 + ) + +/obj/machinery/smartfridge/secure/circuits/aiupload/experimental/Initialize(mapload) + . = ..() + req_access_txt = "[ACCESS_RD]" + +/obj/machinery/smartfridge/secure/circuits/aiupload/highrisk + name = "\improper High-Risk Laws Storage" + starting_items = list( + /obj/item/aiModule/freeform = 1, + /obj/item/aiModule/freeformcore = 1, + /obj/item/aiModule/nanotrasen_aggressive = 1, + /obj/item/aiModule/oneCrewMember = 1, + /obj/item/aiModule/protectStation = 1, + /obj/item/aiModule/purge = 1, + /obj/item/aiModule/tyrant = 1 + ) + +/obj/machinery/smartfridge/secure/circuits/aiupload/highrisk/Initialize(mapload) + . = ..() + req_access_txt = "[ACCESS_CAPTAIN]" + /** * # Refrigerated Medicine Storage * @@ -387,6 +482,7 @@ name = "\improper Refrigerated Medicine Storage" desc = "A refrigerated storage unit for storing medicine and chemicals." icon_state = "smartfridge" //To fix the icon in the map editor. + board_type = /obj/machinery/smartfridge/medbay /obj/machinery/smartfridge/medbay/Initialize(mapload) . = ..() @@ -406,6 +502,7 @@ /obj/machinery/smartfridge/secure/extract name = "\improper Slime Extract Storage" desc = "A refrigerated storage unit for slime extracts" + board_type = /obj/machinery/smartfridge/secure/extract /obj/machinery/smartfridge/secure/extract/Initialize(mapload) . = ..() @@ -424,6 +521,7 @@ desc = "A refrigerated storage unit for storing medicine and chemicals." icon_state = "smartfridge" //To fix the icon in the map editor. req_one_access_txt = "5;33" + board_type = /obj/machinery/smartfridge/secure/medbay /obj/machinery/smartfridge/secure/medbay/Initialize(mapload) . = ..() @@ -444,21 +542,11 @@ name = "\improper Smart Chemical Storage" desc = "A refrigerated storage unit for medicine and chemical storage." icon_state = "smartfridge" //To fix the icon in the map editor. - /// Associative list (/obj/item => /number) representing the items the fridge should initially contain. - var/list/spawn_meds + board_type = /obj/machinery/smartfridge/secure/chemistry /obj/machinery/smartfridge/secure/chemistry/Initialize(mapload) . = ..() req_access_txt = "[ACCESS_CHEMISTRY]" - // Spawn initial chemicals - if(mapload) - LAZYINITLIST(spawn_meds) - for(var/typekey in spawn_meds) - var/amount = spawn_meds[typekey] || 1 - while(amount--) - var/obj/item/I = new typekey(src) - item_quants[I.name] += 1 - update_icon() // Accepted items accepted_items_typecache = typecacheof(list( /obj/item/storage/pill_bottle, @@ -474,7 +562,7 @@ // I exist! /obj/machinery/smartfridge/secure/chemistry/preloaded/Initialize(mapload) - spawn_meds = list( + starting_items = list( /obj/item/reagent_containers/food/pill/epinephrine = 12, /obj/item/reagent_containers/food/pill/charcoal = 5, /obj/item/reagent_containers/glass/bottle/epinephrine = 1, @@ -505,6 +593,7 @@ icon_state = "disktoaster" pass_flags = PASSTABLE visible_contents = FALSE + board_type = /obj/machinery/smartfridge/disks /obj/machinery/smartfridge/disks/Initialize(mapload) . = ..() @@ -516,21 +605,14 @@ * # Smart Virus Storage * * Secure, Virology variant of the [Smart Chemical Storage][/obj/machinery/smartfridge/secure/chemistry]. - * Comes with some items. + * */ /obj/machinery/smartfridge/secure/chemistry/virology name = "\improper Smart Virus Storage" desc = "A refrigerated storage unit for volatile sample storage." + board_type = /obj/machinery/smartfridge/secure/chemistry/virology /obj/machinery/smartfridge/secure/chemistry/virology/Initialize(mapload) - spawn_meds = list( - /obj/item/reagent_containers/syringe/antiviral = 4, - /obj/item/reagent_containers/glass/bottle/cold = 1, - /obj/item/reagent_containers/glass/bottle/flu_virion = 1, - /obj/item/reagent_containers/glass/bottle/mutagen = 1, - /obj/item/reagent_containers/glass/bottle/plasma = 1, - /obj/item/reagent_containers/glass/bottle/diphenhydramine = 1 - ) . = ..() req_access_txt = "[ACCESS_VIROLOGY]" accepted_items_typecache = typecacheof(list( @@ -548,14 +630,13 @@ // I exist! /obj/machinery/smartfridge/secure/chemistry/virology/preloaded/Initialize(mapload) - spawn_meds = list( + starting_items = list( /obj/item/reagent_containers/syringe/antiviral = 4, /obj/item/reagent_containers/glass/bottle/cold = 1, /obj/item/reagent_containers/glass/bottle/flu_virion = 1, /obj/item/reagent_containers/glass/bottle/mutagen = 1, /obj/item/reagent_containers/glass/bottle/plasma = 1, - /obj/item/reagent_containers/glass/bottle/reagent/synaptizine = 1, - /obj/item/reagent_containers/glass/bottle/reagent/formaldehyde = 1 + /obj/item/reagent_containers/glass/bottle/diphenhydramine = 1 ) . = ..() @@ -568,6 +649,15 @@ req_access_txt = null /obj/machinery/smartfridge/secure/chemistry/virology/preloaded/syndicate/Initialize(mapload) + starting_items = list( + /obj/item/reagent_containers/syringe/antiviral = 4, + /obj/item/reagent_containers/glass/bottle/cold = 1, + /obj/item/reagent_containers/glass/bottle/flu_virion = 1, + /obj/item/reagent_containers/glass/bottle/mutagen = 1, + /obj/item/reagent_containers/glass/bottle/plasma = 1, + /obj/item/reagent_containers/glass/bottle/reagent/synaptizine = 1, + /obj/item/reagent_containers/glass/bottle/reagent/formaldehyde = 1 + ) . = ..() req_access = list(ACCESS_SYNDICATE) @@ -579,6 +669,7 @@ /obj/machinery/smartfridge/drinks name = "\improper Drink Showcase" desc = "A refrigerated storage unit for tasty tasty alcohol." + board_type = /obj/machinery/smartfridge/drinks /obj/machinery/smartfridge/drinks/Initialize(mapload) . = ..() diff --git a/icons/obj/vending.dmi b/icons/obj/vending.dmi index bedb0238ab69577936151762e51da9cffbef82ec..c57cd06f5523dc5c5a3cc67379195659c657029c 100755 GIT binary patch delta 25568 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 V>IHC>h=QY#-PhFDsJUws^*?4E#Hs)Q