Add tgmc doors as an option for angled airlocks

This commit is contained in:
Chompstation Bot
2021-07-24 18:12:44 +00:00
parent 21534eef24
commit fd4c50fbec
32 changed files with 11427 additions and 73 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -38,7 +38,7 @@
*/
/obj/machinery/door/airlock/angled
/obj/machinery/door/airlock/angled_bay
icon_state = "preview"
dir = 2
@@ -86,11 +86,11 @@
/// Optional: If door_color_icon is not null, this color will be applied to the door color overlay
var/door_color
/obj/machinery/door/airlock/angled/Initialize()
/obj/machinery/door/airlock/angled_bay/Initialize()
obtain_icon()
. = ..()
/obj/machinery/door/airlock/angled/proc/obtain_icon()
/obj/machinery/door/airlock/angled_bay/proc/obtain_icon()
var/icon/fill_icon
switch(fill_type)
if(FILL_METAL)
@@ -271,7 +271,7 @@
icon = final
update_icon()
/obj/machinery/door/airlock/angled/proc/gimme_icon()
/obj/machinery/door/airlock/angled_bay/proc/gimme_icon()
usr << ftp(icon, "[name].dmi")
/**
@@ -282,7 +282,7 @@
// Fills: Metal, glass, color
// Supports stripe color
// Supports door color
/obj/machinery/door/airlock/angled/standard
/obj/machinery/door/airlock/angled_bay/standard
icon = 'icons/obj/doors/angled/station/door.dmi'
fill_type = FILL_METAL
@@ -299,16 +299,16 @@
lights_emag_icon = 'icons/obj/doors/angled/station/emag.dmi'
panel_icon = 'icons/obj/doors/angled/station/panel.dmi'
welded_icon = 'icons/obj/doors/angled/station/welded.dmi'
/obj/machinery/door/airlock/angled/standard/glass
/obj/machinery/door/airlock/angled_bay/standard/glass
icon_state = "preview_glass"
fill_type = FILL_GLASS
/obj/machinery/door/airlock/angled/standard/color
/obj/machinery/door/airlock/angled_bay/standard/color
icon_state = "preview_color"
fill_type = FILL_COLOR
// Fills: Metal
// Supports stripe color
/obj/machinery/door/airlock/angled/hatch
/obj/machinery/door/airlock/angled_bay/hatch
icon = 'icons/obj/doors/angled/hatch/door.dmi'
fill_type = FILL_METAL
@@ -324,7 +324,7 @@
welded_icon = 'icons/obj/doors/angled/hatch/welded.dmi'
// Fills: None
/obj/machinery/door/airlock/angled/ascent
/obj/machinery/door/airlock/angled_bay/ascent
icon = 'icons/obj/doors/angled/ascent/door.dmi'
base_icon = 'icons/obj/doors/angled/ascent/door.dmi'
@@ -339,7 +339,7 @@
// Fills: Metal, glass, color
// Supports door color
/obj/machinery/door/airlock/angled/external
/obj/machinery/door/airlock/angled_bay/external
icon = 'icons/obj/doors/angled/external/door.dmi'
fill_type = FILL_METAL
@@ -352,15 +352,15 @@
lights_green_icon = 'icons/obj/doors/angled/external/lights_green.dmi'
lights_bolts_icon = 'icons/obj/doors/angled/external/lights_bolts.dmi'
lights_emag_icon = 'icons/obj/doors/angled/external/emag.dmi'
/obj/machinery/door/airlock/angled/external/glass
/obj/machinery/door/airlock/angled_bay/external/glass
icon_state = "preview_glass"
fill_type = FILL_GLASS
/obj/machinery/door/airlock/angled/external/color
/obj/machinery/door/airlock/angled_bay/external/color
icon_state = "preview_color"
fill_type = FILL_COLOR
// Fills: Metal, glass
/obj/machinery/door/airlock/angled/elevator
/obj/machinery/door/airlock/angled_bay/elevator
icon = 'icons/obj/doors/angled/elevator/door.dmi'
fill_type = FILL_METAL
@@ -371,34 +371,34 @@
lights_green_icon = 'icons/obj/doors/angled/elevator/lights_green.dmi'
lights_bolts_icon = 'icons/obj/doors/angled/elevator/lights_bolts.dmi'
welded_icon = 'icons/obj/doors/angled/elevator/welded.dmi'
/obj/machinery/door/airlock/angled/elevator/glass
/obj/machinery/door/airlock/angled_bay/elevator/glass
icon_state = "preview_glass"
fill_type = FILL_GLASS
// Very few options on these, basically just static doors.
/obj/machinery/door/airlock/angled/hazard // firedoors
/obj/machinery/door/airlock/angled_bay/hazard // firedoors
icon = 'icons/obj/doors/angled/hazard/door.dmi'
base_icon = 'icons/obj/doors/angled/hazard/door.dmi'
panel_icon = 'icons/obj/doors/angled/hazard/panel.dmi'
welded_icon = 'icons/obj/doors/angled/hazard/welded.dmi'
/obj/machinery/door/airlock/angled/vault
/obj/machinery/door/airlock/angled_bay/vault
icon = 'icons/obj/doors/angled/vault/door.dmi'
fill_type = FILL_METAL // the only option
base_icon = 'icons/obj/doors/angled/vault/door.dmi'
metal_fill_icon = 'icons/obj/doors/angled/vault/fill_steel.dmi'
/obj/machinery/door/airlock/angled/secure
/obj/machinery/door/airlock/angled_bay/secure
icon = 'icons/obj/doors/angled/secure/door.dmi'
fill_type = FILL_METAL // the only option
base_icon = 'icons/obj/doors/angled/secure/door.dmi'
metal_fill_icon = 'icons/obj/doors/angled/secure/fill_steel.dmi'
/obj/machinery/door/airlock/angled/centcomm
/obj/machinery/door/airlock/angled_bay/centcomm
icon = 'icons/obj/doors/angled/centcomm/door.dmi'
fill_type = FILL_METAL // the only option
@@ -409,7 +409,7 @@
// Fills: Metal, glass, color
// Supports stripe color
// Supports door color
/obj/machinery/door/airlock/angled/double
/obj/machinery/door/airlock/angled_bay/double
width = 2
appearance_flags = 0
icon = 'icons/obj/doors/angled/double/door.dmi'
@@ -430,33 +430,33 @@
welded_icon = 'icons/obj/doors/angled/double/welded.dmi'
spark_damaged_icon = 'icons/obj/doors/angled/double/sparks_damaged.dmi'
spark_broken_icon = 'icons/obj/doors/angled/double/sparks_broken.dmi'
/obj/machinery/door/airlock/angled/double/glass
/obj/machinery/door/airlock/angled_bay/double/glass
icon_state = "preview_glass"
fill_type = FILL_GLASS
/obj/machinery/door/airlock/angled/double/color
/obj/machinery/door/airlock/angled_bay/double/color
icon_state = "preview_color"
fill_type = FILL_COLOR
/obj/machinery/door/airlock/angled/double/Initialize(mapload)
/obj/machinery/door/airlock/angled_bay/double/Initialize(mapload)
. = ..()
SetBounds()
apply_opacity_to_my_turfs(opacity)
/obj/machinery/door/airlock/angled/double/set_opacity()
/obj/machinery/door/airlock/angled_bay/double/set_opacity()
. = ..()
apply_opacity_to_my_turfs(opacity)
/obj/machinery/door/airlock/angled/double/Moved()
/obj/machinery/door/airlock/angled_bay/double/Moved()
. = ..()
SetBounds()
/obj/machinery/door/airlock/angled/double/proc/apply_opacity_to_my_turfs(new_opacity)
/obj/machinery/door/airlock/angled_bay/double/proc/apply_opacity_to_my_turfs(new_opacity)
for(var/turf/T in locs)
T.set_opacity(new_opacity)
update_nearby_tiles()
/obj/machinery/door/airlock/angled/double/proc/SetBounds()
if(dir & 3)
/obj/machinery/door/airlock/angled_bay/double/proc/SetBounds()
if(dir & 3) // weird, but their icons are 'backwards' so whatever
bound_width = width * world.icon_size
bound_height = world.icon_size
else

View File

@@ -0,0 +1,134 @@
/obj/machinery/door/airlock/angled_tgmc
dir = 2
anim_length_before_finalize = 3
/obj/machinery/door/airlock/angled_tgmc/cell
icon_state = "door_closed"
icon = 'icons/obj/doors/angled/tgmc/celldoor.dmi'
/obj/machinery/door/airlock/angled_tgmc/command
icon_state = "door_closed"
icon = 'icons/obj/doors/angled/tgmc/comdoor.dmi'
/obj/machinery/door/airlock/angled_tgmc/dropship1_pilot
icon_state = "door_closed"
icon = 'icons/obj/doors/angled/tgmc/dropship1_pilot.dmi'
/obj/machinery/door/airlock/angled_tgmc/dropship2_pilot
icon_state = "door_closed"
icon = 'icons/obj/doors/angled/tgmc/dropship2_pilot.dmi'
/obj/machinery/door/airlock/angled_tgmc/engineering
icon_state = "door_closed"
icon = 'icons/obj/doors/angled/tgmc/engidoor.dmi'
/obj/machinery/door/airlock/angled_tgmc/maintenance
icon_state = "door_closed"
icon = 'icons/obj/doors/angled/tgmc/maintdoor.dmi'
/obj/machinery/door/airlock/angled_tgmc/medical
icon_state = "door_closed"
icon = 'icons/obj/doors/angled/tgmc/medidoor.dmi'
/obj/machinery/door/airlock/angled_tgmc/medical_glass
icon_state = "door_closed"
icon = 'icons/obj/doors/angled/tgmc/medidoor_glass.dmi'
glass = TRUE
opacity = FALSE
/obj/machinery/door/airlock/angled_tgmc/personal
icon_state = "door_closed"
icon = 'icons/obj/doors/angled/tgmc/personaldoor.dmi'
/obj/machinery/door/airlock/angled_tgmc/pod
icon_state = "door_closed"
icon = 'icons/obj/doors/angled/tgmc/pod_doors.dmi'
/obj/machinery/door/airlock/angled_tgmc/prep
icon_state = "door_closed"
icon = 'icons/obj/doors/angled/tgmc/prepdoor.dmi'
glass = TRUE
opacity = FALSE
/obj/machinery/door/airlock/angled_tgmc/prep/prep_alpha
icon_state = "door_closed"
icon = 'icons/obj/doors/angled/tgmc/prepdoor_alpha.dmi'
/obj/machinery/door/airlock/angled_tgmc/prep/prep_bravo
icon_state = "door_closed"
icon = 'icons/obj/doors/angled/tgmc/prepdoor_bravo.dmi'
/obj/machinery/door/airlock/angled_tgmc/prep/prep_charlie
icon_state = "door_closed"
icon = 'icons/obj/doors/angled/tgmc/prepdoor_charlie.dmi'
/obj/machinery/door/airlock/angled_tgmc/prep/prep_delta
icon_state = "door_closed"
icon = 'icons/obj/doors/angled/tgmc/prepdoor_delta.dmi'
/obj/machinery/door/airlock/angled_tgmc/security
icon_state = "door_closed"
icon = 'icons/obj/doors/angled/tgmc/secdoor.dmi'
/obj/machinery/door/airlock/angled_tgmc/security_glass
icon_state = "door_closed"
icon = 'icons/obj/doors/angled/tgmc/secdoor_glass.dmi'
glass = TRUE
opacity = FALSE
/obj/machinery/door/airlock/angled_tgmc/secure
icon_state = "door_closed"
icon = 'icons/obj/doors/angled/tgmc/securedoor.dmi'
// firedoor
/* /obj/machinery/door/airlock/angled_tgmc/
icon_state = "door_closed"
icon = 'icons/obj/doors/angled/tgmc/purinadoor.dmi' */
// blastdoor
/* /obj/machinery/door/airlock/angled_tgmc/
icon_state = "door_closed"
icon = 'icons/obj/doors/angled/tgmc/blastdoors_shutters.dmi' */
/obj/machinery/door/airlock/angled_tgmc/wide
width = 2
appearance_flags = 0
glass = TRUE
opacity = FALSE
/obj/machinery/door/airlock/angled_tgmc/wide/Initialize(mapload)
. = ..()
SetBounds()
apply_opacity_to_my_turfs(opacity)
/obj/machinery/door/airlock/angled_tgmc/wide/set_opacity()
. = ..()
apply_opacity_to_my_turfs(opacity)
/obj/machinery/door/airlock/angled_tgmc/wide/Moved()
. = ..()
SetBounds()
/obj/machinery/door/airlock/angled_tgmc/wide/proc/apply_opacity_to_my_turfs(new_opacity)
for(var/turf/T in locs)
T.set_opacity(new_opacity)
update_nearby_tiles()
/obj/machinery/door/airlock/angled_tgmc/wide/proc/SetBounds()
if(dir & 3)
bound_width = world.icon_size
bound_height = width * world.icon_size
else
bound_width = width * world.icon_size
bound_height = world.icon_size
/obj/machinery/door/airlock/angled_tgmc/wide/command
icon_state = "door_closed"
icon = 'icons/obj/doors/angled/tgmc/2x1comdoor.dmi'
/obj/machinery/door/airlock/angled_tgmc/wide/generic
icon_state = "door_closed"
icon = 'icons/obj/doors/angled/tgmc/2x1generic.dmi'
/obj/machinery/door/airlock/angled_tgmc/wide/medical
icon_state = "door_closed"
icon = 'icons/obj/doors/angled/tgmc/2x1medidoor.dmi'
/obj/machinery/door/airlock/angled_tgmc/wide/security
icon_state = "door_closed"
icon = 'icons/obj/doors/angled/tgmc/2x1secdoor.dmi'
/obj/machinery/door/airlock/angled_tgmc/wide/dropship1
width = 3
anim_length_before_finalize = 5
icon_state = "door_closed"
icon = 'icons/obj/doors/angled/tgmc/dropship1_cargo.dmi'
glass = FALSE
opacity = TRUE
/obj/machinery/door/airlock/angled_tgmc/wide/dropship2
width = 3
anim_length_before_finalize = 5
icon_state = "door_closed"
icon = 'icons/obj/doors/angled/tgmc/dropship2_cargo.dmi'
glass = FALSE
opacity = TRUE

View File

@@ -32,6 +32,9 @@
var/block_air_zones = 1 //If set, air zones cannot merge across the door even when it is opened.
var/close_door_at = 0 //When to automatically close the door, if possible
var/anim_length_before_density = 3
var/anim_length_before_finalize = 7
//Multi-tile doors
dir = EAST
var/width = 1
@@ -428,10 +431,10 @@
do_animate("opening")
icon_state = "door0"
set_opacity(0)
sleep(3)
sleep(anim_length_before_density)
src.density = FALSE
update_nearby_tiles()
sleep(7)
sleep(anim_length_before_finalize)
src.layer = open_layer
explosion_resistance = 0
update_icon()
@@ -453,12 +456,12 @@
close_door_at = 0
do_animate("closing")
sleep(3)
sleep(anim_length_before_density)
src.density = TRUE
explosion_resistance = initial(explosion_resistance)
src.layer = closed_layer
update_nearby_tiles()
sleep(7)
sleep(anim_length_before_finalize)
update_icon()
if(visible && !glass)
set_opacity(1) //caaaaarn!