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`}