From b278741b196f19bc4ea2ba89f24a4d798a0ca7d8 Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Mon, 22 Feb 2016 14:58:05 -0600 Subject: [PATCH] Door remote config --- code/controllers/configuration.dm | 3 +++ code/game/objects/items/control_wand.dm | 23 ++++++++++++------- .../crates_lockers/closets/secure/cargo.dm | 2 ++ .../closets/secure/engineering.dm | 6 +++-- .../crates_lockers/closets/secure/medical.dm | 6 +++-- .../closets/secure/scientist.dm | 2 ++ .../crates_lockers/closets/secure/security.dm | 4 ++++ config/game_options.txt | 2 ++ 8 files changed, 36 insertions(+), 12 deletions(-) diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index 1dff0ee6ceb..9a2d429f829 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -92,6 +92,7 @@ var/humans_need_surnames = 0 var/allow_random_events = 0 // enables random events mid-round when set to 1 var/allow_ai = 0 // allow ai job + var/door_remote = 0 // door remotes for heads of staff var/panic_bunker = 0 // prevents new people it hasn't seen before from connecting var/notify_new_player_age = 0 // how long do we notify admins of a new player var/irc_first_connection_alert = 0 // do we notify the irc channel when somebody is connecting for the first time? @@ -517,6 +518,8 @@ config.force_random_names = 1 if("allow_ai") config.allow_ai = 1 + if("door_remote") + config.door_remote = 1 if("silent_ai") config.silent_ai = 1 if("silent_borg") diff --git a/code/game/objects/items/control_wand.dm b/code/game/objects/items/control_wand.dm index 1509e2bcbf0..f46dbaf39e3 100644 --- a/code/game/objects/items/control_wand.dm +++ b/code/game/objects/items/control_wand.dm @@ -3,8 +3,9 @@ #define WAND_EMERGENCY "Toggle Emergency Access" /obj/item/weapon/control_wand - icon_state = "chainswordon" - item_state = "chainswordon" + icon_state = "gangtool-white" + item_state = "walkietalkie" + icon = 'icons/obj/device.dmi' name = "control wand" desc = "Remotely controls airlocks." var/mode = WAND_OPEN @@ -54,29 +55,35 @@ user << "Your [src] does not have access to this door." /obj/item/weapon/control_wand/captain - name = "omni wand" + name = "omni door remote" desc = "This control wand can access any door on the station." + icon_state = "gangtool-yellow" wand_access = "Captain" /obj/item/weapon/control_wand/chief_engineer - name = "engineering control wand" + name = "engineering door remote" wand_access = "Chief Engineer" + icon_state = "gangtool-orange" /obj/item/weapon/control_wand/research_director - name = "research control wand" + name = "research door remote" wand_access = "Research Director" + icon_state = "gangtool-purple" /obj/item/weapon/control_wand/head_of_security - name = "security control wand" + name = "security door remote" wand_access = "Head of Security" + icon_state = "gangtool-red" /obj/item/weapon/control_wand/quartermaster - name = "supply control wand" + name = "supply door remote" wand_access = "Quartermaster" + icon_state = "gangtool-green" /obj/item/weapon/control_wand/chief_medical_officer - name = "medical control wand" + name = "medical door remote" wand_access = "Chief Medical Officer" + icon_state = "gangtool-blue" #undef WAND_OPEN #undef WAND_BOLT diff --git a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm index b2886ba96f9..b1a156a135d 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm @@ -17,3 +17,5 @@ new /obj/item/clothing/mask/gas(src) new /obj/item/clothing/glasses/meson(src) new /obj/item/clothing/head/soft(src) + if(config && config.door_remote) + new /obj/item/weapon/control_wand/quartermaster(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm index 3f6c5c5a31c..9f94bc49898 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -23,6 +23,8 @@ new /obj/item/device/multitool(src) new /obj/item/device/assembly/flash/handheld(src) new /obj/item/clothing/glasses/meson/engine(src) + if(config && config.door_remote) + new /obj/item/weapon/control_wand/chief_engineer(src) /obj/structure/closet/secure_closet/engineering_electrical name = "electrical supplies locker" @@ -40,7 +42,7 @@ new /obj/item/weapon/electronics/apc(src) for(var/i in 1 to 3) new /obj/item/device/multitool(src) - + /obj/structure/closet/secure_closet/engineering_welding name = "welding supplies locker" req_access = list(access_engine_equip) @@ -53,7 +55,7 @@ new /obj/item/clothing/head/welding(src) for(var/i in 1 to 3) new /obj/item/weapon/weldingtool/largetank(src) - + /obj/structure/closet/secure_closet/engineering_personal name = "engineer's locker" req_access = list(access_engine_equip) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index 92eac22ab65..7b1d7b5ffe2 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -32,7 +32,7 @@ new /obj/item/weapon/tank/internals/anesthetic(src) for(var/i in 1 to 3) new /obj/item/clothing/mask/breath/medical(src) - + /obj/structure/closet/secure_closet/medical3 name = "medical doctor's locker" req_access = list(access_surgery) @@ -69,6 +69,8 @@ new /obj/item/device/assembly/flash/handheld(src) new /obj/item/weapon/reagent_containers/hypospray/CMO(src) new /obj/item/organ/internal/cyberimp/eyes/hud/medical(src) + if(config && config.door_remote) + new /obj/item/weapon/control_wand/chief_medical_officer(src) /obj/structure/closet/secure_closet/animal name = "animal control" @@ -79,7 +81,7 @@ new /obj/item/device/assembly/signaler(src) for(var/i in 1 to 3) new /obj/item/device/electropack(src) - + /obj/structure/closet/secure_closet/chemical name = "chemical closet" desc = "Store dangerous chemicals in here." diff --git a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm index 315747fd43e..d1553156dd0 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm @@ -21,3 +21,5 @@ new /obj/item/clothing/suit/armor/reactive/teleport(src) new /obj/item/device/assembly/flash/handheld(src) new /obj/item/device/laser_pointer(src) + if(config && config.door_remote) + new /obj/item/weapon/control_wand/research_director(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 92af9d9ac21..4645b7a2183 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -26,6 +26,8 @@ new /obj/item/clothing/gloves/color/captain(src) new /obj/item/weapon/restraints/handcuffs/cable/zipties(src) new /obj/item/weapon/gun/energy/gun(src) + if(config && config.door_remote) + new /obj/item/weapon/control_wand/captain(src) /obj/structure/closet/secure_closet/hop name = "\proper head of personnel's locker" @@ -77,6 +79,8 @@ new /obj/item/weapon/melee/baton/loaded(src) new /obj/item/weapon/storage/belt/security/full(src) new /obj/item/weapon/gun/energy/gun/hos(src) + if(config && config.door_remote) + new /obj/item/weapon/control_wand/head_of_security(src) /obj/structure/closet/secure_closet/warden name = "\proper warden's locker" diff --git a/config/game_options.txt b/config/game_options.txt index 94cded7029c..d5550ea31b6 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -190,6 +190,8 @@ ALLOW_RANDOM_EVENTS ALLOW_AI +## Allow heads of staff to start with door remotes, to remotely control doors like a pseudo AI. +#DOOR_REMOTE ### AWAY MISSIONS ###