diff --git a/code/game/objects/items/implants/implant_misc.dm b/code/game/objects/items/implants/implant_misc.dm
index a2653e359dd..7e5641dcdf3 100644
--- a/code/game/objects/items/implants/implant_misc.dm
+++ b/code/game/objects/items/implants/implant_misc.dm
@@ -26,7 +26,7 @@
Important Notes: Illegal
Implant Details: Subjects injected with implant can activate an injection of medical cocktails.
- Function: Removes stuns, increases speed, and has a mild healing effect.
+ Function: Pushes the body past the normal limits, assisting in escape from sticky situations.
Integrity: Implant can only be used three times before reserves are depleted."}
return dat
@@ -34,18 +34,8 @@
. = ..()
uses--
to_chat(imp_in, "You feel a sudden surge of energy!")
- imp_in.SetStun(0)
- imp_in.SetKnockdown(0)
- imp_in.SetUnconscious(0)
- imp_in.SetParalyzed(0)
- imp_in.SetImmobilized(0)
- imp_in.adjustStaminaLoss(-75)
imp_in.set_resting(FALSE)
- imp_in.update_mobility()
-
- imp_in.reagents.add_reagent(/datum/reagent/medicine/synaptizine, 10)
- imp_in.reagents.add_reagent(/datum/reagent/medicine/omnizine, 10)
- imp_in.reagents.add_reagent(/datum/reagent/medicine/stimulants, 10)
+ imp_in.reagents.add_reagent(/datum/reagent/medicine/badstims, 6)
if(!uses)
qdel(src)
diff --git a/code/modules/antagonists/changeling/powers/adrenaline.dm b/code/modules/antagonists/changeling/powers/adrenaline.dm
index bd2ef82134b..ca21aac2279 100644
--- a/code/modules/antagonists/changeling/powers/adrenaline.dm
+++ b/code/modules/antagonists/changeling/powers/adrenaline.dm
@@ -11,14 +11,9 @@
//Recover from stuns.
/datum/action/changeling/adrenaline/sting_action(mob/living/user)
..()
- to_chat(user, "Energy rushes through us.[(!(user.mobility_flags & MOBILITY_STAND)) ? " We arise." : ""]")
- user.SetSleeping(0)
- user.SetUnconscious(0)
- user.SetStun(0)
+ to_chat(user, "Energy rushes through us.")
user.SetKnockdown(0)
- user.SetImmobilized(0)
- user.SetParalyzed(0)
- user.reagents.add_reagent(/datum/reagent/medicine/changelingadrenaline, 10)
- user.reagents.add_reagent(/datum/reagent/medicine/changelinghaste, 2) //For a really quick burst of speed
- user.adjustStaminaLoss(-75)
+ user.set_resting(FALSE)
+ user.reagents.add_reagent(/datum/reagent/medicine/changelingadrenaline, 3) //15 seconds
+ user.reagents.add_reagent(/datum/reagent/medicine/changelinghaste, 3) //6 seconds, for a really quick burst of speed
return TRUE
diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
index d59b0414f0c..8f4600402c1 100644
--- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
@@ -996,11 +996,27 @@
overdose_threshold = 30
/datum/reagent/medicine/changelingadrenaline/on_mob_life(mob/living/carbon/M as mob)
+ ..()
M.AdjustAllImmobility(-20, FALSE)
M.adjustStaminaLoss(-10, 0)
- ..()
+ M.Jitter(10)
+ M.Dizzy(10)
return TRUE
+/datum/reagent/medicine/changelingadrenaline/on_mob_metabolize(mob/living/L)
+ ..()
+ ADD_TRAIT(L, TRAIT_SLEEPIMMUNE, type)
+ ADD_TRAIT(L, TRAIT_STUNRESISTANCE, type)
+ L.ignore_slowdown(type)
+
+/datum/reagent/medicine/changelingadrenaline/on_mob_end_metabolize(mob/living/L)
+ ..()
+ REMOVE_TRAIT(L, TRAIT_SLEEPIMMUNE, type)
+ REMOVE_TRAIT(L, TRAIT_STUNRESISTANCE, type)
+ L.unignore_slowdown(type)
+ L.Dizzy(0)
+ L.Jitter(0)
+
/datum/reagent/medicine/changelingadrenaline/overdose_process(mob/living/M as mob)
M.adjustToxLoss(1, 0)
..()
@@ -1284,3 +1300,38 @@
M.adjustOrganLoss(ORGAN_SLOT_HEART,0.2)
M.adjustOrganLoss(ORGAN_SLOT_LUNGS,0.2)
..()
+
+/datum/reagent/medicine/badstims //These are bad for combat on purpose. Used in adrenal implant.
+ name = "Experimental Stimulants"
+ description = "Experimental Stimulants designed to get you away from trouble."
+ reagent_state = LIQUID
+ color = "#F5F5F5"
+
+/datum/reagent/medicine/badstims/on_mob_life(mob/living/carbon/M)
+ ..()
+ if(prob(30) && iscarbon(M))
+ var/obj/item/I = M.get_active_held_item()
+ if(I && M.dropItemToGround(I))
+ to_chat(M, "Your hands spaz out and you drop what you were holding!")
+ if(prob(33))
+ M.losebreath++
+ M.adjustOxyLoss(1, 0)
+ M.adjustStaminaLoss(-10, 0)
+ M.Jitter(10)
+ M.Dizzy(15)
+
+/datum/reagent/medicine/badstims/on_mob_metabolize(mob/living/L)
+ ..()
+ ADD_TRAIT(L, TRAIT_SLEEPIMMUNE, type)
+ ADD_TRAIT(L, TRAIT_STUNRESISTANCE, type)
+ L.add_movespeed_modifier(type, update=TRUE, priority=100, multiplicative_slowdown=-0.35, blacklisted_movetypes=(FLYING|FLOATING))
+ L.ignore_slowdown(type)
+
+/datum/reagent/medicine/badstims/on_mob_end_metabolize(mob/living/L)
+ ..()
+ REMOVE_TRAIT(L, TRAIT_SLEEPIMMUNE, type)
+ REMOVE_TRAIT(L, TRAIT_STUNRESISTANCE, type)
+ L.remove_movespeed_modifier(type)
+ L.unignore_slowdown(type)
+ L.Dizzy(0)
+ L.Jitter(0)
diff --git a/code/modules/research/nanites/nanite_programs/buffing.dm b/code/modules/research/nanites/nanite_programs/buffing.dm
index 1746eb668d9..e1ed340a690 100644
--- a/code/modules/research/nanites/nanite_programs/buffing.dm
+++ b/code/modules/research/nanites/nanite_programs/buffing.dm
@@ -20,7 +20,7 @@
/datum/nanite_program/triggered/adrenaline
name = "Adrenaline Burst"
- desc = "The nanites cause a burst of adrenaline when triggered, waking the host from stuns and temporarily increasing their speed."
+ desc = "The nanites cause a burst of adrenaline when triggered, allowing the user to push their body past its normal limits."
trigger_cost = 25
trigger_cooldown = 1200
rogue_types = list(/datum/nanite_program/toxic, /datum/nanite_program/nerve_decay)
@@ -29,11 +29,8 @@
if(!..())
return
to_chat(host_mob, "You feel a sudden surge of energy!")
- host_mob.SetAllImmobility(0)
- host_mob.adjustStaminaLoss(-75)
host_mob.set_resting(FALSE)
- host_mob.update_mobility()
- host_mob.reagents.add_reagent(/datum/reagent/medicine/stimulants, 1.5)
+ host_mob.reagents.add_reagent(/datum/reagent/medicine/badstims, 3)
/datum/nanite_program/hardening
name = "Dermal Hardening"
diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm
index d170773566a..9ea5c426587 100644
--- a/code/modules/uplink/uplink_items.dm
+++ b/code/modules/uplink/uplink_items.dm
@@ -1481,7 +1481,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
/datum/uplink_item/implants/adrenal
name = "Adrenal Implant"
desc = "An implant injected into the body, and later activated at the user's will. It will inject a chemical \
- cocktail which removes all incapacitating effects, lets the user run faster and has a mild healing effect."
+ cocktail which lets you push yourself harder to get out of sticky situations. Avoid large doses if possible."
item = /obj/item/storage/box/syndie_kit/imp_adrenal
cost = 8
player_minimum = 25