From 379b93e122e6b389cb0cc70a654700e313fa8c77 Mon Sep 17 00:00:00 2001
From: simb11 <84613249+simb11@users.noreply.github.com>
Date: Wed, 3 Jan 2024 19:11:12 +0100
Subject: [PATCH 1/9] 321
---
code/controllers/subsystem/shuttles.dm | 110 +++++++-------------
code/modules/locations/shuttles/Intercom.dm | 8 ++
2 files changed, 43 insertions(+), 75 deletions(-)
diff --git a/code/controllers/subsystem/shuttles.dm b/code/controllers/subsystem/shuttles.dm
index 5d23c5bc557c..6cc152ccb34f 100644
--- a/code/controllers/subsystem/shuttles.dm
+++ b/code/controllers/subsystem/shuttles.dm
@@ -141,7 +141,7 @@ SUBSYSTEM_DEF(shuttle)
//pods
start_location = locate(/area/shuttle/escape_pod1/transit)
end_location = locate(/area/shuttle/escape_pod1/centcom)
- if(prob(5)) // 5% that they survive
+ if((prob(5)) || check_emag(start_location)) // 5% that they survive
start_location.move_contents_to(end_location, null, NORTH)
dock_act(end_location, "pod1")
dock_act(/area/centcom/evac, "pod1")
@@ -150,7 +150,7 @@ SUBSYSTEM_DEF(shuttle)
start_location = locate(/area/shuttle/escape_pod2/transit)
end_location = locate(/area/shuttle/escape_pod2/centcom)
- if(prob(5)) // 5% that they survive
+ if((prob(5)) || check_emag(start_location)) // 5% that they survive
start_location.move_contents_to(end_location, null, NORTH)
dock_act(end_location, "pod2")
dock_act(/area/centcom/evac, "pod2")
@@ -159,7 +159,7 @@ SUBSYSTEM_DEF(shuttle)
start_location = locate(/area/shuttle/escape_pod3/transit)
end_location = locate(/area/shuttle/escape_pod3/centcom)
- if(prob(5)) // 5% that they survive
+ if((prob(5)) || check_emag(start_location)) // 5% that they survive
start_location.move_contents_to(end_location, null, NORTH)
dock_act(end_location, "pod3")
dock_act(/area/centcom/evac, "pod3")
@@ -168,7 +168,7 @@ SUBSYSTEM_DEF(shuttle)
start_location = locate(/area/shuttle/escape_pod4/transit)
end_location = locate(/area/shuttle/escape_pod4/centcom)
- if(prob(5)) // 5% that they survive
+ if((prob(5)) || check_emag(start_location)) // 5% that they survive
start_location.move_contents_to(end_location, null, NORTH)
dock_act(end_location, "pod4")
dock_act(/area/centcom/evac, "pod4")
@@ -276,77 +276,13 @@ SUBSYSTEM_DEF(shuttle)
shake_mobs_in_area(end_location, SOUTH)
//pods
- if(alert == 0) // Crew Transfer not for pods
-
- var/ep_shot_sound_type = 'sound/effects/escape_shuttle/ep_lucky_shot.ogg' // successful undocking, clean flight, yay!
- if(prob(33))
- ep_shot_sound_type = 'sound/effects/escape_shuttle/ep_unlucky_shot.ogg' // the escape pod almost crashed into something, damn it!
- start_location = locate(/area/shuttle/escape_pod1/station)
- end_location = locate(/area/shuttle/escape_pod1/transit)
- end_location.parallax_movedir = EAST
- start_location.move_contents_to(end_location, null, NORTH)
- undock_act(start_location, "pod1")
- undock_act(/area/station/maintenance/chapel || /area/station/maintenance/bridge, "pod1")
-
- for(var/mob/M in end_location)
- M.playsound_local(null, ep_shot_sound_type, VOL_EFFECTS_MASTER, null, FALSE)
- shake_mobs_in_area(end_location, WEST)
-
- start_location = locate(/area/shuttle/escape_pod2/station)
- end_location = locate(/area/shuttle/escape_pod2/transit)
- end_location.parallax_movedir = EAST
- start_location.move_contents_to(end_location, null, NORTH)
- undock_act(start_location, "pod2")
- undock_act(/area/station/maintenance/medbay || /area/station/maintenance/bridge || /area/station/civilian/gym, "pod2")
-
- for(var/mob/M in end_location)
- M.playsound_local(null, ep_shot_sound_type, VOL_EFFECTS_MASTER, null, FALSE)
- shake_mobs_in_area(end_location, WEST)
-
- start_location = locate(/area/shuttle/escape_pod3/station)
- end_location = locate(/area/shuttle/escape_pod3/transit)
- end_location.parallax_movedir = EAST
- start_location.move_contents_to(end_location, null, NORTH)
- undock_act(start_location, "pod3")
- undock_act(/area/station/maintenance/dormitory || /area/station/maintenance/brig || /area/station/security/prison, "pod3")
-
- for(var/mob/M in end_location)
- M.playsound_local(null, ep_shot_sound_type, VOL_EFFECTS_MASTER, null, FALSE)
- shake_mobs_in_area(end_location, WEST)
-
- start_location = locate(/area/shuttle/escape_pod4/station)
- end_location = locate(/area/shuttle/escape_pod4/transit)
- end_location.parallax_movedir = WEST
- start_location.move_contents_to(end_location, null, EAST)
- undock_act(start_location, "pod4")
- undock_act(/area/station/maintenance/engineering || /area/station/maintenance/brig, "pod4")
-
- for(var/mob/M in end_location)
- M.playsound_local(null, ep_shot_sound_type, VOL_EFFECTS_MASTER, null, FALSE)
- shake_mobs_in_area(end_location, EAST)
-
- start_location = locate(/area/shuttle/escape_pod5/station)
- end_location = locate(/area/shuttle/escape_pod5/transit)
- end_location.parallax_movedir = NORTH
- start_location.move_contents_to(end_location, null, SOUTH)
- undock_act(start_location, "pod5")
- undock_act(/area/station/hallway/secondary/entry, "pod5")
-
- for(var/mob/M in end_location)
- M.playsound_local(null, ep_shot_sound_type, VOL_EFFECTS_MASTER, null, FALSE)
- shake_mobs_in_area(end_location, SOUTH)
-
- start_location = locate(/area/shuttle/escape_pod6/station)
- end_location = locate(/area/shuttle/escape_pod6/transit)
- end_location.parallax_movedir = NORTH
- start_location.move_contents_to(end_location, null, SOUTH)
- undock_act(start_location, "pod6")
- undock_act(/area/station/hallway/secondary/entry, "pod6")
-
- for(var/mob/M in end_location)
- M.playsound_local(null, ep_shot_sound_type, VOL_EFFECTS_MASTER, null, FALSE)
- shake_mobs_in_area(end_location, SOUTH)
-
+ try_launch_pod(/area/shuttle/escape_pod1/station, /area/shuttle/escape_pod1/transit, EAST, NORTH, WEST, "pod1")
+ try_launch_pod(/area/shuttle/escape_pod2/station, /area/shuttle/escape_pod2/transit, EAST, NORTH, WEST, "pod2")
+ try_launch_pod(/area/shuttle/escape_pod3/station, /area/shuttle/escape_pod3/transit, EAST, NORTH, WEST, "pod3")
+ try_launch_pod(/area/shuttle/escape_pod4/station, /area/shuttle/escape_pod4/transit, WEST, EAST, EAST, "pod4")
+ try_launch_pod(/area/shuttle/escape_pod5/station, /area/shuttle/escape_pod5/transit, NORTH, SOUTH, SOUTH, "pod5")
+ try_launch_pod(/area/shuttle/escape_pod6/station, /area/shuttle/escape_pod6/transit, NORTH, SOUTH, SOUTH, "pod6")
+ if(alert == 0)
announce_emer_left.play()
else
announce_crew_left.play()
@@ -665,6 +601,30 @@ SUBSYSTEM_DEF(shuttle)
endtime = REALTIMEOFDAY + (get_shuttle_arrive_time()*10 - ticksleft)
return
+/datum/controller/subsystem/shuttle/proc/check_emag(area/escape_pod)
+ var/obj/item/device/radio/intercom/pod/int = locate(/obj/item/device/radio/intercom/pod) in escape_pod
+ if(int.emagged)
+ return TRUE
+ else
+ return FALSE
+
+/datum/controller/subsystem/shuttle/proc/try_launch_pod(area/escape_pod_start, area/escape_pod_end, parallax_dir, move_content_dir, shake_dir, loc_name)
+ if(!locate(escape_pod_start) in world)
+ return
+ var/area/start = locate(escape_pod_start)
+ var/area/transit = locate(escape_pod_end)
+ if((alert == 0) || (check_emag(start)))
+ var/ep_shot_sound_type = 'sound/effects/escape_shuttle/ep_lucky_shot.ogg'
+ if(prob(33))
+ ep_shot_sound_type = 'sound/effects/escape_shuttle/ep_unlucky_shot.ogg'
+ transit.parallax_movedir = parallax_dir
+ start.move_contents_to(transit, null, move_content_dir)
+ for(var/mob/M in transit)
+ M.playsound_local(null, ep_shot_sound_type, VOL_EFFECTS_MASTER, null, FALSE)
+ shake_mobs_in_area(transit, shake_dir)
+ undock_act(start, loc_name)
+
+
/datum/controller/subsystem/shuttle/proc/set_eta_timeofday(flytime = SSshuttle.movetime)
eta_timeofday = (REALTIMEOFDAY + flytime) % MIDNIGHT_ROLLOVER
diff --git a/code/modules/locations/shuttles/Intercom.dm b/code/modules/locations/shuttles/Intercom.dm
index 19cba227930d..56da7ba2fdf0 100644
--- a/code/modules/locations/shuttles/Intercom.dm
+++ b/code/modules/locations/shuttles/Intercom.dm
@@ -2,3 +2,11 @@
name = "station intercom"
icon = 'icons/locations/shuttles/intercom.dmi'
icon_state = "intercom"
+ var/emagged = FALSE
+
+/obj/item/device/radio/intercom/pod/emag_act(mob/user)
+ if(emagged)
+ return FALSE
+ to_chat(user, "On the small screen you see a message: Launch is possible without an activated evacuation system; a better route has been selected. Have a nice flight, Agent Doe!")
+ playsound(src, 'sound/effects/sparks4.ogg', VOL_EFFECTS_MASTER)
+ emagged = TRUE
From 15a9c6cf338cb8c4f5cf2aea6b1ab9e377c1bfd7 Mon Sep 17 00:00:00 2001
From: simb11 <84613249+simb11@users.noreply.github.com>
Date: Wed, 3 Jan 2024 19:44:14 +0100
Subject: [PATCH 2/9] Update shuttles.dm
---
code/controllers/subsystem/shuttles.dm | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/code/controllers/subsystem/shuttles.dm b/code/controllers/subsystem/shuttles.dm
index 6cc152ccb34f..893a66aa5cb1 100644
--- a/code/controllers/subsystem/shuttles.dm
+++ b/code/controllers/subsystem/shuttles.dm
@@ -276,12 +276,12 @@ SUBSYSTEM_DEF(shuttle)
shake_mobs_in_area(end_location, SOUTH)
//pods
- try_launch_pod(/area/shuttle/escape_pod1/station, /area/shuttle/escape_pod1/transit, EAST, NORTH, WEST, "pod1")
- try_launch_pod(/area/shuttle/escape_pod2/station, /area/shuttle/escape_pod2/transit, EAST, NORTH, WEST, "pod2")
- try_launch_pod(/area/shuttle/escape_pod3/station, /area/shuttle/escape_pod3/transit, EAST, NORTH, WEST, "pod3")
- try_launch_pod(/area/shuttle/escape_pod4/station, /area/shuttle/escape_pod4/transit, WEST, EAST, EAST, "pod4")
- try_launch_pod(/area/shuttle/escape_pod5/station, /area/shuttle/escape_pod5/transit, NORTH, SOUTH, SOUTH, "pod5")
- try_launch_pod(/area/shuttle/escape_pod6/station, /area/shuttle/escape_pod6/transit, NORTH, SOUTH, SOUTH, "pod6")
+ try_launch_pod(/area/shuttle/escape_pod1/station, /area/shuttle/escape_pod1/transit, EAST, WEST, "pod1")
+ try_launch_pod(/area/shuttle/escape_pod2/station, /area/shuttle/escape_pod2/transit, EAST, WEST, "pod2")
+ try_launch_pod(/area/shuttle/escape_pod3/station, /area/shuttle/escape_pod3/transit, EAST, WEST, "pod3")
+ try_launch_pod(/area/shuttle/escape_pod4/station, /area/shuttle/escape_pod4/transit, WEST, EAST, "pod4")
+ try_launch_pod(/area/shuttle/escape_pod5/station, /area/shuttle/escape_pod5/transit, NORTH, SOUTH, "pod5")
+ try_launch_pod(/area/shuttle/escape_pod6/station, /area/shuttle/escape_pod6/transit, NORTH, SOUTH, "pod6")
if(alert == 0)
announce_emer_left.play()
else
@@ -608,7 +608,7 @@ SUBSYSTEM_DEF(shuttle)
else
return FALSE
-/datum/controller/subsystem/shuttle/proc/try_launch_pod(area/escape_pod_start, area/escape_pod_end, parallax_dir, move_content_dir, shake_dir, loc_name)
+/datum/controller/subsystem/shuttle/proc/try_launch_pod(area/escape_pod_start, area/escape_pod_end, move_content_dir, shake_dir, loc_name)
if(!locate(escape_pod_start) in world)
return
var/area/start = locate(escape_pod_start)
@@ -617,7 +617,7 @@ SUBSYSTEM_DEF(shuttle)
var/ep_shot_sound_type = 'sound/effects/escape_shuttle/ep_lucky_shot.ogg'
if(prob(33))
ep_shot_sound_type = 'sound/effects/escape_shuttle/ep_unlucky_shot.ogg'
- transit.parallax_movedir = parallax_dir
+ transit.parallax_movedir = move_content_dir
start.move_contents_to(transit, null, move_content_dir)
for(var/mob/M in transit)
M.playsound_local(null, ep_shot_sound_type, VOL_EFFECTS_MASTER, null, FALSE)
From 32628a8ec48c9b05b19ea00437dd4b0306367fea Mon Sep 17 00:00:00 2001
From: simb11 <84613249+simb11@users.noreply.github.com>
Date: Sat, 6 Jan 2024 21:58:39 +0100
Subject: [PATCH 3/9] Update code/controllers/subsystem/shuttles.dm
Co-authored-by: KandreyKandrey <126669846+KandreyKandrey@users.noreply.github.com>
---
code/controllers/subsystem/shuttles.dm | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/code/controllers/subsystem/shuttles.dm b/code/controllers/subsystem/shuttles.dm
index 893a66aa5cb1..587b8cbf6379 100644
--- a/code/controllers/subsystem/shuttles.dm
+++ b/code/controllers/subsystem/shuttles.dm
@@ -603,10 +603,7 @@ SUBSYSTEM_DEF(shuttle)
/datum/controller/subsystem/shuttle/proc/check_emag(area/escape_pod)
var/obj/item/device/radio/intercom/pod/int = locate(/obj/item/device/radio/intercom/pod) in escape_pod
- if(int.emagged)
- return TRUE
- else
- return FALSE
+ return int.emagged
/datum/controller/subsystem/shuttle/proc/try_launch_pod(area/escape_pod_start, area/escape_pod_end, move_content_dir, shake_dir, loc_name)
if(!locate(escape_pod_start) in world)
From e59c58a33a91af95c4e746e7e86e142ffafac108 Mon Sep 17 00:00:00 2001
From: simb11 <84613249+simb11@users.noreply.github.com>
Date: Thu, 11 Jan 2024 18:56:46 +0100
Subject: [PATCH 4/9] Update shuttles.dm
---
code/controllers/subsystem/shuttles.dm | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/code/controllers/subsystem/shuttles.dm b/code/controllers/subsystem/shuttles.dm
index 587b8cbf6379..7a43db2738ab 100644
--- a/code/controllers/subsystem/shuttles.dm
+++ b/code/controllers/subsystem/shuttles.dm
@@ -141,7 +141,7 @@ SUBSYSTEM_DEF(shuttle)
//pods
start_location = locate(/area/shuttle/escape_pod1/transit)
end_location = locate(/area/shuttle/escape_pod1/centcom)
- if((prob(5)) || check_emag(start_location)) // 5% that they survive
+ if(prob(5) || check_emag(start_location)) // 5% that they survive
start_location.move_contents_to(end_location, null, NORTH)
dock_act(end_location, "pod1")
dock_act(/area/centcom/evac, "pod1")
@@ -150,7 +150,7 @@ SUBSYSTEM_DEF(shuttle)
start_location = locate(/area/shuttle/escape_pod2/transit)
end_location = locate(/area/shuttle/escape_pod2/centcom)
- if((prob(5)) || check_emag(start_location)) // 5% that they survive
+ if(prob(5) || check_emag(start_location)) // 5% that they survive
start_location.move_contents_to(end_location, null, NORTH)
dock_act(end_location, "pod2")
dock_act(/area/centcom/evac, "pod2")
@@ -159,7 +159,7 @@ SUBSYSTEM_DEF(shuttle)
start_location = locate(/area/shuttle/escape_pod3/transit)
end_location = locate(/area/shuttle/escape_pod3/centcom)
- if((prob(5)) || check_emag(start_location)) // 5% that they survive
+ if(prob(5) || check_emag(start_location)) // 5% that they survive
start_location.move_contents_to(end_location, null, NORTH)
dock_act(end_location, "pod3")
dock_act(/area/centcom/evac, "pod3")
@@ -168,7 +168,7 @@ SUBSYSTEM_DEF(shuttle)
start_location = locate(/area/shuttle/escape_pod4/transit)
end_location = locate(/area/shuttle/escape_pod4/centcom)
- if((prob(5)) || check_emag(start_location)) // 5% that they survive
+ if(prob(5) || check_emag(start_location)) // 5% that they survive
start_location.move_contents_to(end_location, null, NORTH)
dock_act(end_location, "pod4")
dock_act(/area/centcom/evac, "pod4")
From 17b19220b9db87af737883b38bfeef4956bfb442 Mon Sep 17 00:00:00 2001
From: simb11 <84613249+simb11@users.noreply.github.com>
Date: Sat, 13 Jan 2024 22:22:13 +0100
Subject: [PATCH 5/9] undc
---
code/controllers/subsystem/shuttles.dm | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/code/controllers/subsystem/shuttles.dm b/code/controllers/subsystem/shuttles.dm
index 7a43db2738ab..b13172537c63 100644
--- a/code/controllers/subsystem/shuttles.dm
+++ b/code/controllers/subsystem/shuttles.dm
@@ -283,6 +283,12 @@ SUBSYSTEM_DEF(shuttle)
try_launch_pod(/area/shuttle/escape_pod5/station, /area/shuttle/escape_pod5/transit, NORTH, SOUTH, "pod5")
try_launch_pod(/area/shuttle/escape_pod6/station, /area/shuttle/escape_pod6/transit, NORTH, SOUTH, "pod6")
if(alert == 0)
+ undock_act(/area/station/maintenance/chapel || /area/station/maintenance/bridge, "pod1")
+ undock_act(/area/station/maintenance/medbay || /area/station/maintenance/bridge || /area/station/civilian/gym, "pod2")
+ undock_act(/area/station/maintenance/dormitory || /area/station/maintenance/brig || /area/station/security/prison, "pod3")
+ undock_act(/area/station/maintenance/engineering || /area/station/maintenance/brig, "pod4")
+ undock_act(/area/station/hallway/secondary/entry, "pod5")
+ undock_act(/area/station/hallway/secondary/entry, "pod6")
announce_emer_left.play()
else
announce_crew_left.play()
From c02457c0bdf4e8ecf73e581f18d1405e712c0419 Mon Sep 17 00:00:00 2001
From: simb11 <84613249+simb11@users.noreply.github.com>
Date: Tue, 16 Jan 2024 16:22:08 +0100
Subject: [PATCH 6/9] Update shuttles.dm
---
code/controllers/subsystem/shuttles.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/controllers/subsystem/shuttles.dm b/code/controllers/subsystem/shuttles.dm
index b13172537c63..5bfedcec72f9 100644
--- a/code/controllers/subsystem/shuttles.dm
+++ b/code/controllers/subsystem/shuttles.dm
@@ -616,7 +616,7 @@ SUBSYSTEM_DEF(shuttle)
return
var/area/start = locate(escape_pod_start)
var/area/transit = locate(escape_pod_end)
- if((alert == 0) || (check_emag(start)))
+ if(alert == 0 || check_emag(start))
var/ep_shot_sound_type = 'sound/effects/escape_shuttle/ep_lucky_shot.ogg'
if(prob(33))
ep_shot_sound_type = 'sound/effects/escape_shuttle/ep_unlucky_shot.ogg'
From 07670facd92068365281683270355e68d477eb86 Mon Sep 17 00:00:00 2001
From: simb11 <84613249+simb11@users.noreply.github.com>
Date: Wed, 17 Jan 2024 22:29:37 +0100
Subject: [PATCH 7/9] Update shuttles.dm
---
code/controllers/subsystem/shuttles.dm | 52 ++++++++------------------
1 file changed, 15 insertions(+), 37 deletions(-)
diff --git a/code/controllers/subsystem/shuttles.dm b/code/controllers/subsystem/shuttles.dm
index 5bfedcec72f9..05784e0e7f35 100644
--- a/code/controllers/subsystem/shuttles.dm
+++ b/code/controllers/subsystem/shuttles.dm
@@ -138,43 +138,12 @@ SUBSYSTEM_DEF(shuttle)
dock_act(end_location, "shuttle_escape")
dock_act(/area/centcom/evac, "shuttle_escape")
- //pods
- start_location = locate(/area/shuttle/escape_pod1/transit)
- end_location = locate(/area/shuttle/escape_pod1/centcom)
- if(prob(5) || check_emag(start_location)) // 5% that they survive
- start_location.move_contents_to(end_location, null, NORTH)
- dock_act(end_location, "pod1")
- dock_act(/area/centcom/evac, "pod1")
-
- shake_mobs_in_area(end_location, EAST)
-
- start_location = locate(/area/shuttle/escape_pod2/transit)
- end_location = locate(/area/shuttle/escape_pod2/centcom)
- if(prob(5) || check_emag(start_location)) // 5% that they survive
- start_location.move_contents_to(end_location, null, NORTH)
- dock_act(end_location, "pod2")
- dock_act(/area/centcom/evac, "pod2")
-
- shake_mobs_in_area(end_location, EAST)
-
- start_location = locate(/area/shuttle/escape_pod3/transit)
- end_location = locate(/area/shuttle/escape_pod3/centcom)
- if(prob(5) || check_emag(start_location)) // 5% that they survive
- start_location.move_contents_to(end_location, null, NORTH)
- dock_act(end_location, "pod3")
- dock_act(/area/centcom/evac, "pod3")
-
- shake_mobs_in_area(end_location, EAST)
-
- start_location = locate(/area/shuttle/escape_pod4/transit)
- end_location = locate(/area/shuttle/escape_pod4/centcom)
- if(prob(5) || check_emag(start_location)) // 5% that they survive
- start_location.move_contents_to(end_location, null, NORTH)
- dock_act(end_location, "pod4")
- dock_act(/area/centcom/evac, "pod4")
-
- shake_mobs_in_area(end_location, WEST)
+ //pods
+ pod_docking(/area/shuttle/escape_pod1/transit, /area/shuttle/escape_pod1/centcom, "pod1")
+ pod_docking(/area/shuttle/escape_pod2/transit, /area/shuttle/escape_pod2/centcom, "pod2")
+ pod_docking(/area/shuttle/escape_pod3/transit, /area/shuttle/escape_pod3/centcom, "pod3")
+ pod_docking(/area/shuttle/escape_pod4/transit, /area/shuttle/escape_pod4/centcom, "pod4")
online = 0
return TRUE
@@ -612,7 +581,7 @@ SUBSYSTEM_DEF(shuttle)
return int.emagged
/datum/controller/subsystem/shuttle/proc/try_launch_pod(area/escape_pod_start, area/escape_pod_end, move_content_dir, shake_dir, loc_name)
- if(!locate(escape_pod_start) in world)
+ if(!locate(escape_pod_start) in all_areas)
return
var/area/start = locate(escape_pod_start)
var/area/transit = locate(escape_pod_end)
@@ -627,6 +596,15 @@ SUBSYSTEM_DEF(shuttle)
shake_mobs_in_area(transit, shake_dir)
undock_act(start, loc_name)
+/datum/controller/subsystem/shuttle/proc/pod_docking(area/start, area/end, loc_name)
+ var/area/transit = locate(start)
+ var/area/centcom = locate(end)
+ if(prob(5) || check_emag(transit)) // 5% that they survive
+ transit.move_contents_to(centcom, null, NORTH)
+ dock_act(centcom, loc_name)
+ dock_act(/area/centcom/evac, loc_name)
+ shake_mobs_in_area(centcom, EAST)
+
/datum/controller/subsystem/shuttle/proc/set_eta_timeofday(flytime = SSshuttle.movetime)
eta_timeofday = (REALTIMEOFDAY + flytime) % MIDNIGHT_ROLLOVER
From 0504ec8429cf05f304083108279a7ee76324e845 Mon Sep 17 00:00:00 2001
From: simb11 <84613249+simb11@users.noreply.github.com>
Date: Mon, 19 Feb 2024 16:22:39 +0100
Subject: [PATCH 8/9] Update escape.dm
---
code/game/gamemodes/objectives/escape.dm | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/code/game/gamemodes/objectives/escape.dm b/code/game/gamemodes/objectives/escape.dm
index 2850d80773e3..b14d1d14c854 100644
--- a/code/game/gamemodes/objectives/escape.dm
+++ b/code/game/gamemodes/objectives/escape.dm
@@ -30,5 +30,9 @@
return OBJECTIVE_WIN
if(istype(check_area, /area/shuttle/escape_pod4/centcom))
return OBJECTIVE_WIN
+ if(istype(check_area, /area/shuttle/escape_pod5/centcom))
+ return OBJECTIVE_WIN
+ if(istype(check_area, /area/shuttle/escape_pod6/centcom))
+ return OBJECTIVE_WIN
else
return OBJECTIVE_LOSS
From b026c3094391236d4edc602b8985f25ace1175e8 Mon Sep 17 00:00:00 2001
From: simb11 <84613249+simb11@users.noreply.github.com>
Date: Wed, 28 Feb 2024 19:38:37 +0100
Subject: [PATCH 9/9] Update shuttles.dm
---
code/controllers/subsystem/shuttles.dm | 2 ++
1 file changed, 2 insertions(+)
diff --git a/code/controllers/subsystem/shuttles.dm b/code/controllers/subsystem/shuttles.dm
index 80ae78257d26..1a92be2a2c8f 100644
--- a/code/controllers/subsystem/shuttles.dm
+++ b/code/controllers/subsystem/shuttles.dm
@@ -578,6 +578,8 @@ SUBSYSTEM_DEF(shuttle)
/datum/controller/subsystem/shuttle/proc/check_emag(area/escape_pod)
var/obj/item/device/radio/intercom/pod/int = locate(/obj/item/device/radio/intercom/pod) in escape_pod
+ if(isnull(int))
+ return
return int.emagged
/datum/controller/subsystem/shuttle/proc/try_launch_pod(area/escape_pod_start, area/escape_pod_end, move_content_dir, shake_dir, loc_name)