adrenals
This commit is contained in:
@@ -108,20 +108,7 @@
|
||||
to_chat(loc, "<span class='warning'>Combat injection is still recharging.</span>")
|
||||
return
|
||||
var/mob/living/carbon/human/M = loc
|
||||
M.SetSleeping(0)
|
||||
M.SetUnconscious(0)
|
||||
M.SetStun(0)
|
||||
M.SetKnockdown(0)
|
||||
M.reagents.add_reagent("inaprovaline", 3)
|
||||
M.reagents.add_reagent("synaptizine", 10)
|
||||
M.reagents.add_reagent("stimulants", 10)
|
||||
M.adjustStaminaLoss(-150)
|
||||
M.stuttering = 0
|
||||
M.updatehealth()
|
||||
M.update_stamina()
|
||||
M.resting = 0
|
||||
M.lying = 0
|
||||
M.update_canmove()
|
||||
M.do_adrenaline(150, FALSE, 0, 0, TRUE, list("inaprovaline" = 3, "synaptizine" = 10, "omnizine" = 10), "<span class='boldnotice'>You feel a sudden surge of energy!</span>")
|
||||
combat_cooldown = 0
|
||||
START_PROCESSING(SSobj, src)
|
||||
|
||||
|
||||
@@ -12,21 +12,5 @@
|
||||
|
||||
//Recover from stuns.
|
||||
/obj/effect/proc_holder/changeling/adrenaline/sting_action(mob/living/user)
|
||||
to_chat(user, "<span class='notice'>Energy rushes through us.[user.lying ? " We arise." : ""]</span>")
|
||||
user.SetSleeping(0)
|
||||
user.SetUnconscious(0)
|
||||
user.SetStun(0)
|
||||
user.SetKnockdown(0)
|
||||
user.reagents.add_reagent("changelingadrenaline", 10)
|
||||
user.reagents.add_reagent("changelinghaste", 2) //For a really quick burst of speed
|
||||
user.reagents.add_reagent("inaprovaline", 3) //let's give another chance to dumb fucks who forget to breathe
|
||||
user.adjustStaminaLoss(-150)
|
||||
user.stuttering = 0
|
||||
user.updatehealth()
|
||||
user.update_stamina()
|
||||
user.resting = 0
|
||||
user.lying = 0
|
||||
user.update_canmove()
|
||||
|
||||
user.do_adrenaline(100, FALSE, 70, 0, TRUE, list("epinephrine" = 3, "changelingmeth" = 10, "mannitol" = 10, "omnizine" = 10, "changelingadreanline" = 5), "<span class='notice'>Energy rushes through us.</span>")
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -1180,3 +1180,32 @@
|
||||
update_transform()
|
||||
if("lighting_alpha")
|
||||
sync_lighting_plane_alpha()
|
||||
|
||||
/mob/living/proc/do_adrenaline(
|
||||
stamina_boost = 150,
|
||||
put_on_feet = TRUE,
|
||||
clamp_unconscious_to = 0,
|
||||
clamp_immobility_to = 0,
|
||||
reset_misc = TRUE,
|
||||
healing_chems = list("inaprovaline" = 3, "synaptizine" = 10, "omnizine" = 10, "stimulants" = 10),
|
||||
message = "<span class='boldnotice'>You feel a surge of energy!</span>"
|
||||
)
|
||||
if(AmountSleeping() > clamp_unconscious_to)
|
||||
SetSleeping(clamp_unconscious_to)
|
||||
if(AmountUnconscious() > clamp_unconscious_to)
|
||||
SetUnconscious(clamp_unconscious_to)
|
||||
if(AmountStun() > clamp_immobility_to)
|
||||
SetStun(clamp_immobility_to)
|
||||
if(AmountKnockdown() > clamp_immobility_to)
|
||||
SetKnockdown(clamp_immobility_to)
|
||||
adjustStaminaLoss(max(0, -stamina_boost))
|
||||
if(put_on_feet)
|
||||
resting = FALSE
|
||||
lying = FALSE
|
||||
if(reset_misc)
|
||||
stuttering = 0
|
||||
updatehealth()
|
||||
update_stamina()
|
||||
update_canmove()
|
||||
for(var/chem in healing_chems)
|
||||
reagents.add_reagent(chem, healing_chems[chem])
|
||||
|
||||
@@ -4,22 +4,7 @@
|
||||
|
||||
if(!ninjacost(0,N_ADRENALINE))
|
||||
var/mob/living/carbon/human/H = affecting
|
||||
H.SetSleeping(0)
|
||||
H.SetStun(0)
|
||||
H.SetKnockdown(0)
|
||||
H.SetUnconscious(0)
|
||||
H.adjustStaminaLoss(-150)
|
||||
H.stuttering = 0
|
||||
H.updatehealth()
|
||||
H.update_stamina()
|
||||
H.resting = 0
|
||||
H.lying = 0
|
||||
H.update_canmove()
|
||||
|
||||
H.reagents.add_reagent("inaprovaline", 3) //let's give another chance to dumb fucks who forget to breathe
|
||||
H.reagents.add_reagent("synaptizine", 10)
|
||||
H.reagents.add_reagent("omnizine", 10)
|
||||
H.reagents.add_reagent("stimulants", 10)
|
||||
H.do_adrenaline(150, TRUE, 0, 0, TRUE, list("inaprovaline" = 3, "synaptizine" = 10, "omnizine" = 10), "<span class='boldnotice'>You feel a sudden surge of energy!</span>")
|
||||
|
||||
H.say(pick("A CORNERED FOX IS MORE DANGEROUS THAN A JACKAL!","HURT ME MOOORRREEE!","IMPRESSIVE!"), forced = "ninjaboost")
|
||||
|
||||
|
||||
@@ -555,7 +555,7 @@
|
||||
if(!D)
|
||||
WARNING("[my_atom] attempted to add a reagent called '[reagent]' which doesn't exist. ([usr])")
|
||||
return FALSE
|
||||
|
||||
|
||||
update_total()
|
||||
var/cached_total = total_volume
|
||||
if(cached_total + amount > maximum_volume)
|
||||
@@ -599,9 +599,9 @@
|
||||
if(data)
|
||||
R.data = data
|
||||
R.on_new(data)
|
||||
|
||||
|
||||
if(isliving(my_atom))
|
||||
R.on_mob_add(my_atom) //Must occur befor it could posibly run on_mob_delete
|
||||
R.on_mob_add(my_atom) //Must occur befor it could posibly run on_mob_delete
|
||||
update_total()
|
||||
if(my_atom)
|
||||
my_atom.on_reagent_change(ADD_REAGENT)
|
||||
|
||||
@@ -164,6 +164,9 @@
|
||||
overdose_threshold = 20
|
||||
addiction_threshold = 10
|
||||
metabolization_rate = 0.75 * REAGENTS_METABOLISM
|
||||
var/brain_damage = TRUE
|
||||
var/jitter = TRUE
|
||||
var/confusion = TRUE
|
||||
|
||||
/datum/reagent/drug/methamphetamine/on_mob_add(mob/living/L)
|
||||
..()
|
||||
@@ -181,10 +184,10 @@
|
||||
M.AdjustKnockdown(-40, 0)
|
||||
M.AdjustUnconscious(-40, 0)
|
||||
M.adjustStaminaLoss(-7.5 * REM, 0)
|
||||
M.Jitter(2)
|
||||
M.adjustBrainLoss(rand(1,4))
|
||||
if(prob(30))
|
||||
M.confused = max(1, M.confused)
|
||||
if(jitter)
|
||||
M.Jitter(2)
|
||||
if(brain_damage)
|
||||
M.adjustBrainLoss(rand(1,4))
|
||||
M.heal_overall_damage(2, 2)
|
||||
if(prob(5))
|
||||
M.emote(pick("twitch", "shiver"))
|
||||
@@ -240,6 +243,14 @@
|
||||
..()
|
||||
. = 1
|
||||
|
||||
/datum/reagent/drug/methamphetamine/changeling
|
||||
id = "changelingmeth"
|
||||
name = "Changeling Adrenaline"
|
||||
addiction_threshold = 35
|
||||
overdose_threshold = 35
|
||||
jitter = FALSE
|
||||
brain_damage = FALSE
|
||||
|
||||
/datum/reagent/drug/bath_salts
|
||||
name = "Bath Salts"
|
||||
id = "bath_salts"
|
||||
|
||||
@@ -1171,6 +1171,7 @@
|
||||
M.AdjustUnconscious(-20, 0)
|
||||
M.AdjustStun(-20, 0)
|
||||
M.AdjustKnockdown(-20, 0)
|
||||
M.AdjustSleeping(-20, 0)
|
||||
M.adjustStaminaLoss(-30, 0)
|
||||
..()
|
||||
return TRUE
|
||||
|
||||
Reference in New Issue
Block a user