diff --git a/code/modules/awaymissions/redgate.dm b/code/modules/awaymissions/redgate.dm
index c3989d753d..6854f63381 100644
--- a/code/modules/awaymissions/redgate.dm
+++ b/code/modules/awaymissions/redgate.dm
@@ -13,9 +13,9 @@
/obj/structure/redgate/Destroy()
if(target)
target.target = null
+ target.toggle_portal()
target = null
- target.icon_state = "off"
- target.density = FALSE
+ set_light(0)
return ..()
@@ -26,17 +26,28 @@
return
if(!target)
- icon_state = "off"
- density = FALSE
+ toggle_portal()
var/turf/place = get_turf(target)
var/possible_turfs = place.AdjacentTurfs()
if(isemptylist(possible_turfs))
to_chat(M, "Something blocks your way.")
return
- temptarg = pick(possible_turfs)
+ var/turf/temptarg = pick(possible_turfs)
do_safe_teleport(M, temptarg, 0)
+/obj/structure/redgate/proc/toggle_portal()
+ if(target)
+ icon_state = "on"
+ density = TRUE
+ plane = ABOVE_MOB_PLANE
+ set_light(5, 0.75, "#da5656")
+ else
+ icon_state = "off"
+ density = FALSE
+ plane = OBJ_PLANE
+ set_light(0)
+
/obj/structure/redgate/Bumped(mob/M as mob)
src.teleport(M)
return
@@ -46,35 +57,44 @@
return
/obj/structure/redgate/attack_hand(mob/M as mob)
- src.teleport(M)
- return
+ if(density)
+ src.teleport(M)
+ else
+ if(!find_partner())
+ to_chat(M, "The [src] remains off... seems like it doesn't have a destination.")
+
/obj/structure/redgate/attack_ghost(var/mob/observer/dead/user)
if(target && user?.client?.holder)
user.forceMove(get_turf(target))
- else return
+ else
+ return ..()
/obj/structure/redgate/away/Initialize()
. = ..()
+ if(!find_partner())
+ log_and_message_admins("An away redgate spawned but wasn't able to find a gateway to link to. If this appeared at roundstart, something has gone wrong, otherwise if you spawn another gate they should connect.")
+
+/obj/structure/redgate/proc/find_partner()
for(var/obj/structure/redgate/g in world)
if(istype(g, /obj/structure/redgate))
if(g.target)
continue
+ else if(g == src)
+ continue
else if(g.z in using_map.station_levels)
target = g
g.target = src
- icon_state = "on"
- g.icon_state = "on"
- density = TRUE
- g.density = TRUE
+ toggle_portal()
+ target.toggle_portal()
break
else if(g != src)
target = g
g.target = src
- icon_state = "on"
- g.icon_state = "on"
- density = TRUE
- g.density = TRUE
+ toggle_portal()
+ target.toggle_portal()
break
if(!target)
- log_and_message_admins("An away redgate spawned but wasn't able to find a gateway to link to. If this appeared at roundstart, something has gone wrong, otherwise if you spawn another gate they should connect.")
+ return FALSE
+ else
+ return TRUE
diff --git a/maps/groundbase/gb-z1.dmm b/maps/groundbase/gb-z1.dmm
index ed5284b76d..36e7a83e0d 100644
--- a/maps/groundbase/gb-z1.dmm
+++ b/maps/groundbase/gb-z1.dmm
@@ -2953,8 +2953,8 @@
"gu" = (
/obj/machinery/button/remote/airlock{
id = "z1stall4";
- specialfunctions = 4;
- pixel_y = 26
+ pixel_y = 26;
+ specialfunctions = 4
},
/obj/machinery/light/small{
dir = 1
@@ -6170,6 +6170,10 @@
},
/turf/simulated/floor/tiled/dark,
/area/groundbase/security/briefing)
+"nz" = (
+/obj/structure/redgate,
+/turf/simulated/floor/reinforced,
+/area/groundbase/civilian/toolstorage)
"nA" = (
/obj/structure/table/rack/shelf/steel,
/obj/item/clothing/suit/armor/vest/wolftaur{
@@ -8284,6 +8288,12 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
/turf/simulated/floor/tiled/dark,
/area/groundbase/security/lobby)
+"sF" = (
+/obj/machinery/door/firedoor,
+/obj/structure/grille,
+/obj/structure/window/reinforced/full,
+/turf/simulated/floor,
+/area/groundbase/civilian/toolstorage)
"sH" = (
/obj/effect/floor_decal/techfloor/orange,
/obj/effect/landmark{
@@ -9875,6 +9885,13 @@
},
/turf/simulated/floor/outdoors/sidewalk/slab,
/area/groundbase/level1/centsquare)
+"wy" = (
+/obj/machinery/door/airlock/glass{
+ name = "redgate"
+ },
+/obj/machinery/door/firedoor,
+/turf/simulated/floor/bmarble,
+/area/groundbase/civilian/toolstorage)
"wA" = (
/turf/simulated/floor/tiled/white,
/area/groundbase/medical/lhallway)
@@ -13797,8 +13814,8 @@
"FT" = (
/obj/machinery/button/remote/airlock{
id = "z1stall5";
- specialfunctions = 4;
- pixel_y = 26
+ pixel_y = 26;
+ specialfunctions = 4
},
/obj/machinery/light/small{
dir = 1
@@ -14074,6 +14091,9 @@
},
/turf/simulated/floor/lino,
/area/groundbase/civilian/bar)
+"GB" = (
+/turf/simulated/floor/reinforced,
+/area/groundbase/civilian/toolstorage)
"GC" = (
/obj/item/weapon/circuitboard/telecomms/processor,
/obj/item/weapon/circuitboard/telecomms/processor,
@@ -30684,10 +30704,10 @@ PP
xJ
EN
lE
-Eb
-Eb
-Eb
-HQ
+GB
+GB
+GB
+sF
Eb
Eb
Eb
@@ -30826,14 +30846,14 @@ XS
WC
KQ
lE
-Eb
-Eb
-Eb
-Nv
-Nv
-Eb
-Eb
-tP
+GB
+nz
+GB
+wy
+Vs
+Vs
+Vs
+JY
eR
eR
eR
@@ -30968,12 +30988,12 @@ XS
WC
uz
lE
+GB
+GB
+GB
+sF
Eb
Eb
-Nv
-Nv
-Nv
-Eb
Eb
tP
eR
@@ -31110,10 +31130,10 @@ nO
Li
CZ
lE
-Eb
-Eb
-Nv
-Eb
+Dt
+Dt
+Dt
+Dt
Eb
Eb
Eb
@@ -31253,7 +31273,7 @@ lE
lE
lE
Eb
-Eb
+HQ
Eb
Eb
Eb
diff --git a/maps/stellar_delight/stellar_delight1.dmm b/maps/stellar_delight/stellar_delight1.dmm
index 569d141810..698bdefdcd 100644
--- a/maps/stellar_delight/stellar_delight1.dmm
+++ b/maps/stellar_delight/stellar_delight1.dmm
@@ -1051,10 +1051,18 @@
/turf/simulated/floor,
/area/maintenance/stellardelight/substation/civilian)
"ca" = (
-/obj/item/weapon/storage/briefcase/inflatable,
-/obj/item/weapon/storage/briefcase/inflatable,
-/obj/item/weapon/storage/briefcase/inflatable,
-/obj/structure/closet/walllocker_double/engineering/north,
+/obj/structure/closet/walllocker_double/engineering/west,
+/obj/item/stack/material/plasteel{
+ amount = 10
+ },
+/obj/fiftyspawner/steel,
+/obj/fiftyspawner/steel,
+/obj/fiftyspawner/steel,
+/obj/fiftyspawner/rglass,
+/obj/fiftyspawner/rods,
+/obj/fiftyspawner/glass,
+/obj/fiftyspawner/glass,
+/obj/fiftyspawner/glass,
/turf/simulated/floor/tiled/eris/white/gray_platform,
/area/gateway)
"cb" = (
@@ -1069,21 +1077,9 @@
/turf/simulated/floor/airless,
/area/stellardelight/deck1/exterior)
"cc" = (
-/obj/fiftyspawner/glass,
-/obj/fiftyspawner/glass,
-/obj/fiftyspawner/glass,
-/obj/fiftyspawner/rods,
-/obj/fiftyspawner/rglass,
-/obj/fiftyspawner/steel,
-/obj/fiftyspawner/steel,
-/obj/fiftyspawner/steel,
-/obj/item/stack/material/plasteel{
- amount = 10
- },
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 6
+ dir = 5
},
-/obj/structure/closet/walllocker_double/engineering/north,
/turf/simulated/floor/tiled/eris/white/gray_platform,
/area/gateway)
"cd" = (
@@ -3996,11 +3992,8 @@
/turf/simulated/floor/carpet/purcarpet,
/area/stellardelight/deck1/dorms/dorm3)
"hL" = (
-/obj/effect/floor_decal/steeldecal/steel_decals3,
-/obj/effect/floor_decal/steeldecal/steel_decals3{
- dir = 6
- },
-/turf/simulated/floor/tiled/techmaint,
+/obj/structure/redgate,
+/turf/simulated/floor/tiled/eris/dark/danger,
/area/stellardelight/deck1/port)
"hM" = (
/obj/structure/cable/green{
@@ -4110,19 +4103,15 @@
/turf/simulated/floor/tiled/techmaint,
/area/stellardelight/deck1/starboard)
"hX" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
+/obj/structure/closet/walllocker_double/engineering/west,
+/obj/item/weapon/storage/briefcase/inflatable,
+/obj/item/weapon/storage/briefcase/inflatable,
+/obj/item/weapon/storage/briefcase/inflatable,
/turf/simulated/floor/tiled/eris/white/gray_platform,
/area/gateway)
"hY" = (
-/obj/machinery/door/firedoor/glass,
-/obj/machinery/door/blast/angled{
- dir = 4;
- id = "GatewayShutterW"
- },
-/turf/simulated/floor/tiled/steel_ridged,
-/area/gateway)
+/turf/simulated/floor/tiled/eris/dark/danger,
+/area/stellardelight/deck1/port)
"hZ" = (
/obj/machinery/light,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
@@ -5585,11 +5574,11 @@
/turf/simulated/floor/carpet/purcarpet,
/area/stellardelight/deck1/dorms/dorm6)
"ll" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 9
+/obj/machinery/light/small{
+ dir = 4
},
-/turf/simulated/floor/tiled/eris/white/gray_platform,
-/area/gateway)
+/turf/simulated/floor/tiled/eris/dark/danger,
+/area/stellardelight/deck1/port)
"lm" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -8368,16 +8357,6 @@
"ra" = (
/turf/simulated/wall/bay/r_wall/steel,
/area/maintenance/stellardelight/deck1/exploration)
-"rb" = (
-/obj/machinery/button/remote/blast_door{
- dir = 8;
- id = "GatewayShutterW";
- name = "EVA Shutter";
- pixel_x = 23;
- req_one_access = list(18,19,43,67)
- },
-/turf/simulated/floor/tiled/techmaint,
-/area/stellardelight/deck1/port)
"rc" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 6
@@ -9980,24 +9959,6 @@
},
/turf/simulated/floor/tiled/techmaint,
/area/stellardelight/deck1/starboard)
-"uD" = (
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/machinery/status_display{
- pixel_y = 32
- },
-/turf/simulated/floor/tiled/techmaint,
-/area/stellardelight/deck1/port)
"uF" = (
/obj/structure/cable/green{
color = "#42038a";
@@ -14542,6 +14503,9 @@
dir = 8
},
/obj/machinery/recharge_station,
+/obj/machinery/alarm/angled{
+ dir = 8
+ },
/turf/simulated/floor/tiled/techmaint,
/area/stellardelight/deck1/port)
"EM" = (
@@ -17019,6 +16983,7 @@
/area/crew_quarters/toilet)
"Kj" = (
/obj/machinery/portable_atmospherics/canister/oxygen,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/tiled/eris/white/gray_platform,
/area/gateway)
"Kk" = (
@@ -17665,6 +17630,7 @@
/obj/item/clothing/shoes/magboots,
/obj/item/clothing/shoes/magboots,
/obj/item/clothing/shoes/magboots,
+/obj/machinery/atmospherics/unary/vent_pump/on,
/turf/simulated/floor/tiled/eris/white/gray_platform,
/area/gateway)
"LE" = (
@@ -17819,7 +17785,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/obj/machinery/alarm/angled,
/obj/structure/disposalpipe/sortjunction{
dir = 4;
name = "Resleeving";
@@ -20697,6 +20662,7 @@
/obj/machinery/alarm/angled{
dir = 8
},
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/tiled/eris/white/gray_platform,
/area/gateway)
"Sf" = (
@@ -22083,14 +22049,11 @@
/turf/simulated/floor/tiled/steel_ridged,
/area/maintenance/stellardelight/substation/research)
"UY" = (
-/obj/machinery/suit_cycler/engineering{
- req_access = null
+/obj/machinery/status_display{
+ pixel_y = 32
},
-/obj/machinery/atmospherics/unary/vent_pump/on{
- dir = 4
- },
-/turf/simulated/floor/tiled/eris/white/gray_platform,
-/area/gateway)
+/turf/simulated/floor/tiled/eris/dark/danger,
+/area/stellardelight/deck1/port)
"UZ" = (
/obj/structure/cable{
icon_state = "2-8"
@@ -23378,6 +23341,7 @@
/obj/machinery/light{
dir = 4
},
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/tiled/eris/white/gray_platform,
/area/gateway)
"XF" = (
@@ -33220,9 +33184,9 @@ KV
KV
KV
EO
-hL
-rb
-hL
+YT
+YT
+YT
YT
WF
Pt
@@ -33362,10 +33326,10 @@ MA
Zt
gj
Ku
-hY
Ku
hY
-Ku
+hY
+hY
LV
EN
EN
@@ -33504,11 +33468,11 @@ WB
DY
ZE
Ku
-ca
-UY
-nD
Ku
-uD
+UY
+hL
+hY
+Rk
YT
at
KL
@@ -33646,10 +33610,10 @@ Ku
Ku
Ku
Ku
-cc
+Ku
+Ku
ll
-nD
-YM
+hY
Rk
rw
Ep
@@ -33787,11 +33751,11 @@ Ku
Kt
Ca
vQ
-nD
+ca
hX
-nD
-nD
-YM
+Ku
+Ku
+Ku
Rk
kU
ER
@@ -33930,7 +33894,7 @@ LD
Se
XE
Kj
-hX
+cc
nD
uM
YM
diff --git a/maps/tether/tether-01-surface1.dmm b/maps/tether/tether-01-surface1.dmm
index e078c7644d..95613fb8c3 100644
--- a/maps/tether/tether-01-surface1.dmm
+++ b/maps/tether/tether-01-surface1.dmm
@@ -4614,20 +4614,7 @@
/turf/simulated/floor/tiled,
/area/hallway/lower/first_west)
"ahN" = (
-/obj/effect/floor_decal/borderfloor{
- dir = 1
- },
-/obj/effect/floor_decal/corner/lightgrey/border{
- dir = 1
- },
-/obj/effect/floor_decal/steeldecal/steel_decals7,
-/obj/effect/floor_decal/steeldecal/steel_decals7{
- dir = 4
- },
-/obj/machinery/station_map{
- pixel_y = 32
- },
-/turf/simulated/floor/tiled,
+/turf/simulated/floor/reinforced,
/area/hallway/lower/first_west)
"ahO" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -8168,24 +8155,15 @@
/obj/effect/floor_decal/corner/lightgrey/bordercorner2{
dir = 4
},
-/turf/simulated/floor/tiled,
-/area/hallway/lower/first_west)
-"anA" = (
/obj/machinery/alarm{
pixel_y = 22
},
-/obj/effect/floor_decal/borderfloor{
- dir = 1
- },
-/obj/effect/floor_decal/corner/lightgrey/border{
- dir = 1
- },
-/obj/effect/floor_decal/steeldecal/steel_decals7,
-/obj/effect/floor_decal/steeldecal/steel_decals7{
- dir = 4
- },
/turf/simulated/floor/tiled,
/area/hallway/lower/first_west)
+"anA" = (
+/obj/structure/redgate,
+/turf/simulated/floor/reinforced,
+/area/hallway/lower/first_west)
"anB" = (
/obj/effect/floor_decal/borderfloor{
dir = 1
@@ -37025,8 +37003,11 @@
/obj/effect/floor_decal/steeldecal/steel_decals7{
dir = 4
},
-/obj/effect/mouse_hole_spawner{
- dir = 1
+/obj/machinery/station_map{
+ pixel_y = 32
+ },
+/obj/machinery/station_map{
+ pixel_y = 32
},
/turf/simulated/floor/tiled,
/area/hallway/lower/first_west)
@@ -38782,6 +38763,27 @@
/obj/machinery/door/airlock/atmos,
/turf/simulated/floor/plating,
/area/engineering/atmos/processing)
+"uyf" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor,
+/obj/effect/floor_decal/corner/lightgrey/border,
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 8
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals7{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/mouse_hole_spawner,
+/turf/simulated/floor/tiled,
+/area/hallway/lower/first_west)
"uzs" = (
/obj/machinery/light{
dir = 8
@@ -47011,11 +47013,11 @@ ahl
ahl
ahl
ahl
-aah
-aah
-aah
ahl
-anA
+ahN
+ahN
+ahN
+ahL
anP
adu
ahl
@@ -47153,10 +47155,10 @@ aah
aah
aah
aah
-aah
-aah
-aah
ahl
+ahN
+anA
+ahN
ahL
acV
adF
@@ -47295,11 +47297,11 @@ aah
aah
aah
aah
-aah
-aah
-aah
ahl
ahN
+ahN
+ahN
+ahL
anP
adu
ahl
@@ -47437,9 +47439,9 @@ aah
aah
aah
aah
-aah
-aah
-aah
+ahl
+ahl
+ahl
ahl
kJP
anP
@@ -47585,7 +47587,7 @@ aah
ahl
pDY
anP
-adu
+uyf
ahl
apj
apj