diff --git a/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm b/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm index ce750e6a88..e7165fc136 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm @@ -3,6 +3,8 @@ #define CHALLENGE_MIN_PLAYERS 50 #define CHALLENGE_SHUTTLE_DELAY 15000 // 25 minutes, so the ops have at least 5 minutes before the shuttle is callable. +GLOBAL_LIST_EMPTY(jam_on_wardec) + /obj/item/device/nuclear_challenge name = "Declaration of War (Challenge Mode)" icon_state = "gangtool-red" @@ -54,6 +56,9 @@ var/obj/item/circuitboard/computer/syndicate_shuttle/board = V board.challenge = TRUE + for(var/obj/machinery/computer/camera_advanced/shuttle_docker/D in GLOB.jam_on_wardec) + D.jammed = TRUE + new /obj/item/device/radio/uplink/nuclear(get_turf(user), user.key, CHALLENGE_TELECRYSTALS) CONFIG_SET(number/shuttle_refuel_delay, max(CONFIG_GET(number/shuttle_refuel_delay), CHALLENGE_SHUTTLE_DELAY)) SSblackbox.record_feedback("amount", "nuclear_challenge_mode", 1) diff --git a/code/modules/ruins/spaceruin_code/caravanambush.dm b/code/modules/ruins/spaceruin_code/caravanambush.dm index 603af76f1a..bcbe74d896 100644 --- a/code/modules/ruins/spaceruin_code/caravanambush.dm +++ b/code/modules/ruins/spaceruin_code/caravanambush.dm @@ -53,6 +53,14 @@ shuttleId = "caravantrade1" possible_destinations = "whiteship_away;whiteship_home;whiteship_z4;whiteship_lavaland;caravantrade1_custom;caravantrade1_ambush" +/obj/machinery/computer/camera_advanced/shuttle_docker/caravan/Initialize() + . = ..() + GLOB.jam_on_wardec += src + +/obj/machinery/computer/camera_advanced/shuttle_docker/caravan/Destroy() + GLOB.jam_on_wardec -= src + return ..() + /obj/machinery/computer/camera_advanced/shuttle_docker/caravan/trade1 name = "Small Freighter Navigation Computer" desc = "Used to designate a precise transit location for the Small Freighter." @@ -163,4 +171,4 @@ jumpto_ports = list("caravansyndicate3_ambush" = 1, "caravansyndicate3_listeningpost" = 1) view_range = 10 x_offset = -1 - y_offset = -3 \ No newline at end of file + y_offset = -3 diff --git a/code/modules/shuttle/navigation_computer.dm b/code/modules/shuttle/navigation_computer.dm index e657cfde37..7eeee8f425 100644 --- a/code/modules/shuttle/navigation_computer.dm +++ b/code/modules/shuttle/navigation_computer.dm @@ -17,6 +17,7 @@ var/see_hidden = FALSE var/designate_time = 0 var/turf/designating_target_loc + var/jammed = FALSE /obj/machinery/computer/camera_advanced/shuttle_docker/Initialize() . = ..() @@ -26,6 +27,12 @@ . = ..() GLOB.navigation_computers -= src +/obj/machinery/computer/camera_advanced/shuttle_docker/attack_hand(mob/user) + if(jammed) + to_chat(user, "The Syndicate is jamming the console!") + return + return ..() + /obj/machinery/computer/camera_advanced/shuttle_docker/GrantActions(mob/living/user) if(jumpto_ports.len) jump_action = new /datum/action/innate/camera_jump/shuttle_docker diff --git a/code/modules/shuttle/white_ship.dm b/code/modules/shuttle/white_ship.dm index 79c2fda7ed..6264588a3a 100644 --- a/code/modules/shuttle/white_ship.dm +++ b/code/modules/shuttle/white_ship.dm @@ -18,3 +18,10 @@ y_offset = -10 designate_time = 100 +/obj/machinery/computer/camera_advanced/shuttle_docker/whiteship/Initialize() + . = ..() + GLOB.jam_on_wardec += src + +/obj/machinery/computer/camera_advanced/shuttle_docker/whiteship/Destroy() + GLOB.jam_on_wardec -= src + return ..()