Fixes to doors and RCD now can print ANY door colour

Fixes to doors and RCD now can print ANY door colour
This commit is contained in:
QuoteFox
2021-01-21 14:24:55 +00:00
parent cba5255206
commit 867855f6f7
4 changed files with 24 additions and 72 deletions
+8 -2
View File
@@ -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)
@@ -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
+12 -69
View File
@@ -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("<span class='suicide'>[user] sets the RCD to 'Wall' and points it down [user.p_their()] throat! It looks like [user.p_theyre()] trying to commit suicide..</span>")
@@ -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")
+3 -1
View File
@@ -250,8 +250,10 @@
to_chat(user, "<span class='notice'>You build an airlock.</span>")
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