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