From 95a804b3608503889244dd47091919da78afa649 Mon Sep 17 00:00:00 2001 From: forest2001 Date: Wed, 20 Dec 2023 14:43:03 +0000 Subject: [PATCH] hijack fix? --- code/__DEFINES/dcs/signals/signals_global.dm | 1 + code/controllers/subsystem/ticker.dm | 2 ++ code/modules/shuttle/dropship_hijack.dm | 4 +++- code/modules/shuttle/shuttles/dropship.dm | 1 + 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/code/__DEFINES/dcs/signals/signals_global.dm b/code/__DEFINES/dcs/signals/signals_global.dm index 31e4c34e3016..5569ded71586 100644 --- a/code/__DEFINES/dcs/signals/signals_global.dm +++ b/code/__DEFINES/dcs/signals/signals_global.dm @@ -70,3 +70,4 @@ #define COMSIG_GLOB_GENERATOR_SET_OVERLOADING "!generator_set_overloading" #define COMSIG_GLOB_HIJACK_IMPACTED "!hijack_impacted" +#define COMSIG_GLOB_HIJACK_LANDED "!hijack_landed" diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 4b4468c08429..809c9796e4a8 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -478,6 +478,8 @@ SUBSYSTEM_DEF(ticker) winset(C, null, "mainwindow.icon=[SSticker.mode.taskbar_icon]") +/datum/controller/subsystem/ticker/proc/hijack_wait() + addtimer(CALLBACK(SSticker, PROC_REF(hijack_ocurred)), 20 SECONDS) /datum/controller/subsystem/ticker/proc/hijack_ocurred() if(mode) diff --git a/code/modules/shuttle/dropship_hijack.dm b/code/modules/shuttle/dropship_hijack.dm index d82e722f3e59..db9ff6907118 100644 --- a/code/modules/shuttle/dropship_hijack.dm +++ b/code/modules/shuttle/dropship_hijack.dm @@ -51,6 +51,7 @@ // Break the ultra-reinforced windows. // Break the briefing windows. SEND_GLOBAL_SIGNAL(COMSIG_GLOB_HIJACK_IMPACTED) + RegisterSignal(SSdcs, COMSIG_GLOB_HIJACK_LANDED, PROC_REF(finish_landing)) // Sleep while the explosions do their job var/explosion_alive = TRUE @@ -62,8 +63,9 @@ break sleep(10) +/datum/dropship_hijack/almayer/proc/finish_landing() SShijack.announce_status_on_crash() - addtimer(CALLBACK(SSticker, PROC_REF(hijack_ocurred)), 5 SECONDS) + SSticker.hijack_ocurred() /datum/dropship_hijack/almayer/proc/fire() if(!shuttle || !crash_site) diff --git a/code/modules/shuttle/shuttles/dropship.dm b/code/modules/shuttle/shuttles/dropship.dm index ee91c9b9e5d4..105c0e122234 100644 --- a/code/modules/shuttle/shuttles/dropship.dm +++ b/code/modules/shuttle/shuttles/dropship.dm @@ -284,6 +284,7 @@ affected_mob.apply_effect(3, WEAKEN) SEND_GLOBAL_SIGNAL(COMSIG_GLOB_GROUNDSIDE_FORSAKEN_HANDLING) + SEND_GLOBAL_SIGNAL(COMSIG_GLOB_HIJACK_LANDED) /datum/map_template/shuttle/alamo name = "Alamo"