From e2acc1e55012e4edb4a1d6ec593de7d53c36f5f4 Mon Sep 17 00:00:00 2001 From: TDSSS <32099540+TDSSS@users.noreply.github.com> Date: Thu, 25 Oct 2018 12:41:43 +0200 Subject: [PATCH] Did it in a better way --- code/__DEFINES/misc.dm | 1 - code/game/jobs/access.dm | 2 -- code/game/objects/items/control_wand.dm | 28 +++++++++++++++---------- 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 8ca0eb191fe..1f0768ba9b0 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -249,7 +249,6 @@ #define REGION_SUPPLY 6 #define REGION_COMMAND 7 #define REGION_CENTCOMM 8 -#define REGION_HOP 9 //Just space #define SPACE_ICON_STATE "[((x + y) ^ ~(x * y) + z) % 25]" diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index e73c8ac4ba8..4bf351019ea 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -275,8 +275,6 @@ var/const/access_trade_sol = 160 return list(access_mailsorting, access_mining, access_mining_station, access_mineral_storeroom, access_cargo, access_qm) if(REGION_COMMAND) //command return list(access_heads, access_RC_announce, access_keycard_auth, access_change_ids, access_ai_upload, access_teleporter, access_eva, access_tcomsat, access_gateway, access_all_personal_lockers, access_heads_vault, access_blueshield, access_ntrep, access_hop, access_captain) - if(REGION_HOP) //HoP remote buff - return get_region_accesses(REGION_GENERAL) + get_region_accesses(REGION_SUPPLY) + access_hop if(REGION_CENTCOMM) //because why the heck not return get_all_centcom_access() + get_all_accesses() diff --git a/code/game/objects/items/control_wand.dm b/code/game/objects/items/control_wand.dm index 29902fb20e9..c757d74d79a 100644 --- a/code/game/objects/items/control_wand.dm +++ b/code/game/objects/items/control_wand.dm @@ -11,13 +11,18 @@ w_class = WEIGHT_CLASS_TINY flags = NOBLUDGEON var/mode = WAND_OPEN - var/region_access = 1 //See access.dm + var/region_access = list() + var/additional_access = list() var/obj/item/card/id/ID /obj/item/door_remote/New() ..() ID = new /obj/item/card/id - ID.access = get_region_accesses(region_access) + for(var/region in region_access) + ID.access += get_region_accesses(region) + for(var/add_access in additional_access) + ID.access += add_access + ID.access = uniquelist(ID.access) //remove duplicates /obj/item/door_remote/Destroy() QDEL_NULL(ID) @@ -70,48 +75,49 @@ name = "omni door remote" desc = "This control wand can access any door on the station." icon_state = "gangtool-yellow" - region_access = REGION_ALL + region_access = list(REGION_ALL) /obj/item/door_remote/captain name = "command door remote" icon_state = "gangtool-yellow" - region_access = REGION_COMMAND + region_access = list(REGION_COMMAND) /obj/item/door_remote/chief_engineer name = "engineering door remote" icon_state = "gangtool-orange" - region_access = REGION_ENGINEERING + region_access = list(REGION_ENGINEERING) /obj/item/door_remote/research_director name = "research door remote" icon_state = "gangtool-purple" - region_access = REGION_RESEARCH + region_access = list(REGION_RESEARCH) /obj/item/door_remote/head_of_security name = "security door remote" icon_state = "gangtool-red" - region_access = REGION_SECURITY + region_access = list(REGION_SECURITY) /obj/item/door_remote/quartermaster name = "supply door remote" icon_state = "gangtool-green" - region_access = REGION_SUPPLY + region_access = list(REGION_SUPPLY) /obj/item/door_remote/chief_medical_officer name = "medical door remote" icon_state = "gangtool-blue" - region_access = REGION_MEDBAY + region_access = list(REGION_MEDBAY) /obj/item/door_remote/civillian name = "civillian door remote" icon_state = "gangtool-white" - region_access = REGION_HOP + region_access = list(REGION_GENERAL, REGION_SUPPLY) + additional_access = list(access_hop) /obj/item/door_remote/centcomm name = "centcomm door remote" desc = "High-ranking NT officials only." icon_state = "gangtool-blue" - region_access = REGION_CENTCOMM + region_access = list(REGION_CENTCOMM) #undef WAND_OPEN #undef WAND_BOLT