mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-28 07:38:05 +01:00
[MODULAR] Adds cryo to permabrig 2: Electric Grillaboo (#18556)
* Adds prison-specific cryo * Fix cryo console icon * maps
This commit is contained in:
@@ -2211,10 +2211,7 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/syndicate_lava_base/main)
|
||||
"tx" = (
|
||||
/obj/machinery/computer/cryopod/interdyne{
|
||||
dir = 4;
|
||||
pixel_x = -24
|
||||
},
|
||||
/obj/machinery/computer/cryopod/interdyne/directional/west,
|
||||
/obj/machinery/cryopod{
|
||||
dir = 4
|
||||
},
|
||||
|
||||
@@ -4142,10 +4142,7 @@
|
||||
/obj/machinery/cryopod{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/computer/cryopod/interdyne{
|
||||
dir = 4;
|
||||
pixel_x = -24
|
||||
},
|
||||
/obj/machinery/computer/cryopod/interdyne/directional/west,
|
||||
/turf/open/floor/iron,
|
||||
/area/ruin/syndicate_lava_base/dormitories)
|
||||
"Qk" = (
|
||||
|
||||
@@ -996,10 +996,7 @@
|
||||
/area/ruin/space/has_grav/cargodise_freighter/cargo)
|
||||
"re" = (
|
||||
/obj/machinery/light/directional/west,
|
||||
/obj/machinery/computer/cryopod{
|
||||
dir = 4;
|
||||
pixel_x = -24
|
||||
},
|
||||
/obj/machinery/computer/cryopod/directional/west,
|
||||
/obj/effect/turf_decal/tile/green/half/contrasted{
|
||||
dir = 8
|
||||
},
|
||||
|
||||
@@ -3695,10 +3695,7 @@
|
||||
/turf/open/floor/engine,
|
||||
/area/ruin/space/has_grav/skyrat/interdynefob/engineering)
|
||||
"ps" = (
|
||||
/obj/machinery/computer/cryopod/interdyne{
|
||||
dir = 4;
|
||||
pixel_x = -24
|
||||
},
|
||||
/obj/machinery/computer/cryopod/interdyne/directional/west,
|
||||
/obj/structure/table,
|
||||
/obj/effect/turf_decal/trimline/dark_green/filled/line{
|
||||
dir = 8
|
||||
@@ -9292,10 +9289,7 @@
|
||||
color = "#00ff00";
|
||||
name = "green"
|
||||
},
|
||||
/obj/machinery/computer/cryopod/interdyne{
|
||||
dir = 8;
|
||||
pixel_x = 24
|
||||
},
|
||||
/obj/machinery/computer/cryopod/interdyne/directional/east,
|
||||
/turf/open/floor/mineral/plastitanium/red,
|
||||
/area/ruin/space/has_grav/skyrat/interdynefob/security/prison)
|
||||
"OU" = (
|
||||
|
||||
@@ -8734,10 +8734,7 @@
|
||||
/turf/open/floor/iron,
|
||||
/area/ruin/space/has_grav/port_tarkon/starboardhall)
|
||||
"Wn" = (
|
||||
/obj/machinery/computer/cryopod/tarkon{
|
||||
dir = 4;
|
||||
pixel_x = -24
|
||||
},
|
||||
/obj/machinery/computer/cryopod/tarkon/directional/west,
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
|
||||
/obj/effect/decal/cleanable/dirt/dust,
|
||||
|
||||
@@ -8318,10 +8318,7 @@
|
||||
"Wn" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/computer/cryopod/tarkon{
|
||||
dir = 4;
|
||||
pixel_x = -24
|
||||
},
|
||||
/obj/machinery/computer/cryopod/tarkon/directional/west,
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
|
||||
/turf/open/floor/iron,
|
||||
|
||||
@@ -7378,10 +7378,7 @@
|
||||
/turf/open/floor/iron,
|
||||
/area/ruin/space/has_grav/port_tarkon/secoff)
|
||||
"Wn" = (
|
||||
/obj/machinery/computer/cryopod/tarkon{
|
||||
dir = 4;
|
||||
pixel_x = -24
|
||||
},
|
||||
/obj/machinery/computer/cryopod/tarkon/directional/west,
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
|
||||
/obj/effect/decal/cleanable/dirt/dust,
|
||||
|
||||
@@ -8118,10 +8118,7 @@
|
||||
"Wn" = (
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
|
||||
/obj/machinery/computer/cryopod/tarkon{
|
||||
dir = 4;
|
||||
pixel_x = -24
|
||||
},
|
||||
/obj/machinery/computer/cryopod/tarkon/directional/west,
|
||||
/obj/effect/decal/cleanable/dirt/dust,
|
||||
/turf/open/floor/iron,
|
||||
/area/ruin/space/has_grav/port_tarkon/centerhall)
|
||||
|
||||
@@ -4985,9 +4985,7 @@
|
||||
/turf/open/floor/iron/white,
|
||||
/area/ruin/space/has_grav/hotel)
|
||||
"BT" = (
|
||||
/obj/machinery/computer/cryopod{
|
||||
pixel_y = 23
|
||||
},
|
||||
/obj/machinery/computer/cryopod/directional/north,
|
||||
/obj/effect/turf_decal/tile/dark/opposingcorners,
|
||||
/turf/open/floor/iron,
|
||||
/area/ruin/space/has_grav/hotel/bar)
|
||||
|
||||
@@ -9984,10 +9984,7 @@
|
||||
/turf/open/floor/catwalk_floor/iron_smooth,
|
||||
/area/station/maintenance/starboard/lesser)
|
||||
"cYZ" = (
|
||||
/obj/machinery/computer/cryopod{
|
||||
dir = 8;
|
||||
pixel_x = 32
|
||||
},
|
||||
/obj/machinery/computer/cryopod/directional/east,
|
||||
/obj/machinery/light/warm/directional/east,
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
|
||||
dir = 8
|
||||
@@ -44187,10 +44184,7 @@
|
||||
/obj/machinery/cryopod{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/computer/cryopod{
|
||||
dir = 4;
|
||||
pixel_x = -24
|
||||
},
|
||||
/obj/machinery/computer/cryopod/directional/west,
|
||||
/obj/effect/turf_decal/delivery/white{
|
||||
color = "#00ff00"
|
||||
},
|
||||
|
||||
@@ -4874,9 +4874,7 @@
|
||||
/turf/open/floor/iron,
|
||||
/area/centcom/interlink)
|
||||
"bNi" = (
|
||||
/obj/machinery/computer/cryopod{
|
||||
pixel_x = -32
|
||||
},
|
||||
/obj/machinery/computer/cryopod/directional/west,
|
||||
/obj/machinery/cryopod/quiet{
|
||||
dir = 1
|
||||
},
|
||||
@@ -9301,9 +9299,7 @@
|
||||
/turf/open/floor/iron,
|
||||
/area/centcom/interlink)
|
||||
"nqQ" = (
|
||||
/obj/machinery/computer/cryopod{
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/machinery/computer/cryopod/directional/north,
|
||||
/obj/effect/landmark/latejoin,
|
||||
/obj/effect/turf_decal/trimline/blue/filled/line{
|
||||
dir = 1
|
||||
|
||||
@@ -3,10 +3,7 @@
|
||||
/turf/closed/wall,
|
||||
/area/station/commons/fitness/recreation)
|
||||
"e" = (
|
||||
/obj/machinery/computer/cryopod{
|
||||
dir = 8;
|
||||
pixel_x = 32
|
||||
},
|
||||
/obj/machinery/computer/cryopod/directional/east,
|
||||
/obj/machinery/light/directional/east,
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
|
||||
dir = 8
|
||||
|
||||
@@ -33,9 +33,7 @@
|
||||
/turf/open/floor/iron/dark,
|
||||
/area/station/common/cryopods)
|
||||
"k" = (
|
||||
/obj/machinery/computer/cryopod{
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/machinery/computer/cryopod/directional/north,
|
||||
/obj/structure/cable,
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
|
||||
|
||||
@@ -33,10 +33,7 @@
|
||||
/turf/open/floor/iron,
|
||||
/area/station/common/cryopods)
|
||||
"j" = (
|
||||
/obj/machinery/computer/cryopod{
|
||||
dir = 8;
|
||||
pixel_x = 32
|
||||
},
|
||||
/obj/machinery/computer/cryopod/directional/east,
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/common/cryopods)
|
||||
|
||||
@@ -23,9 +23,7 @@
|
||||
/area/station/common/cryopods)
|
||||
"v" = (
|
||||
/obj/structure/cable,
|
||||
/obj/machinery/computer/cryopod{
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/machinery/computer/cryopod/directional/north,
|
||||
/obj/machinery/light/directional/north,
|
||||
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
|
||||
/turf/open/floor/iron,
|
||||
|
||||
@@ -294,10 +294,7 @@
|
||||
/obj/machinery/cryopod{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/computer/cryopod{
|
||||
dir = 4;
|
||||
pixel_x = -32
|
||||
},
|
||||
/obj/machinery/computer/cryopod/directional/west,
|
||||
/turf/open/floor/iron/dark,
|
||||
/area/station/common/cryopods)
|
||||
"O" = (
|
||||
|
||||
@@ -56,6 +56,17 @@
|
||||
desired_atom = /obj/machinery/posialert
|
||||
mode = AREA_SPAWN_MODE_MOUNT_WALL
|
||||
|
||||
/datum/area_spawn/prison_cryo_console
|
||||
// Keep to one area so it's in the same area as the pods, which is required.
|
||||
target_areas = list(/area/station/security/prison)
|
||||
desired_atom = /obj/machinery/computer/cryopod
|
||||
mode = AREA_SPAWN_MODE_MOUNT_WALL
|
||||
|
||||
/datum/area_spawn/prison_cryopod
|
||||
target_areas = list(/area/station/security/prison)
|
||||
desired_atom = /obj/machinery/cryopod/prison
|
||||
mode = AREA_SPAWN_MODE_MOUNT_WALL
|
||||
|
||||
// Job spawners
|
||||
/datum/area_spawn/secmed_landmark
|
||||
target_areas = list(/area/station/security/medical, /area/station/security/brig)
|
||||
|
||||
@@ -40,6 +40,7 @@ GLOBAL_LIST_EMPTY(valid_cryopods)
|
||||
/// The channel to be broadcast on, valid values are the values of any of the "RADIO_CHANNEL_" defines.
|
||||
var/announcement_channel = null // RADIO_CHANNEL_COMMON doesn't work here.
|
||||
|
||||
MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/cryopod, 32)
|
||||
|
||||
/obj/machinery/computer/cryopod/Initialize(mapload)
|
||||
. = ..()
|
||||
@@ -134,11 +135,13 @@ GLOBAL_LIST_EMPTY(valid_cryopods)
|
||||
desc = "Suited for Cyborgs and Humanoids, the pod is a safe place for personnel affected by the Space Sleep Disorder to get some rest."
|
||||
icon = 'modular_skyrat/modules/cryosleep/icons/cryogenics.dmi'
|
||||
icon_state = "cryopod-open"
|
||||
base_icon_state = "cryopod"
|
||||
use_power = FALSE
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
state_open = TRUE
|
||||
|
||||
var/open_icon_state = "cryopod-open"
|
||||
var/on_store_message = "has entered long-term storage."
|
||||
var/on_store_name = "Cryogenic Oversight"
|
||||
/// Whether the cryopod respects the minimum time someone has to be disconnected before they can be put into cryo by another player
|
||||
@@ -209,11 +212,9 @@ GLOBAL_LIST_EMPTY(valid_cryopods)
|
||||
stored_ckey = mob_occupant.ckey
|
||||
|
||||
COOLDOWN_START(src, despawn_world_time, time_till_despawn)
|
||||
icon_state = "cryopod"
|
||||
|
||||
/obj/machinery/cryopod/open_machine()
|
||||
..()
|
||||
icon_state = "cryopod-open"
|
||||
set_density(TRUE)
|
||||
name = initial(name)
|
||||
tucked = FALSE
|
||||
@@ -510,6 +511,28 @@ GLOBAL_LIST_EMPTY(valid_cryopods)
|
||||
user.add_mood_event("tucked", /datum/mood_event/tucked_in, occupant)
|
||||
tucked = TRUE
|
||||
|
||||
/obj/machinery/cryopod/update_icon_state()
|
||||
icon_state = state_open ? open_icon_state : base_icon_state
|
||||
return ..()
|
||||
|
||||
/// Special wall mounted cryopod for the prison, making it easier to autospawn.
|
||||
/obj/machinery/cryopod/prison
|
||||
icon_state = "prisonpod"
|
||||
base_icon_state = "prisonpod"
|
||||
open_icon_state = "prisonpod"
|
||||
density = FALSE
|
||||
|
||||
MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/cryopod/prison, 18)
|
||||
|
||||
/obj/machinery/cryopod/prison/set_density(new_value)
|
||||
// Simple way to make it always non-dense.
|
||||
return ..(FALSE)
|
||||
|
||||
/obj/machinery/cryopod/prison/close_machine(atom/movable/target)
|
||||
. = ..()
|
||||
// Flick the pod for a second when user enters
|
||||
flick("prisonpod-open", src)
|
||||
|
||||
// Wake-up notifications
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 12 KiB |
@@ -693,7 +693,11 @@
|
||||
announcement_channel = RADIO_CHANNEL_INTERDYNE
|
||||
req_one_access = list("syndicate_leader")
|
||||
|
||||
MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/cryopod/interdyne, 32)
|
||||
|
||||
/obj/machinery/computer/cryopod/tarkon
|
||||
radio = /obj/item/radio/headset/tarkon
|
||||
announcement_channel = RADIO_CHANNEL_TARKON
|
||||
req_one_access = list("tarkon")
|
||||
|
||||
MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/cryopod/tarkon, 32)
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
/obj/machinery/computer/cryopod{pixel_x = 32} : /obj/machinery/computer/cryopod/directional/east
|
||||
/obj/machinery/computer/cryopod{pixel_x = -32} : /obj/machinery/computer/cryopod/directional/west
|
||||
/obj/machinery/computer/cryopod{pixel_y = 32} : /obj/machinery/computer/cryopod/directional/north
|
||||
/obj/machinery/computer/cryopod{pixel_y = -32} : /obj/machinery/computer/cryopod/directional/south
|
||||
Reference in New Issue
Block a user