From 867855f6f74898f5b7bb57ce342eec8c90a56419 Mon Sep 17 00:00:00 2001 From: QuoteFox <49098813+quotefox@users.noreply.github.com> Date: Thu, 21 Jan 2021 14:24:55 +0000 Subject: [PATCH] Fixes to doors and RCD now can print ANY door colour Fixes to doors and RCD now can print ANY door colour --- code/game/machinery/doors/airlock.dm | 10 ++- code/game/machinery/doors/airlock_types.dm | 1 + code/game/objects/items/RCD.dm | 81 ++++------------------ code/game/turfs/simulated/floor.dm | 4 +- 4 files changed, 24 insertions(+), 72 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 1173bd6a..e1b1a900 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -91,7 +91,7 @@ //colours! modular wow! var/basecolor = "" - var/stripcolor = rgb(130,160,90) + var/stripcolor = "" var/cyclelinkeddir = 0 var/obj/machinery/door/airlock/cyclelinkedairlock @@ -128,7 +128,6 @@ for(var/datum/atom_hud/data/diagnostic/diag_hud in GLOB.huds) diag_hud.add_to_hud(src) diag_hud_set_electrified() - return INITIALIZE_HINT_LATELOAD /obj/machinery/door/airlock/LateInitialize() @@ -158,6 +157,13 @@ panel_open = TRUE update_icon() + +/obj/machinery/door/airlock/proc/getrotation() //for auto rotating doors, because im sick of doing it + for(var/turf/O in get_step(src,SOUTH)) + log_mapping("[src]: [O]") + if(O.density) + log_mapping("[src]: [O] is dense") + /obj/machinery/door/airlock/ComponentInitialize() . = ..() AddComponent(/datum/component/ntnet_interface) diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm index 6a65cede..0d1ba583 100644 --- a/code/game/machinery/doors/airlock_types.dm +++ b/code/game/machinery/doors/airlock_types.dm @@ -34,6 +34,7 @@ name = "maintenance access" assemblytype = /obj/structure/door_assembly/door_assembly_mai normal_integrity = 250 + stripcolor = rgb(130,160,90) /obj/machinery/door/airlock/maintenance/abandoned abandoned = TRUE diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index 3ec976cb..6abf34c7 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -168,7 +168,9 @@ RLD var/list/conf_access = null var/use_one_access = 0 //If the airlock should require ALL or only ONE of the listed accesses. var/delay_mod = 1 - var/canRturf = FALSE //Variable for R walls to deconstruct them + var/canRturf = FALSE //Variable for R walls to deconstruct the + var/airlock_color_base = "" + var/airlock_color_strip = "" /obj/item/construction/rcd/suicide_act(mob/user) user.visible_message("[user] sets the RCD to 'Wall' and points it down [user.p_their()] throat! It looks like [user.p_theyre()] trying to commit suicide..") @@ -331,36 +333,13 @@ RLD var/list/solid_choices = list( "Standard" = get_airlock_image(/obj/machinery/door/airlock), - "Public" = get_airlock_image(/obj/machinery/door/airlock/public), - "Engineering" = get_airlock_image(/obj/machinery/door/airlock/engineering), - "Atmospherics" = get_airlock_image(/obj/machinery/door/airlock/atmos), - "Security" = get_airlock_image(/obj/machinery/door/airlock/security), - "Command" = get_airlock_image(/obj/machinery/door/airlock/command), - "Medical" = get_airlock_image(/obj/machinery/door/airlock/medical), - "Research" = get_airlock_image(/obj/machinery/door/airlock/research), - "Freezer" = get_airlock_image(/obj/machinery/door/airlock/freezer), - "Science" = get_airlock_image(/obj/machinery/door/airlock/science), - "Virology" = get_airlock_image(/obj/machinery/door/airlock/virology), - "Mining" = get_airlock_image(/obj/machinery/door/airlock/mining), - "Maintenance" = get_airlock_image(/obj/machinery/door/airlock/maintenance), "External" = get_airlock_image(/obj/machinery/door/airlock/external), - "External Maintenance" = get_airlock_image(/obj/machinery/door/airlock/maintenance/external), "Airtight Hatch" = get_airlock_image(/obj/machinery/door/airlock/hatch), "Maintenance Hatch" = get_airlock_image(/obj/machinery/door/airlock/maintenance_hatch) ) var/list/glass_choices = list( "Standard" = get_airlock_image(/obj/machinery/door/airlock/glass), - "Public" = get_airlock_image(/obj/machinery/door/airlock/public/glass), - "Engineering" = get_airlock_image(/obj/machinery/door/airlock/engineering/glass), - "Atmospherics" = get_airlock_image(/obj/machinery/door/airlock/atmos/glass), - "Security" = get_airlock_image(/obj/machinery/door/airlock/security/glass), - "Command" = get_airlock_image(/obj/machinery/door/airlock/command/glass), - "Medical" = get_airlock_image(/obj/machinery/door/airlock/medical/glass), - "Research" = get_airlock_image(/obj/machinery/door/airlock/research/glass), - "Science" = get_airlock_image(/obj/machinery/door/airlock/science/glass), - "Virology" = get_airlock_image(/obj/machinery/door/airlock/virology/glass), - "Mining" = get_airlock_image(/obj/machinery/door/airlock/mining/glass), "Maintenance" = get_airlock_image(/obj/machinery/door/airlock/maintenance/glass), "External" = get_airlock_image(/obj/machinery/door/airlock/external/glass), "External Maintenance" = get_airlock_image(/obj/machinery/door/airlock/maintenance/external/glass) @@ -375,33 +354,13 @@ RLD var/airlockpaint = show_radial_menu(user, src, solid_choices, radius = 42, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE) if(!check_menu(user)) return + airlock_color_base = "" + airlock_color_strip = "" switch(airlockpaint) - if("Standard") + if("Standard") // we only need one now, because you can customize the colours yourself + airlock_color_base = input(user, "Choose the airlocks base colour. Leave blank for none!", "Airlock Color", airlock_color_base) as color|null + airlock_color_strip = input(user, "Choose the airlocks strip colour. Leave blank for none!", "Airlock Color", airlock_color_base) as color|null airlock_type = /obj/machinery/door/airlock - if("Public") - airlock_type = /obj/machinery/door/airlock/public - if("Engineering") - airlock_type = /obj/machinery/door/airlock/engineering - if("Atmospherics") - airlock_type = /obj/machinery/door/airlock/atmos - if("Security") - airlock_type = /obj/machinery/door/airlock/security - if("Command") - airlock_type = /obj/machinery/door/airlock/command - if("Medical") - airlock_type = /obj/machinery/door/airlock/medical - if("Research") - airlock_type = /obj/machinery/door/airlock/research - if("Freezer") - airlock_type = /obj/machinery/door/airlock/freezer - if("Science") - airlock_type = /obj/machinery/door/airlock/science - if("Virology") - airlock_type = /obj/machinery/door/airlock/virology - if("Mining") - airlock_type = /obj/machinery/door/airlock/mining - if("Maintenance") - airlock_type = /obj/machinery/door/airlock/maintenance if("External") airlock_type = /obj/machinery/door/airlock/external if("External Maintenance") @@ -420,29 +379,13 @@ RLD var/airlockpaint = show_radial_menu(user, src , glass_choices, radius = 42, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE) if(!check_menu(user)) return + airlock_color_base = "" + airlock_color_strip = "" switch(airlockpaint) if("Standard") + airlock_color_base = input(user, "Choose the airlocks base colour. Leave blank for none!", "Airlock Color", airlock_color_base) as color|null + airlock_color_strip = input(user, "Choose the airlocks strip colour. Leave blank for none!", "Airlock Color", airlock_color_base) as color|null airlock_type = /obj/machinery/door/airlock/glass - if("Public") - airlock_type = /obj/machinery/door/airlock/public/glass - if("Engineering") - airlock_type = /obj/machinery/door/airlock/engineering/glass - if("Atmospherics") - airlock_type = /obj/machinery/door/airlock/atmos/glass - if("Security") - airlock_type = /obj/machinery/door/airlock/security/glass - if("Command") - airlock_type = /obj/machinery/door/airlock/command/glass - if("Medical") - airlock_type = /obj/machinery/door/airlock/medical/glass - if("Research") - airlock_type = /obj/machinery/door/airlock/research/glass - if("Science") - airlock_type = /obj/machinery/door/airlock/science/glass - if("Virology") - airlock_type = /obj/machinery/door/airlock/virology/glass - if("Mining") - airlock_type = /obj/machinery/door/airlock/mining/glass if("Maintenance") airlock_type = /obj/machinery/door/airlock/maintenance/glass if("External") diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index 1b260f24..2b0d57be 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -250,8 +250,10 @@ to_chat(user, "You build an airlock.") var/obj/machinery/door/airlock/A = new the_rcd.airlock_type(src) A.setDir(the_rcd.airlock_dir) + A.basecolor = the_rcd.airlock_color_base + A.stripcolor = the_rcd.airlock_color_strip A.electronics = new/obj/item/electronics/airlock(A) - + A.set_airlock_overlays(1) //need to update the overlays to update the colors if(the_rcd.conf_access) A.electronics.accesses = the_rcd.conf_access.Copy() A.electronics.one_access = the_rcd.use_one_access