diff --git a/code/datums/supply_packs/operations.dm b/code/datums/supply_packs/operations.dm index 610503d6c25d..6d5e5d14756c 100644 --- a/code/datums/supply_packs/operations.dm +++ b/code/datums/supply_packs/operations.dm @@ -94,7 +94,7 @@ group = "Operations" /datum/supply_packs/nuclearbomb - name = "Operational Nuke" + name = "Decrypted Operational Nuke" cost = 0 containertype = /obj/structure/machinery/nuclearbomb buyable = 0 @@ -102,7 +102,7 @@ iteration_needed = null /datum/supply_packs/technuclearbomb - name = "Intel Operational Nuke" + name = "Encrypted Operational Nuke" cost = 0 containertype = /obj/structure/machinery/nuclearbomb/tech buyable = 0 diff --git a/code/game/machinery/nuclearbomb.dm b/code/game/machinery/nuclearbomb.dm index 6c0ec4cc0389..743f53e4f03b 100644 --- a/code/game/machinery/nuclearbomb.dm +++ b/code/game/machinery/nuclearbomb.dm @@ -12,7 +12,7 @@ var/bomb_set = FALSE var/timing = FALSE var/deployable = FALSE var/explosion_time = null - var/timeleft = 4800 + var/timeleft = 8 MINUTES var/safety = TRUE var/being_used = FALSE var/end_round = TRUE @@ -152,6 +152,7 @@ var/bomb_set = FALSE data["command_lockout"] = command_lockout data["allowed"] = allowed data["being_used"] = being_used + data["decryption_complete"] = TRUE //this is overriden by techweb nuke UI_data later, this just makes it default to true return data diff --git a/code/modules/admin/tabs/event_tab.dm b/code/modules/admin/tabs/event_tab.dm index febc1550fca0..e72813e2ac7c 100644 --- a/code/modules/admin/tabs/event_tab.dm +++ b/code/modules/admin/tabs/event_tab.dm @@ -402,6 +402,29 @@ give_jelly_award(last_hive_checked, as_admin=TRUE) +/client/proc/give_nuke() + if(!check_rights(R_ADMIN)) + return + var/nuketype = "Decrypted Operational Nuke" + var/encrypt = tgui_alert(src, "Do you want the nuke to be already decrypted?", "Nuke Type", list("Encrypted", "Decrypted"), 20 SECONDS) + if(encrypt == "Encrypted") + nuketype = "Encrypted Operational Nuke" + var/prompt = tgui_alert(src, "THIS CAN BE USED TO END THE ROUND. Are you sure you want to spawn a nuke? The nuke will be put onto the ASRS Lift.", "DEFCON 1", list("No", "Yes"), 30 SECONDS) + if(prompt != "Yes") + return + + var/datum/supply_order/new_order = new() + new_order.ordernum = supply_controller.ordernum + supply_controller.ordernum++ + new_order.object = supply_controller.supply_packs[nuketype] + new_order.orderedby = MAIN_AI_SYSTEM + new_order.approvedby = MAIN_AI_SYSTEM + supply_controller.shoppinglist += new_order + + marine_announcement("A nuclear device has been supplied and will be delivered to requisitions via ASRS.", "NUCLEAR ARSENAL ACQUIRED", 'sound/misc/notice2.ogg') + message_admins("[key_name_admin(usr)] admin-spawned a [encrypt] nuke.") + log_game("[key_name_admin(usr)] admin-spawned a [encrypt] nuke.") + /client/proc/turn_everyone_into_primitives() var/random_names = FALSE if (alert(src, "Do you want to give everyone random numbered names?", "Confirmation", "Yes", "No") == "Yes") @@ -685,6 +708,7 @@ Misc
Award a medal
Award a royal jelly
+ Spawn a nuke
Toggle PMC gun restrictions
Turn everyone into monkies

diff --git a/code/modules/admin/topic/topic_events.dm b/code/modules/admin/topic/topic_events.dm index 1055d5e47879..3240bf947938 100644 --- a/code/modules/admin/topic/topic_events.dm +++ b/code/modules/admin/topic/topic_events.dm @@ -22,6 +22,8 @@ owner.award_medal() if("jelly") owner.award_jelly() + if("nuke") + owner.give_nuke() if("pmcguns") owner.toggle_gun_restrictions() if("monkify") diff --git a/code/modules/cm_tech/techs/marine/tier4/nuke.dm b/code/modules/cm_tech/techs/marine/tier4/nuke.dm index eb4e64b59951..441c9aba69fc 100644 --- a/code/modules/cm_tech/techs/marine/tier4/nuke.dm +++ b/code/modules/cm_tech/techs/marine/tier4/nuke.dm @@ -10,7 +10,7 @@ tier = /datum/tier/four announce_name = "NUCLEAR ARSENAL ACQUIRED" - announce_message = "A nuclear device has been purchased and will be delivered to requisitions via ASRS." + announce_message = "A nuclear device has been authorized and will be delivered to requisitions via ASRS." flags = TREE_FLAG_MARINE @@ -20,11 +20,12 @@ /datum/tech/nuke/on_unlock() . = ..() - var/datum/supply_order/new_order = new /datum/supply_order() + var/datum/supply_order/new_order = new() new_order.ordernum = supply_controller.ordernum supply_controller.ordernum++ - new_order.object = supply_controller.supply_packs["Intel Operational Nuke"] + new_order.object = supply_controller.supply_packs["Encrypted Operational Nuke"] new_order.orderedby = MAIN_AI_SYSTEM + new_order.approvedby = MAIN_AI_SYSTEM supply_controller.shoppinglist += new_order diff --git a/tgui/packages/tgui/interfaces/NuclearBomb.js b/tgui/packages/tgui/interfaces/NuclearBomb.js index b29bc17e0779..e49b958f7857 100644 --- a/tgui/packages/tgui/interfaces/NuclearBomb.js +++ b/tgui/packages/tgui/interfaces/NuclearBomb.js @@ -18,7 +18,7 @@ export const NuclearBomb = (_props, context) => { {data.decryption_complete ? 'Decryption complete.' : `Decryption time left : - ${data.decryption_time} seconds`} + ${data.decryption_time} minutes`}