From 82e7efcbca7d67bd11c502ad69f4ac6391fd9769 Mon Sep 17 00:00:00 2001 From: "baloh.matevz" Date: Sun, 17 Apr 2011 01:41:39 +0000 Subject: [PATCH] Door assemblies are now easier to work with and expand in the future. Added all the door assembly types Bay12 donated. Thanks again. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1457 316c924e-a436-60f5-8080-3fe189b3f50e --- code/game/objects/door_assembly.dm | 145 +++++++++++++++-------------- icons/obj/doors/door_assembly.dmi | Bin 12647 -> 17996 bytes 2 files changed, 76 insertions(+), 69 deletions(-) diff --git a/code/game/objects/door_assembly.dm b/code/game/objects/door_assembly.dm index 16b890f925b..b399f90ae40 100644 --- a/code/game/objects/door_assembly.dm +++ b/code/game/objects/door_assembly.dm @@ -5,80 +5,127 @@ obj/door_assembly icon_state = "door_as0" anchored = 0 density = 1 - var/doortype = 0 var/state = 0 var/glass = 0 + var/base_icon_state var/obj/item/weapon/airlock_electronics/electronics = null + var/airlock_type = /obj/machinery/door/airlock //the type path of the airlock once completed + var/glass_type = /obj/machinery/door/airlock/glass //the type path of the airlock if changed into a glass airlock + var/glass_base_icon_state = "door_as_g" + New() + base_icon_state = copytext(icon_state,1,lentext(icon_state)) door_assembly_0 name = "Airlock Assembly" icon_state = "door_as1" + airlock_type = /obj/machinery/door/airlock anchored = 1 density = 1 - doortype = 0 state = 1 glass = 0 door_assembly_com name = "Command Airlock Assembly" - icon_state = "door_as1_com" + icon_state = "door_as_com1" + glass_base_icon_state = "door_as_gcom" + glass_type = /obj/machinery/door/airlock/glass_command + airlock_type = /obj/machinery/door/airlock/command anchored = 1 density = 1 - doortype = 1 state = 1 glass = 0 + glass + glass = 1 + icon_state = "door_as_gcom1" + door_assembly_sec name = "Security Airlock Assembly" - icon_state = "door_as1_sec" + icon_state = "door_as_sec1" + glass_base_icon_state = "door_as_gsec" + glass_type = /obj/machinery/door/airlock/glass_security + airlock_type = /obj/machinery/door/airlock/security anchored = 1 density = 1 - doortype = 2 state = 1 glass = 0 + glass + glass = 1 + icon_state = "door_as_gsec1" + door_assembly_eng name = "Engineering Airlock Assembly" - icon_state = "door_as1_eng" + icon_state = "door_as_eng1" + glass_base_icon_state = "door_as_geng" + glass_type = /obj/machinery/door/airlock/glass_engineering + airlock_type = /obj/machinery/door/airlock/engineering anchored = 1 density = 1 - doortype = 3 state = 1 glass = 0 + glass + glass = 1 + icon_state = "door_as_geng1" + door_assembly_med name = "Medical Airlock Assembly" - icon_state = "door_as1_med" + icon_state = "door_as_med1" + glass_base_icon_state = "door_as_gmed" + glass_type = /obj/machinery/door/airlock/glass_medical + airlock_type = /obj/machinery/door/airlock/medical anchored = 1 density = 1 - doortype = 4 state = 1 glass = 0 + glass + glass = 1 + icon_state = "door_as_gmed1" + door_assembly_mai name = "Maintenance Airlock Assembly" - icon_state = "door_as1_mai" + icon_state = "door_as_mai1" + airlock_type = /obj/machinery/door/airlock/maintenance anchored = 1 density = 1 - doortype = 5 state = 1 glass = 0 door_assembly_ext name = "External Airlock Assembly" - icon_state = "door_as1_ext" + icon_state = "door_as_ext1" + airlock_type = /obj/machinery/door/airlock/external + anchored = 1 + density = 1 + state = 1 + glass = 0 + + door_assembly_fre + name = "Freezer Airlock Assembly" + icon_state = "door_as_fre1" + airlock_type = /obj/machinery/door/airlock/freezer + anchored = 1 + density = 1 + state = 1 + glass = 0 + + door_assembly_mhatch + name = "Airtight Maintenance Hatch Assembly" + icon_state = "door_as_mhatch1" + airlock_type = /obj/machinery/door/airlock/maintenance_hatch anchored = 1 density = 1 - doortype = 6 state = 1 glass = 0 door_assembly_g name = "Glass Airlock Assembly" - icon_state = "door_as1_g" + icon_state = "door_as_g1" + airlock_type = /obj/machinery/door/airlock/glass anchored = 1 density = 1 - doortype = 7 state = 1 glass = 1 @@ -124,15 +171,6 @@ obj/door_assembly if(get_turf(user) == T) coil.use(1) src.state = 1 - switch(src.doortype) - if(0) src.icon_state = "door_as1" - if(1) src.icon_state = "door_as1_com" - if(2) src.icon_state = "door_as1_sec" - if(3) src.icon_state = "door_as1_eng" - if(4) src.icon_state = "door_as1_med" - if(5) src.icon_state = "door_as1_mai" - if(6) src.icon_state = "door_as1_ext" - if(7) src.icon_state = "door_as1_g" user << "\blue You wire the Airlock!" src.name = "Wired Airlock Assembly" else if(istype(W, /obj/item/weapon/wirecutters) && state == 1 ) @@ -144,15 +182,6 @@ obj/door_assembly user << "\blue You cut the airlock wires.!" new/obj/item/weapon/cable_coil(T, 1) src.state = 0 - switch(doortype) - if(0) src.icon_state = "door_as0" - if(1) src.icon_state = "door_as0_com" - if(2) src.icon_state = "door_as0_sec" - if(3) src.icon_state = "door_as0_eng" - if(4) src.icon_state = "door_as0_med" - if(5) src.icon_state = "door_as0_mai" - if(6) src.icon_state = "door_as0_ext" - if(7) src.icon_state = "door_as0_g" src.name = "Secured Airlock Assembly" else if(istype(W, /obj/item/weapon/airlock_electronics) && state == 1 ) playsound(src.loc, 'Screwdriver.ogg', 100, 1) @@ -164,15 +193,6 @@ obj/door_assembly if(get_turf(user) == T) user << "\blue You installed the airlock electronics!" src.state = 2 - switch(src.doortype) - if(0) src.icon_state = "door_as2" - if(1) src.icon_state = "door_as2_com" - if(2) src.icon_state = "door_as2_sec" - if(3) src.icon_state = "door_as2_eng" - if(4) src.icon_state = "door_as2_med" - if(5) src.icon_state = "door_as2_mai" - if(6) src.icon_state = "door_as2_ext" - if(7) src.icon_state = "door_as2_g" src.name = "Near finished Airlock Assembly" src.electronics = W else @@ -187,15 +207,6 @@ obj/door_assembly if(get_turf(user) == T) user << "\blue You removed the airlock electronics!" src.state = 1 - switch(src.doortype) - if(0) src.icon_state = "door_as1" - if(1) src.icon_state = "door_as1_com" - if(2) src.icon_state = "door_as1_sec" - if(3) src.icon_state = "door_as1_eng" - if(4) src.icon_state = "door_as1_med" - if(5) src.icon_state = "door_as1_mai" - if(6) src.icon_state = "door_as1_ext" - if(7) src.icon_state = "door_as1_g" src.name = "Wired Airlock Assembly" var/obj/item/weapon/airlock_electronics/ae if (!electronics) @@ -212,13 +223,9 @@ obj/door_assembly user << "\blue You installed glass windows the airlock assembly!" G.use(1) src.glass = 1 - src.doortype = 7 src.name = "Near finished Window Airlock Assembly" - switch(src.state) - if(0) src.icon_state = "door_as0_g" - if(1) src.icon_state = "door_as1_g" - if(2) src.icon_state = "door_as2_g" - if(3) src.icon_state = "door_as3_g" + src.airlock_type = /obj/machinery/door/airlock/glass + src.base_icon_state = "door_as_g" //this will be applied to the icon_state with the correct state number at the proc's end. else if(istype(W, /obj/item/weapon/screwdriver) && state == 2 ) playsound(src.loc, 'Screwdriver.ogg', 100, 1) var/turf/T = get_turf(user) @@ -227,21 +234,21 @@ obj/door_assembly if(get_turf(user) == T) user << "\blue You finish the airlock!" var/obj/machinery/door/airlock/door - if (!src.glass) - switch(src.doortype) - if(0) door = new/obj/machinery/door/airlock( src.loc ) - if(1) door = new/obj/machinery/door/airlock/command( src.loc ) - if(2) door = new/obj/machinery/door/airlock/security( src.loc ) - if(3) door = new/obj/machinery/door/airlock/engineering( src.loc ) - if(4) door = new/obj/machinery/door/airlock/medical( src.loc ) - if(5) door = new/obj/machinery/door/airlock/maintenance( src.loc ) - if(6) door = new/obj/machinery/door/airlock/external( src.loc ) + if(glass) + door = new src.glass_type( src.loc ) else - door = new/obj/machinery/door/airlock/glass( src.loc ) + door = new src.airlock_type( src.loc ) //door.req_access = src.req_access door.electronics = src.electronics door.req_access = src.electronics.conf_access src.electronics.loc = door del(src) else - ..() \ No newline at end of file + ..() + if(glass) + icon_state = "[glass_base_icon_state][state]" + else + icon_state = "[base_icon_state][state]" + //This updates the icon_state. They are named as "door_as1_eng" where the 1 in that example + //represents what state it's in. So the most generic algorithm for the correct updating of + //this is simply to change the number. \ No newline at end of file diff --git a/icons/obj/doors/door_assembly.dmi b/icons/obj/doors/door_assembly.dmi index 3c66b9ab61fdc8e70245f3d38fe325722d0e90f4..0bf641e5bddad43c5773832c93c284e7e80721fc 100644 GIT binary patch literal 17996 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 otd!%8I;-1Jgt|eM3Wy1#+;_lyzpN)*He*OCO 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 Yr!O`t^Vv%SPl;jhboFyt=akR{0GF!g^Z)<= literal 12647 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