moved most airlock types to airlock_types.dm

This commit is contained in:
uraniummeltdown
2017-11-09 12:21:55 +04:00
parent e509704709
commit 152f6b7f39
4 changed files with 373 additions and 324 deletions
-312
View File
@@ -56,276 +56,8 @@
var/boltDown = 'sound/machines/BoltsDown.ogg'
var/is_special = 0
/obj/machinery/door/airlock/command
name = "Airlock"
icon = 'icons/obj/doors/Doorcom.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_com
/obj/machinery/door/airlock/security
name = "Airlock"
icon = 'icons/obj/doors/Doorsec.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_sec
/obj/machinery/door/airlock/engineering
name = "Airlock"
icon = 'icons/obj/doors/Dooreng.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_eng
/obj/machinery/door/airlock/medical
name = "Airlock"
icon = 'icons/obj/doors/Doormed.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_med
/obj/machinery/door/airlock/maintenance
name = "Maintenance Access"
icon = 'icons/obj/doors/Doormaint.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_mai
/obj/machinery/door/airlock/external
name = "External Airlock"
icon = 'icons/obj/doors/Doorext.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_ext
doorOpen = 'sound/machines/airlock_ext_open.ogg'
doorClose = 'sound/machines/airlock_ext_close.ogg'
/obj/machinery/door/airlock/welded
welded = 1
/obj/machinery/door/airlock/glass
name = "Glass Airlock"
icon = 'icons/obj/doors/Doorglass.dmi'
opacity = 0
glass = 1
doorOpen = 'sound/machines/windowdoor.ogg'
doorClose = 'sound/machines/windowdoor.ogg'
/obj/machinery/door/airlock/centcom
name = "Airlock"
icon = 'icons/obj/doors/Doorele.dmi'
opacity = 0
/obj/machinery/door/airlock/vault
name = "Vault"
icon = 'icons/obj/doors/vault.dmi'
opacity = 1
assembly_type = /obj/structure/door_assembly/door_assembly_highsecurity //Until somebody makes better sprites.
explosion_block = 2
/obj/machinery/door/airlock/freezer
name = "Freezer Airlock"
icon = 'icons/obj/doors/Doorfreezer.dmi'
opacity = 1
assembly_type = /obj/structure/door_assembly/door_assembly_fre
/obj/machinery/door/airlock/hatch
name = "Airtight Hatch"
icon = 'icons/obj/doors/Doorhatchele.dmi'
opacity = 1
assembly_type = /obj/structure/door_assembly/door_assembly_hatch
/obj/machinery/door/airlock/hatch/gamma
name = "Gamma Level Hatch"
hackProof = 1
aiControlDisabled = 1
unacidable = 1
is_special = 1
/obj/machinery/door/airlock/maintenance_hatch
name = "Maintenance Hatch"
icon = 'icons/obj/doors/Doorhatchmaint2.dmi'
opacity = 1
assembly_type = /obj/structure/door_assembly/door_assembly_mhatch
/obj/machinery/door/airlock/glass_command
name = "Maintenance Hatch"
icon = 'icons/obj/doors/Doorcomglass.dmi'
opacity = 0
assembly_type = /obj/structure/door_assembly/door_assembly_com
glass = 1
/obj/machinery/door/airlock/glass_engineering
name = "Maintenance Hatch"
icon = 'icons/obj/doors/Doorengglass.dmi'
opacity = 0
assembly_type = /obj/structure/door_assembly/door_assembly_eng
glass = 1
/obj/machinery/door/airlock/glass_security
name = "Maintenance Hatch"
icon = 'icons/obj/doors/Doorsecglass.dmi'
opacity = 0
assembly_type = /obj/structure/door_assembly/door_assembly_sec
glass = 1
/obj/machinery/door/airlock/glass_medical
name = "Maintenance Hatch"
icon = 'icons/obj/doors/Doormedglass.dmi'
opacity = 0
assembly_type = /obj/structure/door_assembly/door_assembly_med
glass = 1
/obj/machinery/door/airlock/mining
name = "Mining Airlock"
icon = 'icons/obj/doors/Doormining.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_min
/obj/machinery/door/airlock/atmos
name = "Atmospherics Airlock"
icon = 'icons/obj/doors/Dooratmo.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_atmo
/obj/machinery/door/airlock/research
name = "Airlock"
icon = 'icons/obj/doors/Doorresearch.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_research
/obj/machinery/door/airlock/glass_research
name = "Maintenance Hatch"
icon = 'icons/obj/doors/Doorresearchglass.dmi'
opacity = 0
assembly_type = /obj/structure/door_assembly/door_assembly_research
glass = 1
/obj/machinery/door/airlock/glass_mining
name = "Maintenance Hatch"
icon = 'icons/obj/doors/Doorminingglass.dmi'
opacity = 0
assembly_type = /obj/structure/door_assembly/door_assembly_min
glass = 1
/obj/machinery/door/airlock/glass_atmos
name = "Maintenance Hatch"
icon = 'icons/obj/doors/Dooratmoglass.dmi'
opacity = 0
assembly_type = /obj/structure/door_assembly/door_assembly_atmo
glass = 1
/obj/machinery/door/airlock/gold
name = "Gold Airlock"
icon = 'icons/obj/doors/Doorgold.dmi'
mineral = "gold"
/obj/machinery/door/airlock/silver
name = "Silver Airlock"
icon = 'icons/obj/doors/Doorsilver.dmi'
mineral = "silver"
/obj/machinery/door/airlock/diamond
name = "Diamond Airlock"
icon = 'icons/obj/doors/Doordiamond.dmi'
mineral = "diamond"
/obj/machinery/door/airlock/uranium
name = "Uranium Airlock"
desc = "And they said I was crazy."
icon = 'icons/obj/doors/Dooruranium.dmi'
mineral = "uranium"
var/event_step = 20
/obj/machinery/door/airlock/uranium/New()
..()
addtimer(src, "radiate", event_step)
/obj/machinery/door/airlock/uranium/proc/radiate()
if(prob(50))
for(var/mob/living/L in range (3,src))
L.apply_effect(15,IRRADIATE,0)
addtimer(src, "radiate", event_step)
/obj/machinery/door/airlock/plasma
name = "plasma airlock"
desc = "No way this can end badly."
icon = 'icons/obj/doors/Doorplasma.dmi'
mineral = "plasma"
/obj/machinery/door/airlock/plasma/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
if(exposed_temperature > 300)
PlasmaBurn(exposed_temperature)
/obj/machinery/door/airlock/plasma/proc/ignite(exposed_temperature)
if(exposed_temperature > 300)
PlasmaBurn(exposed_temperature)
/obj/machinery/door/airlock/plasma/proc/PlasmaBurn(temperature)
atmos_spawn_air(SPAWN_HEAT | SPAWN_TOXINS, 500)
new/obj/structure/door_assembly( src.loc )
qdel(src)
/obj/machinery/door/airlock/plasma/BlockSuperconductivity() //we don't stop the heat~
return 0
/obj/machinery/door/airlock/bananium
name = "Bananium Airlock"
icon = 'icons/obj/doors/Doorbananium.dmi'
mineral = "bananium"
doorOpen = 'sound/items/bikehorn.ogg'
doorClose = 'sound/items/bikehorn.ogg'
/obj/machinery/door/airlock/tranquillite
name = "Tranquillite Airlock"
icon = 'icons/obj/doors/Doorfreezer.dmi'
mineral = "tranquillite"
doorOpen = null // it's silent!
doorClose = null
doorDeni = null
boltUp = null
boltDown = null
/obj/machinery/door/airlock/sandstone
name = "Sandstone Airlock"
icon = 'icons/obj/doors/Doorsand.dmi'
mineral = "sandstone"
/obj/machinery/door/airlock/science
name = "Airlock"
icon = 'icons/obj/doors/Doorsci.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_science
/obj/machinery/door/airlock/glass_science
name = "Glass Airlocks"
icon = 'icons/obj/doors/Doorsciglass.dmi'
opacity = 0
assembly_type = /obj/structure/door_assembly/door_assembly_science
glass = 1
/obj/machinery/door/airlock/highsecurity
name = "High Tech Security Airlock"
icon = 'icons/obj/doors/hightechsecurity.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_highsecurity
explosion_block = 2
/obj/machinery/door/airlock/highsecurity/red
name = "Secure Armory Airlock"
hackProof = 1
aiControlDisabled = 1
/obj/machinery/door/airlock/shuttle
name = "shuttle airlock"
icon = 'icons/obj/doors/doorshuttle.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_shuttle
/obj/machinery/door/airlock/alien
name = "Alien Airlock"
desc = "A mysterious alien airlock with a complicated opening mechanism."
hackProof = 1
icon = 'icons/obj/doors/Doorplasma.dmi'
is_special = 1
/obj/machinery/door/airlock/alien/bumpopen(mob/living/user as mob)
if(istype(user,/mob/living/carbon/alien) || isrobot(user) || isAI(user))
..(user)
else
to_chat(user, "You do not know how to operate this airlock's mechanism.")
return
/obj/machinery/door/airlock/alien/attackby(C as obj, mob/user as mob, params)
if(isalien(user) || isrobot(user) || isAI(user))
..(C, user)
else
to_chat(user, "You do not know how to operate this airlock's mechanism.")
return
/*
About the new airlock wires panel:
* An airlock wire dialog can be accessed by the normal way or by using wirecutters or a multitool on the door while the wire-panel is open. This would show the following wires, which you can either wirecut/mend or send a multitool pulse through. There are 9 wires.
@@ -1131,47 +863,3 @@ About the new airlock wires panel:
if(prob(20))
new/obj/machinery/door/airlock/cult(T)
qdel(src)
//////////////////////////////////
/*
Cult Airlocks
*/
/obj/machinery/door/airlock/cult
name = "cult airlock"
icon = 'icons/obj/doors/doorcult.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_cult
hackProof = 1
aiControlDisabled = 1
var/friendly = FALSE
/obj/machinery/door/airlock/cult/New()
..()
/obj/machinery/door/airlock/cult/canAIControl(mob/user)
return (iscultist(user))
/obj/machinery/door/airlock/cult/allowed(mob/M)
if(!density)
return 1
if(friendly || \
iscultist(M) || \
istype(M, /mob/living/simple_animal/shade) || \
istype(M, /mob/living/simple_animal/construct))
return 1
else
var/atom/throwtarget
throwtarget = get_edge_target_turf(src, get_dir(src, get_step_away(M, src)))
M << pick(sound('sound/hallucinations/turn_around1.ogg',0,1,50), sound('sound/hallucinations/turn_around2.ogg',0,1,50))
M.Weaken(2)
spawn(0)
M.throw_at(throwtarget, 5, 1,src)
return 0
/obj/machinery/door/airlock/cult/narsie_act()
return
/obj/machinery/door/airlock/cult/friendly
friendly = TRUE
+372
View File
@@ -0,0 +1,372 @@
/*
Station Airlocks Regular
*/
/obj/machinery/door/airlock/command
name = "Airlock"
icon = 'icons/obj/doors/Doorcom.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_com
/obj/machinery/door/airlock/security
name = "Airlock"
icon = 'icons/obj/doors/Doorsec.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_sec
/obj/machinery/door/airlock/engineering
name = "Airlock"
icon = 'icons/obj/doors/Dooreng.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_eng
/obj/machinery/door/airlock/medical
name = "Airlock"
icon = 'icons/obj/doors/Doormed.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_med
/obj/machinery/door/airlock/maintenance
name = "Maintenance Access"
icon = 'icons/obj/doors/Doormaint.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_mai
/obj/machinery/door/airlock/mining
name = "Mining Airlock"
icon = 'icons/obj/doors/Doormining.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_min
/obj/machinery/door/airlock/atmos
name = "Atmospherics Airlock"
icon = 'icons/obj/doors/Dooratmo.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_atmo
/obj/machinery/door/airlock/research
name = "Airlock"
icon = 'icons/obj/doors/Doorresearch.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_research
/obj/machinery/door/airlock/freezer
name = "Freezer Airlock"
icon = 'icons/obj/doors/Doorfreezer.dmi'
opacity = 1
assembly_type = /obj/structure/door_assembly/door_assembly_fre
/obj/machinery/door/airlock/science
name = "Airlock"
icon = 'icons/obj/doors/Doorsci.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_science
//////////////////////////////////
/*
Station Airlocks Glass
*/
/obj/machinery/door/airlock/glass_command
name = "Maintenance Hatch"
icon = 'icons/obj/doors/Doorcomglass.dmi'
opacity = 0
assembly_type = /obj/structure/door_assembly/door_assembly_com
glass = 1
/obj/machinery/door/airlock/glass_engineering
name = "Maintenance Hatch"
icon = 'icons/obj/doors/Doorengglass.dmi'
opacity = 0
assembly_type = /obj/structure/door_assembly/door_assembly_eng
glass = 1
/obj/machinery/door/airlock/glass_security
name = "Maintenance Hatch"
icon = 'icons/obj/doors/Doorsecglass.dmi'
opacity = 0
assembly_type = /obj/structure/door_assembly/door_assembly_sec
glass = 1
/obj/machinery/door/airlock/glass_medical
name = "Maintenance Hatch"
icon = 'icons/obj/doors/Doormedglass.dmi'
opacity = 0
assembly_type = /obj/structure/door_assembly/door_assembly_med
glass = 1
/obj/machinery/door/airlock/glass_research
name = "Maintenance Hatch"
icon = 'icons/obj/doors/Doorresearchglass.dmi'
opacity = 0
assembly_type = /obj/structure/door_assembly/door_assembly_research
glass = 1
/obj/machinery/door/airlock/glass_mining
name = "Maintenance Hatch"
icon = 'icons/obj/doors/Doorminingglass.dmi'
opacity = 0
assembly_type = /obj/structure/door_assembly/door_assembly_min
glass = 1
/obj/machinery/door/airlock/glass_atmos
name = "Maintenance Hatch"
icon = 'icons/obj/doors/Dooratmoglass.dmi'
opacity = 0
assembly_type = /obj/structure/door_assembly/door_assembly_atmo
glass = 1
/obj/machinery/door/airlock/glass_science
name = "Glass Airlocks"
icon = 'icons/obj/doors/Doorsciglass.dmi'
opacity = 0
assembly_type = /obj/structure/door_assembly/door_assembly_science
glass = 1
//////////////////////////////////
/*
Station Airlocks Mineral
*/
/obj/machinery/door/airlock/gold
name = "Gold Airlock"
icon = 'icons/obj/doors/Doorgold.dmi'
mineral = "gold"
/obj/machinery/door/airlock/silver
name = "Silver Airlock"
icon = 'icons/obj/doors/Doorsilver.dmi'
mineral = "silver"
/obj/machinery/door/airlock/diamond
name = "Diamond Airlock"
icon = 'icons/obj/doors/Doordiamond.dmi'
mineral = "diamond"
/obj/machinery/door/airlock/uranium
name = "Uranium Airlock"
desc = "And they said I was crazy."
icon = 'icons/obj/doors/Dooruranium.dmi'
mineral = "uranium"
var/event_step = 20
/obj/machinery/door/airlock/uranium/New()
..()
addtimer(src, "radiate", event_step)
/obj/machinery/door/airlock/uranium/proc/radiate()
if(prob(50))
for(var/mob/living/L in range (3,src))
L.apply_effect(15,IRRADIATE,0)
addtimer(src, "radiate", event_step)
/obj/machinery/door/airlock/plasma
name = "plasma airlock"
desc = "No way this can end badly."
icon = 'icons/obj/doors/Doorplasma.dmi'
mineral = "plasma"
/obj/machinery/door/airlock/plasma/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
if(exposed_temperature > 300)
PlasmaBurn(exposed_temperature)
/obj/machinery/door/airlock/plasma/proc/ignite(exposed_temperature)
if(exposed_temperature > 300)
PlasmaBurn(exposed_temperature)
/obj/machinery/door/airlock/plasma/proc/PlasmaBurn(temperature)
atmos_spawn_air(SPAWN_HEAT | SPAWN_TOXINS, 500)
new/obj/structure/door_assembly( src.loc )
qdel(src)
/obj/machinery/door/airlock/plasma/BlockSuperconductivity() //we don't stop the heat~
return 0
/obj/machinery/door/airlock/bananium
name = "Bananium Airlock"
icon = 'icons/obj/doors/Doorbananium.dmi'
mineral = "bananium"
doorOpen = 'sound/items/bikehorn.ogg'
doorClose = 'sound/items/bikehorn.ogg'
/obj/machinery/door/airlock/tranquillite
name = "Tranquillite Airlock"
icon = 'icons/obj/doors/Doorfreezer.dmi'
mineral = "tranquillite"
doorOpen = null // it's silent!
doorClose = null
doorDeni = null
boltUp = null
boltDown = null
/obj/machinery/door/airlock/sandstone
name = "Sandstone Airlock"
icon = 'icons/obj/doors/Doorsand.dmi'
mineral = "sandstone"
//////////////////////////////////
/*
Station2 Airlocks
*/
/obj/machinery/door/airlock/glass
name = "Glass Airlock"
icon = 'icons/obj/doors/Doorglass.dmi'
opacity = 0
glass = 1
doorOpen = 'sound/machines/windowdoor.ogg'
doorClose = 'sound/machines/windowdoor.ogg'
//////////////////////////////////
/*
External Airlocks
*/
/obj/machinery/door/airlock/external
name = "External Airlock"
icon = 'icons/obj/doors/Doorext.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_ext
doorOpen = 'sound/machines/airlock_ext_open.ogg'
doorClose = 'sound/machines/airlock_ext_close.ogg'
//////////////////////////////////
/*
CentCom Airlocks
*/
/obj/machinery/door/airlock/centcom
name = "Airlock"
icon = 'icons/obj/doors/Doorele.dmi'
opacity = 0
//////////////////////////////////
/*
Vault Airlocks
*/
/obj/machinery/door/airlock/vault
name = "Vault"
icon = 'icons/obj/doors/vault.dmi'
opacity = 1
assembly_type = /obj/structure/door_assembly/door_assembly_highsecurity //Until somebody makes better sprites.
explosion_block = 2
//////////////////////////////////
/*
Hatch Airlocks
*/
/obj/machinery/door/airlock/hatch
name = "Airtight Hatch"
icon = 'icons/obj/doors/Doorhatchele.dmi'
opacity = 1
assembly_type = /obj/structure/door_assembly/door_assembly_hatch
/obj/machinery/door/airlock/hatch/gamma
name = "Gamma Level Hatch"
hackProof = 1
aiControlDisabled = 1
unacidable = 1
is_special = 1
/obj/machinery/door/airlock/maintenance_hatch
name = "Maintenance Hatch"
icon = 'icons/obj/doors/Doorhatchmaint2.dmi'
opacity = 1
assembly_type = /obj/structure/door_assembly/door_assembly_mhatch
//////////////////////////////////
/*
High Security Airlocks
*/
/obj/machinery/door/airlock/highsecurity
name = "High Tech Security Airlock"
icon = 'icons/obj/doors/hightechsecurity.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_highsecurity
explosion_block = 2
/obj/machinery/door/airlock/highsecurity/red
name = "Secure Armory Airlock"
hackProof = 1
aiControlDisabled = 1
//////////////////////////////////
/*
Shuttle Airlocks
*/
/obj/machinery/door/airlock/shuttle
name = "shuttle airlock"
icon = 'icons/obj/doors/doorshuttle.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_shuttle
//////////////////////////////////
/*
Cult Airlocks
*/
/obj/machinery/door/airlock/cult
name = "cult airlock"
icon = 'icons/obj/doors/doorcult.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_cult
hackProof = 1
aiControlDisabled = 1
var/friendly = FALSE
/obj/machinery/door/airlock/cult/New()
..()
/obj/machinery/door/airlock/cult/canAIControl(mob/user)
return (iscultist(user))
/obj/machinery/door/airlock/cult/allowed(mob/M)
if(!density)
return 1
if(friendly || \
iscultist(M) || \
istype(M, /mob/living/simple_animal/shade) || \
istype(M, /mob/living/simple_animal/construct))
return 1
else
var/atom/throwtarget
throwtarget = get_edge_target_turf(src, get_dir(src, get_step_away(M, src)))
M << pick(sound('sound/hallucinations/turn_around1.ogg',0,1,50), sound('sound/hallucinations/turn_around2.ogg',0,1,50))
M.Weaken(2)
spawn(0)
M.throw_at(throwtarget, 5, 1,src)
return 0
/obj/machinery/door/airlock/cult/narsie_act()
return
/obj/machinery/door/airlock/cult/friendly
friendly = TRUE
//////////////////////////////////
/*
Misc Airlocks
*/
/obj/machinery/door/airlock/alien
name = "Alien Airlock"
desc = "A mysterious alien airlock with a complicated opening mechanism."
hackProof = 1
icon = 'icons/obj/doors/Doorplasma.dmi'
is_special = 1
/obj/machinery/door/airlock/alien/bumpopen(mob/living/user as mob)
if(istype(user,/mob/living/carbon/alien) || isrobot(user) || isAI(user))
..(user)
else
to_chat(user, "You do not know how to operate this airlock's mechanism.")
return
/obj/machinery/door/airlock/alien/attackby(C as obj, mob/user as mob, params)
if(isalien(user) || isrobot(user) || isAI(user))
..(C, user)
else
to_chat(user, "You do not know how to operate this airlock's mechanism.")
return
//Terribly sorry for the code doubling, but things go derpy otherwise.
/obj/machinery/door/airlock/multi_tile
width = 2
/obj/machinery/door/airlock/multi_tile/glass
name = "Glass Airlock"
icon = 'icons/obj/doors/Door2x1glass.dmi'
opacity = 0
glass = 1
assembly_type = "obj/structure/door_assembly/multi_tile"
-11
View File
@@ -1,11 +0,0 @@
//Terribly sorry for the code doubling, but things go derpy otherwise.
/obj/machinery/door/airlock/multi_tile
width = 2
/obj/machinery/door/airlock/multi_tile/glass
name = "Glass Airlock"
icon = 'icons/obj/doors/Door2x1glass.dmi'
opacity = 0
glass = 1
assembly_type = "obj/structure/door_assembly/multi_tile"
+1 -1
View File
@@ -627,12 +627,12 @@
#include "code\game\machinery\doors\airlock.dm"
#include "code\game\machinery\doors\airlock_control.dm"
#include "code\game\machinery\doors\airlock_electronics.dm"
#include "code\game\machinery\doors\airlock_types.dm"
#include "code\game\machinery\doors\alarmlock.dm"
#include "code\game\machinery\doors\brigdoors.dm"
#include "code\game\machinery\doors\checkForMultipleDoors.dm"
#include "code\game\machinery\doors\door.dm"
#include "code\game\machinery\doors\firedoor.dm"
#include "code\game\machinery\doors\multi_tile.dm"
#include "code\game\machinery\doors\poddoor.dm"
#include "code\game\machinery\doors\shutters.dm"
#include "code\game\machinery\doors\spacepod.dm"