diff --git a/code/game/gamemodes/nuclear/nuclear_challenge.dm b/code/game/gamemodes/nuclear/nuclear_challenge.dm index 5e11a78888d..be071fc80ad 100644 --- a/code/game/gamemodes/nuclear/nuclear_challenge.dm +++ b/code/game/gamemodes/nuclear/nuclear_challenge.dm @@ -55,6 +55,7 @@ for(var/obj/machinery/computer/shuttle/syndicate/S in GLOB.machines) S.challenge = TRUE + S.challenge_time = world.time // No. of player - Min. Player to dec, divided by player per bonus, then multipled by TC per bonus. Rounded. total_tc = CHALLENGE_TELECRYSTALS + round((((GLOB.player_list.len - CHALLENGE_MIN_PLAYERS)/CHALLENGE_SCALE_PLAYER) * CHALLENGE_SCALE_BONUS)) diff --git a/code/modules/shuttle/syndicate.dm b/code/modules/shuttle/syndicate.dm index 7f5bf470686..87a03e2e8e9 100644 --- a/code/modules/shuttle/syndicate.dm +++ b/code/modules/shuttle/syndicate.dm @@ -12,6 +12,7 @@ resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF flags = NODECONSTRUCT var/challenge = FALSE + var/challenge_time = 0 //When was war declared? /obj/machinery/computer/shuttle/syndicate/recall name = "syndicate shuttle recall terminal" @@ -19,9 +20,10 @@ possible_destinations = "syndicate_away" /obj/machinery/computer/shuttle/syndicate/can_call_shuttle(user, action) + var/time_to_go = max(SYNDICATE_CHALLENGE_TIMER, (challenge_time + 10 MINUTES)) if(action == "move") - if(challenge && world.time < SYNDICATE_CHALLENGE_TIMER) - to_chat(user, "You've issued a combat challenge to the station! You've got to give them at least [round(((SYNDICATE_CHALLENGE_TIMER - world.time) / 10) / 60)] more minutes to allow them to prepare.") + if(challenge && world.time < time_to_go) + to_chat(user, "You've issued a combat challenge to the station! You've got to give them at least [round(((time_to_go - world.time) / 10) / 60)] more minutes to allow them to prepare.") return FALSE return TRUE