Merge pull request #4315 from Citadel-Station-13/upstream-merge-33152
[MIRROR] Airlock Construction Update
This commit is contained in:
@@ -64,7 +64,7 @@
|
||||
var/obj/machinery/door/airlock/closeOther = null
|
||||
var/closeOtherId = null
|
||||
var/lockdownbyai = FALSE
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_0
|
||||
assemblytype = /obj/structure/door_assembly
|
||||
var/justzap = FALSE
|
||||
normalspeed = 1
|
||||
var/obj/item/electronics/airlock/electronics = null
|
||||
@@ -80,7 +80,7 @@
|
||||
var/boltUp = 'sound/machines/boltsup.ogg'
|
||||
var/boltDown = 'sound/machines/boltsdown.ogg'
|
||||
var/noPower = 'sound/machines/doorclick.ogg'
|
||||
|
||||
var/previous_airlock //what airlock assembly mineral plating was applied to
|
||||
var/airlock_material = null //material of inner filling; if its an airlock with glass, this should be set to "glass"
|
||||
var/overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'
|
||||
var/note_overlay_file = 'icons/obj/doors/airlocks/station/overlays.dmi' //Used for papers and photos pinned to the airlock
|
||||
@@ -1026,14 +1026,6 @@
|
||||
if(density && !open(2))
|
||||
to_chat(user, "<span class='warning'>Despite your attempts, [src] refuses to open.</span>")
|
||||
|
||||
/obj/machinery/door/airlock/plasma/attackby(obj/item/C, mob/user, params)
|
||||
if(C.is_hot() > 300)//If the temperature of the object is over 300, then ignite
|
||||
message_admins("Plasma airlock ignited by [ADMIN_LOOKUPFLW(user)] in [ADMIN_COORDJMP(src)]")
|
||||
log_game("Plasma wall ignited by [key_name(user)] in [COORD(src)]")
|
||||
ignite(C.is_hot())
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/machinery/door/airlock/open(forced=0)
|
||||
if( operating || welded || locked )
|
||||
return FALSE
|
||||
@@ -1154,22 +1146,22 @@
|
||||
|
||||
var/list/optionlist
|
||||
if(airlock_material == "glass")
|
||||
optionlist = list("Public", "Public2", "Engineering", "Atmospherics", "Security", "Command", "Medical", "Research", "Mining", "Maintenance")
|
||||
optionlist = list("Standard", "Public", "Engineering", "Atmospherics", "Security", "Command", "Medical", "Research", "Science", "Virology", "Mining", "Maintenance", "External", "External Maintenance")
|
||||
else
|
||||
optionlist = list("Public", "Engineering", "Atmospherics", "Security", "Command", "Medical", "Research", "Mining", "Maintenance", "External", "High Security")
|
||||
optionlist = list("Standard", "Public", "Engineering", "Atmospherics", "Security", "Command", "Medical", "Research", "Freezer", "Science", "Virology", "Mining", "Maintenance", "External", "External Maintenance")
|
||||
|
||||
var/paintjob = input(user, "Please select a paintjob for this airlock.") in optionlist
|
||||
if((!in_range(src, usr) && src.loc != usr) || !W.use(user))
|
||||
return
|
||||
switch(paintjob)
|
||||
if("Public")
|
||||
if("Standard")
|
||||
icon = 'icons/obj/doors/airlocks/station/public.dmi'
|
||||
overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_0
|
||||
if("Public2")
|
||||
assemblytype = /obj/structure/door_assembly
|
||||
if("Public")
|
||||
icon = 'icons/obj/doors/airlocks/station2/glass.dmi'
|
||||
overlays_file = 'icons/obj/doors/airlocks/station2/overlays.dmi'
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_glass
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_public
|
||||
if("Engineering")
|
||||
icon = 'icons/obj/doors/airlocks/station/engineering.dmi'
|
||||
overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'
|
||||
@@ -1194,6 +1186,18 @@
|
||||
icon = 'icons/obj/doors/airlocks/station/research.dmi'
|
||||
overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_research
|
||||
if("Freezer")
|
||||
icon = 'icons/obj/doors/airlocks/station/freezer.dmi'
|
||||
overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_fre
|
||||
if("Science")
|
||||
icon = 'icons/obj/doors/airlocks/station/science.dmi'
|
||||
overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_science
|
||||
if("Virology")
|
||||
icon = 'icons/obj/doors/airlocks/station/virology.dmi'
|
||||
overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_viro
|
||||
if("Mining")
|
||||
icon = 'icons/obj/doors/airlocks/station/mining.dmi'
|
||||
overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'
|
||||
@@ -1206,10 +1210,10 @@
|
||||
icon = 'icons/obj/doors/airlocks/external/external.dmi'
|
||||
overlays_file = 'icons/obj/doors/airlocks/external/overlays.dmi'
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_ext
|
||||
if("High Security")
|
||||
icon = 'icons/obj/doors/airlocks/highsec/highsec.dmi'
|
||||
overlays_file = 'icons/obj/doors/airlocks/highsec/overlays.dmi'
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_highsecurity
|
||||
if("External Maintenance")
|
||||
icon = 'icons/obj/doors/airlocks/station/maintenanceexternal.dmi'
|
||||
overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_extmai
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/door/airlock/CanAStarPass(obj/item/card/id/ID)
|
||||
@@ -1302,11 +1306,17 @@
|
||||
var/obj/structure/door_assembly/A
|
||||
if(assemblytype)
|
||||
A = new assemblytype(src.loc)
|
||||
A.heat_proof_finished = src.heat_proof //tracks whether there's rglass in
|
||||
else
|
||||
A = new /obj/structure/door_assembly/door_assembly_0(src.loc)
|
||||
A = new /obj/structure/door_assembly(loc)
|
||||
//If you come across a null assemblytype, it will produce the default assembly instead of disintegrating.
|
||||
A.heat_proof_finished = src.heat_proof //tracks whether there's rglass in
|
||||
A.anchored = TRUE
|
||||
A.glass = src.glass
|
||||
A.state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||
A.created_name = name
|
||||
A.previous_assembly = previous_airlock
|
||||
A.update_name()
|
||||
A.update_icon()
|
||||
|
||||
if(!disassembled)
|
||||
if(A)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/*
|
||||
Station Airlocks Regular
|
||||
*/
|
||||
|
||||
/obj/machinery/door/airlock/abandoned
|
||||
abandoned = TRUE
|
||||
|
||||
@@ -17,7 +18,7 @@
|
||||
/obj/machinery/door/airlock/engineering
|
||||
icon = 'icons/obj/doors/airlocks/station/engineering.dmi'
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_eng
|
||||
|
||||
|
||||
/obj/machinery/door/airlock/engineering/abandoned
|
||||
abandoned = TRUE
|
||||
|
||||
@@ -37,8 +38,7 @@
|
||||
/obj/machinery/door/airlock/maintenance/external
|
||||
name = "external airlock access"
|
||||
icon = 'icons/obj/doors/airlocks/station/maintenanceexternal.dmi'
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_mai
|
||||
normal_integrity = 250
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_extmai
|
||||
|
||||
/obj/machinery/door/airlock/mining
|
||||
name = "mining airlock"
|
||||
@@ -75,23 +75,27 @@
|
||||
Station Airlocks Glass
|
||||
*/
|
||||
|
||||
/obj/machinery/door/airlock/glass
|
||||
opacity = 0
|
||||
glass = TRUE
|
||||
|
||||
/obj/machinery/door/airlock/glass_command
|
||||
icon = 'icons/obj/doors/airlocks/station/command.dmi'
|
||||
opacity = 0
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_com/glass
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_com
|
||||
glass = TRUE
|
||||
normal_integrity = 400
|
||||
|
||||
/obj/machinery/door/airlock/glass_engineering
|
||||
icon = 'icons/obj/doors/airlocks/station/engineering.dmi'
|
||||
opacity = 0
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_eng/glass
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_eng
|
||||
glass = TRUE
|
||||
|
||||
/obj/machinery/door/airlock/glass_security
|
||||
icon = 'icons/obj/doors/airlocks/station/security.dmi'
|
||||
opacity = 0
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_sec/glass
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_sec
|
||||
glass = TRUE
|
||||
normal_integrity = 400
|
||||
|
||||
@@ -101,45 +105,50 @@
|
||||
/obj/machinery/door/airlock/glass_medical
|
||||
icon = 'icons/obj/doors/airlocks/station/medical.dmi'
|
||||
opacity = 0
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_med/glass
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_med
|
||||
glass = TRUE
|
||||
|
||||
/obj/machinery/door/airlock/glass_research
|
||||
icon = 'icons/obj/doors/airlocks/station/research.dmi'
|
||||
opacity = 0
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_research/glass
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_research
|
||||
glass = TRUE
|
||||
|
||||
/obj/machinery/door/airlock/glass_mining
|
||||
icon = 'icons/obj/doors/airlocks/station/mining.dmi'
|
||||
opacity = 0
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_min/glass
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_min
|
||||
glass = TRUE
|
||||
|
||||
/obj/machinery/door/airlock/glass_atmos
|
||||
icon = 'icons/obj/doors/airlocks/station/atmos.dmi'
|
||||
opacity = 0
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_atmo/glass
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_atmo
|
||||
glass = TRUE
|
||||
|
||||
/obj/machinery/door/airlock/glass_science
|
||||
icon = 'icons/obj/doors/airlocks/station/science.dmi'
|
||||
opacity = 0
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_science/glass
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_science
|
||||
glass = TRUE
|
||||
|
||||
/obj/machinery/door/airlock/glass_virology
|
||||
icon = 'icons/obj/doors/airlocks/station/virology.dmi'
|
||||
opacity = 0
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_viro/glass
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_viro
|
||||
glass = TRUE
|
||||
|
||||
/obj/machinery/door/airlock/glass_maintenance
|
||||
icon = 'icons/obj/doors/airlocks/station/maintenance.dmi'
|
||||
opacity = 0
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_mai/glass
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_mai
|
||||
glass = TRUE
|
||||
|
||||
/obj/machinery/door/airlock/maintenance/external/glass
|
||||
opacity = 0
|
||||
glass = TRUE
|
||||
normal_integrity = 200
|
||||
|
||||
//////////////////////////////////
|
||||
/*
|
||||
Station Airlocks Mineral
|
||||
@@ -148,27 +157,36 @@
|
||||
/obj/machinery/door/airlock/gold
|
||||
name = "gold airlock"
|
||||
icon = 'icons/obj/doors/airlocks/station/gold.dmi'
|
||||
var/mineral = "gold"
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_gold
|
||||
|
||||
/obj/machinery/door/airlock/gold/glass
|
||||
opacity = 0
|
||||
glass = TRUE
|
||||
|
||||
/obj/machinery/door/airlock/silver
|
||||
name = "silver airlock"
|
||||
icon = 'icons/obj/doors/airlocks/station/silver.dmi'
|
||||
var/mineral = "silver"
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_silver
|
||||
|
||||
/obj/machinery/door/airlock/silver/glass
|
||||
opacity = 0
|
||||
glass = TRUE
|
||||
|
||||
/obj/machinery/door/airlock/diamond
|
||||
name = "diamond airlock"
|
||||
icon = 'icons/obj/doors/airlocks/station/diamond.dmi'
|
||||
var/mineral = "diamond"
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_diamond
|
||||
normal_integrity = 1000
|
||||
explosion_block = 2
|
||||
|
||||
/obj/machinery/door/airlock/diamond/glass
|
||||
normal_integrity = 950
|
||||
opacity = 0
|
||||
glass = TRUE
|
||||
|
||||
/obj/machinery/door/airlock/uranium
|
||||
name = "uranium airlock"
|
||||
icon = 'icons/obj/doors/airlocks/station/uranium.dmi'
|
||||
var/mineral = "uranium"
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_uranium
|
||||
var/last_event = 0
|
||||
|
||||
@@ -183,11 +201,14 @@
|
||||
radiation_pulse(get_turf(src), 150)
|
||||
return
|
||||
|
||||
/obj/machinery/door/airlock/uranium/glass
|
||||
opacity = 0
|
||||
glass = TRUE
|
||||
|
||||
/obj/machinery/door/airlock/plasma
|
||||
name = "plasma airlock"
|
||||
desc = "No way this can end badly."
|
||||
icon = 'icons/obj/doors/airlocks/station/plasma.dmi'
|
||||
var/mineral = "plasma"
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_plasma
|
||||
|
||||
/obj/machinery/door/airlock/plasma/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
@@ -200,62 +221,84 @@
|
||||
|
||||
/obj/machinery/door/airlock/plasma/proc/PlasmaBurn(temperature)
|
||||
atmos_spawn_air("plasma=500;TEMP=1000")
|
||||
new/obj/structure/door_assembly/door_assembly_0( src.loc )
|
||||
var/obj/structure/door_assembly/DA
|
||||
DA = new /obj/structure/door_assembly(loc)
|
||||
if(glass)
|
||||
DA.glass = TRUE
|
||||
if(heat_proof)
|
||||
DA.heat_proof_finished = TRUE
|
||||
DA.update_icon()
|
||||
DA.update_name()
|
||||
qdel(src)
|
||||
|
||||
/obj/machinery/door/airlock/plasma/BlockSuperconductivity() //we don't stop the heat~
|
||||
return 0
|
||||
|
||||
/obj/machinery/door/airlock/plasma/attackby(obj/item/C, mob/user, params)
|
||||
if(C.is_hot() > 300)//If the temperature of the object is over 300, then ignite
|
||||
message_admins("Plasma airlock ignited by [ADMIN_LOOKUPFLW(user)] in [ADMIN_COORDJMP(src)]")
|
||||
log_game("Plasma airlock ignited by [key_name(user)] in [COORD(src)]")
|
||||
ignite(C.is_hot())
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/machinery/door/airlock/plasma/glass
|
||||
opacity = 0
|
||||
glass = TRUE
|
||||
|
||||
/obj/machinery/door/airlock/clown
|
||||
name = "bananium airlock"
|
||||
desc = "Honkhonkhonk"
|
||||
icon = 'icons/obj/doors/airlocks/station/bananium.dmi'
|
||||
var/mineral = "bananium"
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_bananium
|
||||
doorOpen = 'sound/items/bikehorn.ogg'
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_clown
|
||||
|
||||
/obj/machinery/door/airlock/clown/glass
|
||||
opacity = 0
|
||||
glass = TRUE
|
||||
|
||||
/obj/machinery/door/airlock/sandstone
|
||||
name = "sandstone airlock"
|
||||
icon = 'icons/obj/doors/airlocks/station/sandstone.dmi'
|
||||
var/mineral = "sandstone"
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_sandstone
|
||||
|
||||
/obj/machinery/door/airlock/sandstone/glass
|
||||
opacity = 0
|
||||
glass = TRUE
|
||||
|
||||
/obj/machinery/door/airlock/wood
|
||||
name = "wooden airlock"
|
||||
icon = 'icons/obj/doors/airlocks/station/wood.dmi'
|
||||
var/mineral = "wood"
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_wood
|
||||
|
||||
/obj/machinery/door/airlock/wood/glass
|
||||
opacity = 0
|
||||
glass = TRUE
|
||||
|
||||
/obj/machinery/door/airlock/titanium
|
||||
name = "shuttle airlock"
|
||||
var/mineral = "titanium"
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_titanium
|
||||
icon = 'icons/obj/doors/airlocks/shuttle/shuttle.dmi'
|
||||
overlays_file = 'icons/obj/doors/airlocks/shuttle/overlays.dmi'
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_titanium
|
||||
normal_integrity = 400
|
||||
|
||||
/obj/machinery/door/airlock/glass_titanium
|
||||
name = "shuttle airlock"
|
||||
var/mineral = "titanium"
|
||||
icon = 'icons/obj/doors/airlocks/shuttle/shuttle.dmi'
|
||||
overlays_file = 'icons/obj/doors/airlocks/shuttle/overlays.dmi'
|
||||
opacity = 0
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_titanium/glass
|
||||
glass = TRUE
|
||||
/obj/machinery/door/airlock/titanium/glass
|
||||
normal_integrity = 350
|
||||
opacity = 0
|
||||
glass = TRUE
|
||||
|
||||
//////////////////////////////////
|
||||
/*
|
||||
Station2 Airlocks
|
||||
*/
|
||||
|
||||
/obj/machinery/door/airlock/glass
|
||||
name = "glass airlock"
|
||||
/obj/machinery/door/airlock/public
|
||||
icon = 'icons/obj/doors/airlocks/station2/glass.dmi'
|
||||
overlays_file = 'icons/obj/doors/airlocks/station2/overlays.dmi'
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_public
|
||||
|
||||
/obj/machinery/door/airlock/public/glass
|
||||
opacity = 0
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_glass
|
||||
glass = TRUE
|
||||
|
||||
//////////////////////////////////
|
||||
@@ -269,13 +312,8 @@
|
||||
overlays_file = 'icons/obj/doors/airlocks/external/overlays.dmi'
|
||||
note_overlay_file = 'icons/obj/doors/airlocks/external/overlays.dmi'
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_ext
|
||||
explosion_block = 1
|
||||
|
||||
/obj/machinery/door/airlock/glass_external
|
||||
name = "external airlock"
|
||||
icon = 'icons/obj/doors/airlocks/external/external.dmi'
|
||||
overlays_file = 'icons/obj/doors/airlocks/external/overlays.dmi'
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_ext/glass
|
||||
/obj/machinery/door/airlock/external/glass
|
||||
opacity = 0
|
||||
glass = TRUE
|
||||
|
||||
@@ -287,7 +325,6 @@
|
||||
/obj/machinery/door/airlock/centcom
|
||||
icon = 'icons/obj/doors/airlocks/centcom/centcom.dmi'
|
||||
overlays_file = 'icons/obj/doors/airlocks/centcom/overlays.dmi'
|
||||
opacity = 1
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_centcom
|
||||
normal_integrity = 1000
|
||||
security_level = 6
|
||||
@@ -305,7 +342,6 @@
|
||||
name = "vault door"
|
||||
icon = 'icons/obj/doors/airlocks/vault/vault.dmi'
|
||||
overlays_file = 'icons/obj/doors/airlocks/vault/overlays.dmi'
|
||||
opacity = 1
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_vault
|
||||
explosion_block = 2
|
||||
normal_integrity = 400 // reverse engieneerd: 400 * 1.5 (sec lvl 6) = 600 = original
|
||||
@@ -321,7 +357,6 @@
|
||||
icon = 'icons/obj/doors/airlocks/hatch/centcom.dmi'
|
||||
overlays_file = 'icons/obj/doors/airlocks/hatch/overlays.dmi'
|
||||
note_overlay_file = 'icons/obj/doors/airlocks/hatch/overlays.dmi'
|
||||
opacity = 1
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_hatch
|
||||
|
||||
/obj/machinery/door/airlock/maintenance_hatch
|
||||
@@ -329,7 +364,6 @@
|
||||
icon = 'icons/obj/doors/airlocks/hatch/maintenance.dmi'
|
||||
overlays_file = 'icons/obj/doors/airlocks/hatch/overlays.dmi'
|
||||
note_overlay_file = 'icons/obj/doors/airlocks/hatch/overlays.dmi'
|
||||
opacity = 1
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_mhatch
|
||||
|
||||
/obj/machinery/door/airlock/maintenance_hatch/abandoned
|
||||
@@ -361,6 +395,10 @@
|
||||
overlays_file = 'icons/obj/doors/airlocks/shuttle/overlays.dmi'
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_shuttle
|
||||
|
||||
/obj/machinery/door/airlock/shuttle/glass
|
||||
opacity = 0
|
||||
glass = TRUE
|
||||
|
||||
/obj/machinery/door/airlock/abductor
|
||||
name = "alien airlock"
|
||||
desc = "With humanity's current technological level, it could take years to hack this advanced airlock... or maybe we should give a screwdriver a try?"
|
||||
@@ -369,7 +407,6 @@
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_abductor
|
||||
note_overlay_file = 'icons/obj/doors/airlocks/external/overlays.dmi'
|
||||
damage_deflection = 30
|
||||
opacity = 1
|
||||
explosion_block = 3
|
||||
hackProof = TRUE
|
||||
aiControlDisabled = 1
|
||||
@@ -422,7 +459,6 @@
|
||||
friendly = TRUE
|
||||
|
||||
/obj/machinery/door/airlock/cult/glass
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_cult/glass
|
||||
glass = TRUE
|
||||
opacity = 0
|
||||
|
||||
@@ -439,7 +475,6 @@
|
||||
friendly = TRUE
|
||||
|
||||
/obj/machinery/door/airlock/cult/unruned/glass
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_cult/unruned/glass
|
||||
glass = TRUE
|
||||
opacity = 0
|
||||
|
||||
@@ -452,7 +487,6 @@
|
||||
desc = "A massive cogwheel set into two heavy slabs of brass."
|
||||
icon = 'icons/obj/doors/airlocks/clockwork/pinion_airlock.dmi'
|
||||
overlays_file = 'icons/obj/doors/airlocks/clockwork/overlays.dmi'
|
||||
opacity = 1
|
||||
hackProof = TRUE
|
||||
aiControlDisabled = TRUE
|
||||
req_access = list(ACCESS_CLOCKCULT)
|
||||
|
||||
@@ -1,45 +1,44 @@
|
||||
/obj/machinery/door/airlock/alarmlock
|
||||
|
||||
name = "glass alarm airlock"
|
||||
icon = 'icons/obj/doors/airlocks/station2/glass.dmi'
|
||||
overlays_file = 'icons/obj/doors/airlocks/station2/overlays.dmi'
|
||||
opacity = 0
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_glass
|
||||
/obj/machinery/door/airlock/alarmlock
|
||||
name = "glass alarm airlock"
|
||||
icon = 'icons/obj/doors/airlocks/station2/glass.dmi'
|
||||
overlays_file = 'icons/obj/doors/airlocks/station2/overlays.dmi'
|
||||
opacity = 0
|
||||
assemblytype = /obj/structure/door_assembly/door_assembly_public
|
||||
glass = TRUE
|
||||
|
||||
var/datum/radio_frequency/air_connection
|
||||
var/air_frequency = 1437
|
||||
|
||||
var/datum/radio_frequency/air_connection
|
||||
var/air_frequency = 1437
|
||||
autoclose = FALSE
|
||||
|
||||
/obj/machinery/door/airlock/alarmlock/New()
|
||||
..()
|
||||
air_connection = new
|
||||
|
||||
/obj/machinery/door/airlock/alarmlock/Destroy()
|
||||
|
||||
/obj/machinery/door/airlock/alarmlock/New()
|
||||
..()
|
||||
air_connection = new
|
||||
|
||||
/obj/machinery/door/airlock/alarmlock/Destroy()
|
||||
SSradio.remove_object(src,air_frequency)
|
||||
air_connection = null
|
||||
return ..()
|
||||
|
||||
/obj/machinery/door/airlock/alarmlock/Initialize()
|
||||
air_connection = null
|
||||
return ..()
|
||||
|
||||
/obj/machinery/door/airlock/alarmlock/Initialize()
|
||||
. = ..()
|
||||
SSradio.remove_object(src, air_frequency)
|
||||
air_connection = SSradio.add_object(src, air_frequency, GLOB.RADIO_TO_AIRALARM)
|
||||
open()
|
||||
|
||||
/obj/machinery/door/airlock/alarmlock/receive_signal(datum/signal/signal)
|
||||
..()
|
||||
if(stat & (NOPOWER|BROKEN))
|
||||
return
|
||||
|
||||
var/alarm_area = signal.data["zone"]
|
||||
var/alert = signal.data["alert"]
|
||||
|
||||
var/area/our_area = get_area(src)
|
||||
if(alarm_area == our_area.name)
|
||||
switch(alert)
|
||||
if("severe")
|
||||
SSradio.remove_object(src, air_frequency)
|
||||
air_connection = SSradio.add_object(src, air_frequency, GLOB.RADIO_TO_AIRALARM)
|
||||
open()
|
||||
|
||||
/obj/machinery/door/airlock/alarmlock/receive_signal(datum/signal/signal)
|
||||
..()
|
||||
if(stat & (NOPOWER|BROKEN))
|
||||
return
|
||||
|
||||
var/alarm_area = signal.data["zone"]
|
||||
var/alert = signal.data["alert"]
|
||||
|
||||
var/area/our_area = get_area(src)
|
||||
if(alarm_area == our_area.name)
|
||||
switch(alert)
|
||||
if("severe")
|
||||
autoclose = TRUE
|
||||
close()
|
||||
if("minor", "clear")
|
||||
close()
|
||||
if("minor", "clear")
|
||||
autoclose = FALSE
|
||||
open()
|
||||
open()
|
||||
|
||||
Reference in New Issue
Block a user