Standardized heat-proofing airlocks

This commit is contained in:
spasticVerbalizer
2015-05-11 20:52:31 +02:00
parent 040fd7d8b7
commit bccb7cb14f
3 changed files with 37 additions and 24 deletions
-20
View File
@@ -164,7 +164,6 @@
opacity = 0
doortype = /obj/structure/door_assembly/door_assembly_research/glass
glass = 1
heat_proof = 1
/obj/machinery/door/airlock/glass_mining
name = "maintenance hatch"
@@ -1114,35 +1113,27 @@ About the new airlock wires panel:
if("Default")
icon = 'icons/obj/doors/Doorglass.dmi'
doortype = /obj/structure/door_assembly/door_assembly_glass
heat_proof = 0
if("Engineering")
icon = 'icons/obj/doors/Doorengglass.dmi'
doortype = /obj/structure/door_assembly/door_assembly_eng/glass
heat_proof = 0
if("Atmospherics")
icon = 'icons/obj/doors/Dooratmoglass.dmi'
doortype = /obj/structure/door_assembly/door_assembly_atmo/glass
heat_proof = 0
if("Security")
icon = 'icons/obj/doors/Doorsecglass.dmi'
doortype = /obj/structure/door_assembly/door_assembly_sec/glass
heat_proof = 0
if("Command")
icon = 'icons/obj/doors/Doorcomglass.dmi'
doortype = /obj/structure/door_assembly/door_assembly_com/glass
heat_proof = 0
if("Medical")
icon = 'icons/obj/doors/Doormedglass.dmi'
doortype = /obj/structure/door_assembly/door_assembly_med/glass
heat_proof = 0
if("Research")
icon = 'icons/obj/doors/Doorresearchglass.dmi'
doortype = /obj/structure/door_assembly/door_assembly_research/glass
heat_proof = 1
if("Mining")
icon = 'icons/obj/doors/Doorminingglass.dmi'
doortype = /obj/structure/door_assembly/door_assembly_min/glass
heat_proof = 0
else
//These airlocks have a regular version.
var optionlist = list("Default", "Engineering", "Atmospherics", "Security", "Command", "Medical", "Research", "Mining", "Maintenance", "External", "High Security")
@@ -1152,47 +1143,36 @@ About the new airlock wires panel:
if("Default")
icon = 'icons/obj/doors/Doorint.dmi'
doortype = /obj/structure/door_assembly/door_assembly_0
heat_proof = 0
if("Engineering")
icon = 'icons/obj/doors/Dooreng.dmi'
doortype = /obj/structure/door_assembly/door_assembly_eng
heat_proof = 0
if("Atmospherics")
icon = 'icons/obj/doors/Dooratmo.dmi'
doortype = /obj/structure/door_assembly/door_assembly_atmo
heat_proof = 0
if("Security")
icon = 'icons/obj/doors/Doorsec.dmi'
doortype = /obj/structure/door_assembly/door_assembly_sec
heat_proof = 0
if("Command")
icon = 'icons/obj/doors/Doorcom.dmi'
doortype = /obj/structure/door_assembly/door_assembly_com
heat_proof = 0
if("Medical")
icon = 'icons/obj/doors/Doormed.dmi'
doortype = /obj/structure/door_assembly/door_assembly_med
heat_proof = 0
if("Research")
icon = 'icons/obj/doors/Doorresearch.dmi'
doortype = /obj/structure/door_assembly/door_assembly_research
heat_proof = 0
if("Mining")
icon = 'icons/obj/doors/Doormining.dmi'
doortype = /obj/structure/door_assembly/door_assembly_min
heat_proof = 0
if("Maintenance")
icon = 'icons/obj/doors/Doormaint.dmi'
doortype = /obj/structure/door_assembly/door_assembly_mai
heat_proof = 0
if("External")
icon = 'icons/obj/doors/Doorext.dmi'
doortype = /obj/structure/door_assembly/door_assembly_ext
heat_proof = 0
if("High Security")
icon = 'icons/obj/doors/hightechsecurity.dmi'
doortype = /obj/structure/door_assembly/door_assembly_highsecurity
heat_proof = 0
update_icon()
/obj/machinery/door/airlock/CanAStarPass(var/obj/item/weapon/card/id/ID)
+2 -4
View File
@@ -15,7 +15,7 @@
var/operating = 0
var/glass = 0
var/normalspeed = 1
var/heat_proof = 0 // For glass airlocks/opacity firedoors
var/heat_proof = 0 // For plasteel-plated airlocks and firedoors
var/emergency = 0 // Emergency access override
var/sub_door = 0 // 1 if it's meant to go under another door.
@@ -275,9 +275,7 @@
return !(stat & NOPOWER)
/obj/machinery/door/BlockSuperconductivity()
if(opacity || heat_proof)
return 1
return 0
return heat_proof
/obj/machinery/door/morgue
icon = 'icons/obj/doors/doormorgue.dmi'
@@ -15,6 +15,7 @@ obj/structure/door_assembly
var/airlock_type = /obj/machinery/door/airlock //the type path of the airlock once completed
var/glass_type = /obj/machinery/door/airlock/glass
var/created_name = null
var/heat_proof_finished = 0 //will the airlock be heat proof when finished
obj/structure/door_assembly/New()
base_icon_state = copytext(icon_state,1,lentext(icon_state))
@@ -493,6 +494,29 @@ obj/structure/door_assembly/New()
user << "<span class='notice'> You unsecure the airlock assembly.</span>"
src.name = "airlock assembly"
src.anchored = 0
else if(istype(W, /obj/item/stack/sheet/plasteel) && state == 1)
var/obj/item/stack/sheet/plasteel/P = W
if (!heat_proof_finished)
if (P.get_amount() < 1)
user << "<span class='warning'>You need one sheet of plasteel to heat-proof the airlock assembly!</span>"
return
user.visible_message("[user] adds heat-proof plating to the airlock assembly.",
"<span class='notice'>You start adding heat-proof plating to the airlock assembly...</span>")
if(do_after(user, 40)) //TODO: does this need a sound?
if(P.get_amount() < 1) return
P.use(1)
src.heat_proof_finished = 1
user << "<span class='notice'>You add heat-proof plating to the airlock assembly.</span>"
src.name = "heat-proofed wired airlock assembly "
else
user << "<span class='warning'>The airlock assembly already has heat-proof plating!</span>"
else if(istype(W, /obj/item/weapon/crowbar) && state == 1 && heat_proof_finished)
playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1)
user << "<span class='notice'>You remove the heat-proof plating from the airlock assembly.</span>"
src.heat_proof_finished = 0
new/obj/item/stack/sheet/plasteel(get_turf(user), 1)
src.name = "wired airlock assembly"
else if(istype(W, /obj/item/stack/cable_coil) && state == 0 && anchored )
var/obj/item/stack/cable_coil/C = W
@@ -507,6 +531,8 @@ obj/structure/door_assembly/New()
src.state = 1
user << "<span class='notice'>You wire the airlock assembly.</span>"
src.name = "wired airlock assembly"
if(src.heat_proof_finished)
src.name = "heat-proofed [src.name]"
else if(istype(W, /obj/item/weapon/wirecutters) && state == 1 )
playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1)
@@ -520,6 +546,8 @@ obj/structure/door_assembly/New()
new/obj/item/stack/cable_coil(get_turf(user), 1)
src.state = 0
src.name = "secured airlock assembly"
if(src.heat_proof_finished)
src.name = "heat-proofed [src.name]"
else if(istype(W, /obj/item/weapon/airlock_electronics) && state == 1 )
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
@@ -536,6 +564,8 @@ obj/structure/door_assembly/New()
user << "<span class='notice'> You install the airlock electronics.</span>"
src.state = 2
src.name = "near finished airlock assembly"
if(src.heat_proof_finished)
src.name = "heat-proofed [src.name]"
src.electronics = W
@@ -550,6 +580,8 @@ obj/structure/door_assembly/New()
user << "<span class='notice'> You remove the airlock electronics.</span>"
src.state = 1
src.name = "wired airlock assembly"
if(src.heat_proof_finished)
src.name = "heat-proofed [src.name]"
var/obj/item/weapon/airlock_electronics/ae
if (!electronics)
ae = new/obj/item/weapon/airlock_electronics( src.loc )
@@ -595,6 +627,8 @@ obj/structure/door_assembly/New()
G.use(2)
mineral = "[M]"
name = "near finished [M] airlock assembly"
if(heat_proof_finished)
name = "heat-proofed [name]"
airlock_type = text2path ("/obj/machinery/door/airlock/[M]")
base_icon_state = "door_as_[M]"
glass_base_icon_state = "door_as_g"
@@ -615,6 +649,7 @@ obj/structure/door_assembly/New()
door = new src.airlock_type( src.loc )
//door.req_access = src.req_access
door.electronics = src.electronics
door.heat_proof = src.heat_proof_finished
if(src.electronics.use_one_access)
door.req_one_access = src.electronics.conf_access
else