[s] Fixes Mechs Protecting Their Pilots From the Crushing Force of a 2 000 Metric Ton Shuttlecraft. (#26211)

* Update shuttle.dm

* async

* Update code/game/mecha/mecha.dm

Co-authored-by: Matt <116982774+Burzah@users.noreply.github.com>
Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com>

---------

Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com>
Co-authored-by: Matt <116982774+Burzah@users.noreply.github.com>
This commit is contained in:
CRUNCH
2024-07-15 22:00:17 +00:00
committed by GitHub
co-authored by Matt
parent 8c908de72b
commit d42ef64230
2 changed files with 17 additions and 0 deletions
+12
View File
@@ -1317,6 +1317,18 @@
/obj/mecha/force_eject_occupant(mob/target)
go_out()
// Called when a shuttle lands on top of the mech. Prevents the mech from just dropping the pilot unharmed inside the shuttle when destroyed.
/obj/mecha/proc/get_out_and_die()
var/mob/living/pilot = occupant
pilot.visible_message(
"<span class='warning'>[src] is hit by a hyperspace ripple!</span>",
"<span class='userdanger'>You feel an immense crushing pressure as the space around you ripples.</span>"
)
go_out(TRUE)
if(iscarbon(pilot))
pilot.gib()
qdel(src)
/////////////////////////
////// MARK: Access stuff
/////////////////////////
+5
View File
@@ -640,6 +640,11 @@
var/obj/machinery/atmospherics/supermatter_crystal/bakoom = AM
addtimer(CALLBACK(bakoom, TYPE_PROC_REF(/obj/machinery/atmospherics/supermatter_crystal, explode), bakoom.combined_gas, bakoom.power, bakoom.gasmix_power_ratio), 1 SECONDS)
continue
// Your mech will not save you.
if(ismecha(AM))
var/obj/mecha/mech = AM
if(mech.occupant)
INVOKE_ASYNC(mech, TYPE_PROC_REF(/obj/mecha, get_out_and_die))
if(ismob(AM))
var/mob/M = AM
if(M.buckled)