mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-31 09:08:30 +01:00
Standardized heat-proofing airlocks
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user