diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm
index 5af01dbe690..20d116a26f2 100644
--- a/code/game/machinery/computer/arcade.dm
+++ b/code/game/machinery/computer/arcade.dm
@@ -46,7 +46,8 @@
/obj/item/toy/eightball = 2,
/obj/item/toy/windupToolbox = 2,
/obj/item/toy/clockwork_watch = 2,
- /obj/item/extendohand/acme = 1)
+ /obj/item/extendohand/acme = 1,
+ /obj/item/hot_potato/harmless/toy = 1)
light_color = LIGHT_COLOR_GREEN
diff --git a/code/game/objects/items/hot_potato.dm b/code/game/objects/items/hot_potato.dm
new file mode 100644
index 00000000000..3c7293c48db
--- /dev/null
+++ b/code/game/objects/items/hot_potato.dm
@@ -0,0 +1,151 @@
+//CREATOR'S NOTE: DO NOT FUCKING GIVE THIS TO BOTANY!
+/obj/item/hot_potato
+ name = "hot potato"
+ desc = "A label on the side of this potato reads \"Product of DonkCo Service Wing. Activate far away from populated areas. Device will only attach to sapient creatures.\" You can attack anyone with it to force it on them instead of yourself!"
+ icon = 'icons/obj/hydroponics/harvest.dmi'
+ icon_state = "potato"
+ flags_1 = NOBLUDGEON_1
+ force = 0
+ var/icon_off = "potato"
+ var/icon_on = "potato_active"
+ var/detonation_timerid
+ var/activation_time = 0
+ var/timer = 600 //deciseconds
+ var/show_timer = FALSE
+ var/reusable = FALSE //absolute madman
+ var/sticky = TRUE
+ var/forceful_attachment = TRUE
+ var/stimulant = TRUE
+ var/detonate_explosion = TRUE
+ var/detonate_dev_range = 0
+ var/detonate_heavy_range = 0
+ var/detonate_light_range = 2
+ var/detonate_flash_range = 5
+ var/detonate_fire_range = 5
+
+ var/color_val = FALSE
+
+/obj/item/hot_potato/proc/detonate()
+ var/atom/location = loc
+ location.visible_message("[src] [detonate_explosion? "explodes" : "activates"]!", "[src] activates! You've ran out of time!")
+ if(detonate_explosion)
+ explosion(src, detonate_dev_range, detonate_heavy_range, detonate_light_range, detonate_flash_range, flame_range = detonate_fire_range)
+ deactivate()
+ if(!reusable)
+ var/mob/M = loc
+ if(istype(M))
+ M.dropItemToGround(src, TRUE)
+ qdel(src)
+
+/obj/item/hot_potato/proc/is_active()
+ return isnull(detonation_timerid)? FALSE : TRUE
+
+/obj/item/hot_potato/attack_self(mob/user)
+ if(activate(timer, user))
+ user.visible_message("[user] squeezes [src], which promptly starts to flash red-hot colors!", "You squeeze [src], activating its countdown and attachment mechanism!",
+ "You hear a mechanical click and a loud beeping!")
+ return
+ return ..()
+
+/obj/item/hot_potato/process()
+ if(stimulant)
+ if(isliving(loc))
+ var/mob/living/L = loc
+ L.SetStun(0)
+ L.SetKnockdown(0)
+ L.SetSleeping(0)
+ L.SetUnconscious(0)
+ L.reagents.add_reagent("muscle_stimulant", CLAMP(5 - L.reagents.get_reagent_amount("muscle_stimulant"), 0, 5)) //If you don't have legs or get bola'd, tough luck!
+ color_val = !color_val
+ L.add_atom_colour(color_val? "#ffff00" : "#00ffff", FIXED_COLOUR_PRIORITY)
+
+/obj/item/hot_potato/examine(mob/user)
+ . = ..()
+ if(is_active())
+ to_chat(user, "[src] is flashing red-hot! You should probably get rid of it!")
+ if(show_timer)
+ to_chat(user, "[src]'s timer looks to be at [(activation_time - world.time) / 10] seconds!")
+
+/obj/item/hot_potato/equipped(mob/user)
+ . = ..()
+ if(is_active())
+ to_chat(user, "You have a really bad feeling about [src]!")
+
+/obj/item/hot_potato/afterattack(atom/target, mob/user, adjacent, params)
+ if(!adjacent || !ismob(target))
+ return ..()
+ force_onto(target, user)
+
+/obj/item/hot_potato/proc/force_onto(mob/living/victim, mob/user)
+ if(!istype(victim) || user != loc || victim == user)
+ return FALSE
+ if(!victim.client)
+ to_chat(user, "[src] refuses to attach to a non-sapient creature!")
+ if(victim.stat != CONSCIOUS || !victim.get_num_legs())
+ to_chat(user, "[src] refuses to attach to someone incapable of using it!")
+ user.temporarilyRemoveItemFromInventory(src, TRUE)
+ . = FALSE
+ if(!victim.put_in_hands(src))
+ if(forceful_attachment)
+ victim.dropItemToGround(victim.get_inactive_held_item())
+ if(!victim.put_in_hands(src))
+ victim.dropItemToGround(victim.get_active_held_item())
+ if(victim.put_in_hands(src))
+ . = TRUE
+ else
+ . = TRUE
+ else
+ . = TRUE
+ if(.)
+ add_logs(user, victim, "forced a hot potato with explosive variables ([detonate_explosion]-[detonate_dev_range]/[detonate_heavy_range]/[detonate_light_range]/[detonate_flash_range]/[detonate_fire_range]) onto")
+ user.visible_message("[user] forces [src] onto [victim]!", "You force [src] onto [victim]!", "You hear a mechanical click and a beep.")
+ user.remove_atom_colour(TEMPORARY_COLOUR_PRIORITY)
+ else
+ add_logs(user, victim, "tried to force a hot potato with explosive variables ([detonate_explosion]-[detonate_dev_range]/[detonate_heavy_range]/[detonate_light_range]/[detonate_flash_range]/[detonate_fire_range]) onto")
+ user.visible_message("[user] tried to force [src] onto [victim], but it could not attach!", "You try to force [src] onto [victim], but it is unable to attach!", "You hear a mechanical click and two buzzes.")
+ user.put_in_hands(src)
+
+/obj/item/hot_potato/dropped(mob/user)
+ . = ..()
+ user.remove_atom_colour(TEMPORARY_COLOUR_PRIORITY)
+
+/obj/item/hot_potato/proc/activate(delay, mob/user)
+ if(is_active())
+ return
+ update_icon()
+ if(sticky)
+ flags_1 |= NODROP_1
+ name = "primed [name]"
+ activation_time = timer + world.time
+ detonation_timerid = addtimer(CALLBACK(src, .proc/detonate), delay, TIMER_STOPPABLE)
+ START_PROCESSING(SSfastprocess, src)
+ var/turf/T = get_turf(src)
+ message_admins("[user? "[ADMIN_LOOKUPFLW(user)] has primed [src]" : "A [src] has been primed"] (Timer:[delay],Explosive:[detonate_explosion],Range:[detonate_dev_range]/[detonate_heavy_range]/[detonate_light_range]/[detonate_fire_range]) for detonation at [COORD(T)]([T.loc])")
+ log_game("[user? "[user] has primed [src]" : "A [src] has been primed"] ([detonate_dev_range]/[detonate_heavy_range]/[detonate_light_range]/[detonate_fire_range]) for detonation at [COORD(T)]([T.loc])")
+
+/obj/item/hot_potato/proc/deactivate()
+ update_icon()
+ name = initial(name)
+ flags_1 &= ~NODROP_1
+ deltimer(detonation_timerid)
+ STOP_PROCESSING(SSfastprocess, src)
+ detonation_timerid = null
+ if(ismob(loc))
+ var/mob/user = loc
+ user.remove_atom_colour(TEMPORARY_COLOUR_PRIORITY)
+
+/obj/item/hot_potato/update_icon()
+ icon_state = is_active()? icon_on : icon_off
+
+/obj/item/hot_potato/syndicate
+ detonate_light_range = 4
+ detonate_fire_range = 5
+
+/obj/item/hot_potato/harmless
+ detonate_explosion = FALSE
+
+/obj/item/hot_potato/harmless/toy
+ desc = "A label on the side of this potato reads \"Product of DonkCo Toys and Recreation department.\" You can attack anyone with it to put it on them instead, if they have a free hand to take it!"
+ sticky = FALSE
+ reusable = TRUE
+ forceful_attachment = FALSE
diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm
index f494f32f6f0..44651325734 100644
--- a/code/modules/mob/inventory.dm
+++ b/code/modules/mob/inventory.dm
@@ -286,7 +286,7 @@
return doUnEquip(I, force, null, TRUE, idrop)
//DO NOT CALL THIS PROC
-//use one of the above 2 helper procs
+//use one of the above 3 helper procs
//you may override it, but do not modify the args
/mob/proc/doUnEquip(obj/item/I, force, newloc, no_move, invdrop = TRUE) //Force overrides NODROP_1 for things like wizarditis and admin undress.
//Use no_move if the item is just gonna be immediately moved afterward
diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
index b8c1238f7ef..7717ac768ed 100644
--- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
@@ -1194,3 +1194,16 @@
id = "corazone"
description = "A medication used to treat pain, fever, and inflammation, along with heart attacks."
color = "#F5F5F5"
+
+/datum/reagent/medicine/muscle_stimulant
+ name = "Muscle Stimulant"
+ id = "muscle_stimulant"
+ description = "A potent chemical that allows someone under its influence to be at full physical ability even when under massive amounts of pain."
+
+/datum/reagent/medicine/muscle_stimulant/on_mob_add(mob/living/M)
+ . = ..()
+ M.add_trait(TRAIT_IGNORESLOWDOWN, id)
+
+/datum/reagent/medicine/muscle_stimulant/on_mob_delete(mob/living/M)
+ . = ..()
+ M.remove_trait(TRAIT_IGNORESLOWDOWN, id)
diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm
index 3e7e026ef43..d02ee0373de 100644
--- a/code/modules/uplink/uplink_items.dm
+++ b/code/modules/uplink/uplink_items.dm
@@ -1236,6 +1236,14 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once.
surplus = 20
restricted_roles = list("Janitor")
+/datum/uplink_item/role_restricted/explosive_hot_potato
+ name = "Exploding Hot Potato"
+ desc = "A potato rigged with explosives. On activation, a special mechanism is activated that prevents it from being dropped. The only way to get rid of it if you are holding it is to attack someone else with it, causing it to latch to that person instead."
+ item = /obj/item/hot_potato/syndicate
+ cost = 4
+ surplus = 0
+ restricted_roles = list("Cook", "Botanist", "Clown", "Mime")
+
/datum/uplink_item/role_restricted/his_grace
name = "His Grace"
desc = "An incredibly dangerous weapon recovered from a station overcome by the grey tide. Once activated, He will thirst for blood and must be used to kill to sate that thirst. \
diff --git a/icons/obj/hydroponics/harvest.dmi b/icons/obj/hydroponics/harvest.dmi
index 742c02985d6..054aa47bbd0 100644
Binary files a/icons/obj/hydroponics/harvest.dmi and b/icons/obj/hydroponics/harvest.dmi differ
diff --git a/tgstation.dme b/tgstation.dme
index bae155c3469..60e8ef4c75b 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -710,6 +710,7 @@
#include "code\game\objects\items\his_grace.dm"
#include "code\game\objects\items\holosign_creator.dm"
#include "code\game\objects\items\holy_weapons.dm"
+#include "code\game\objects\items\hot_potato.dm"
#include "code\game\objects\items\inducer.dm"
#include "code\game\objects\items\kitchen.dm"
#include "code\game\objects\items\latexballoon.dm"