From 21b0dfbaacb36a62a6e2fd68dc5f583f3aef0de3 Mon Sep 17 00:00:00 2001 From: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com> Date: Thu, 9 Sep 2021 15:45:13 -0400 Subject: [PATCH] Adds warning messages to admins for missing nukes --- code/game/gamemodes/game_mode.dm | 16 ++++++++++++++++ code/modules/admin/verbs/pray.dm | 16 +++++++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 4e5372ffc2d..66a6a25aae9 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -1,3 +1,6 @@ +#define NUKE_INTACT 0 +#define NUKE_CORE_MISSING 1 +#define NUKE_MISSING 2 /* * GAMEMODES (by Rastaf0) * @@ -434,6 +437,15 @@ nukecode = bomb.r_code return nukecode +/proc/get_nuke_status() + var/nuke_status = NUKE_MISSING + for(var/obj/machinery/nuclearbomb/bomb in GLOB.machines) + if(bomb && is_station_level(bomb.z)) + nuke_status = NUKE_CORE_MISSING + if(bomb.core) + nuke_status = NUKE_INTACT + return nuke_status + /datum/game_mode/proc/replace_jobbanned_player(mob/living/M, role_type) var/list/mob/dead/observer/candidates = SSghost_spawns.poll_candidates("Do you want to play as a [role_type]?", role_type, FALSE, 10 SECONDS) var/mob/dead/observer/theghost = null @@ -534,3 +546,7 @@ var/datum/atom_hud/antag/antaghud = GLOB.huds[ANTAG_HUD_EVENTMISC] antaghud.leave_hud(mob_mind.current) set_antag_hud(mob_mind.current, null) + +#undef NUKE_INTACT +#undef NUKE_CORE_MISSING +#undef NUKE_MISSING diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm index 8055c5e7a03..f8ed40c5767 100644 --- a/code/modules/admin/verbs/pray.dm +++ b/code/modules/admin/verbs/pray.dm @@ -1,3 +1,7 @@ +#define NUKE_INTACT 0 +#define NUKE_CORE_MISSING 1 +#define NUKE_MISSING 2 + /mob/living/verb/pray(msg as text) set category = "IC" set name = "Pray" @@ -72,11 +76,21 @@ /proc/Nuke_request(text , mob/Sender) var/nuke_code = get_nuke_code() + var/nuke_status = get_nuke_status() var/msg = sanitize(copytext(text, 1, MAX_MESSAGE_LEN)) msg = "NUKE CODE REQUEST: [key_name(Sender)] ([ADMIN_PP(Sender,"PP")]) ([ADMIN_VV(Sender,"VV")]) ([ADMIN_TP(Sender,"TP")]) ([ADMIN_SM(Sender,"SM")]) ([admin_jump_link(Sender)]) ([ADMIN_BSA(Sender,"BSA")]) ([ADMIN_CENTCOM_REPLY(Sender,"RPLY")]): [msg]" for(var/client/X in GLOB.admins) if(check_rights(R_EVENT,0,X.mob)) to_chat(X, msg) - to_chat(X, "The nuke code is [nuke_code].") + if(nuke_status == NUKE_MISSING) + to_chat(X, "Nuclear device is not on station!") + else + to_chat(X, "The nuke code is [nuke_code].") + if(nuke_status == NUKE_CORE_MISSING) + to_chat(X, "Nuclear device does not have a core, and will not arm!") if(X.prefs.sound & SOUND_ADMINHELP) SEND_SOUND(X, sound('sound/effects/adminhelp.ogg')) + +#undef NUKE_INTACT +#undef NUKE_CORE_MISSING +#undef NUKE_MISSING