Files
Aurora.3/code/game/modifiers/modifiers_chem.dm
Joshie fb8af14858 Renames all instances of "Norepinephrine" to "Inaprovaline" (#9389)
It was a mistake to use real life chemicals on the grounds of "realism", especially when the chemical doesn't actually act realistically to how it does in real life. With the removal of the Inaprovaline medication as well, we can return the name to Norepinephrine, which was originally called Inaprovaline anyway.
2020-07-21 17:57:44 +03:00

154 lines
3.9 KiB
Plaintext

//Stimulant modifier. Applied in varying strengths by hyperzine and caffienated drinks
//Increases sprinting speed, walk speed, and stamina regen
/datum/modifier/stimulant
var/sprint_speed_added = 0
var/regen_added = 0
var/delay_added = 0
/datum/modifier/stimulant/activate()
..()
if (isliving(target))
var/mob/living/L = target
sprint_speed_added = 0.2 * strength
L.sprint_speed_factor += sprint_speed_added
regen_added = L.stamina_recovery * 0.3 * strength
L.stamina_recovery += regen_added
delay_added = -1.5 * strength
L.move_delay_mod += delay_added
/datum/modifier/stimulant/deactivate()
..()
if (isliving(target))
var/mob/living/L = target
L.sprint_speed_factor -= sprint_speed_added
L.stamina_recovery -= regen_added
L.move_delay_mod -= delay_added
//Adrenaline, granted by synaptizine and inaprovaline, with different strengths for each
//Allows the body to endure more, increasing speed a little, stamina a lot, stamina regen a lot,
//and reducing sprint costs
//Synaptizine applies it at strength 1, inaprovaline applies it at strength 0.6
//Is applied using strengthen override mode, so synaptizine will replace inaprovaline if both are present
/datum/modifier/adrenaline
var/speed_added = 0
var/stamina_added = 0
var/cost_added = 0
var/regen_added = 0
/datum/modifier/adrenaline/activate()
..()
if (isliving(target))
var/mob/living/L = target
speed_added += 0.1*strength
L.sprint_speed_factor += speed_added
stamina_added = L.max_stamina * strength
L.max_stamina += stamina_added
cost_added = -0.35 * strength
L.sprint_cost_factor += cost_added
regen_added = max ((L.stamina_recovery * 0.7 * strength), 5)
L.stamina_recovery += regen_added
/datum/modifier/adrenaline/deactivate()
..()
if (isliving(target))
var/mob/living/L = target
L.stamina_recovery -= regen_added
L.max_stamina -= stamina_added
L.sprint_cost_factor -= cost_added
L.sprint_speed_factor -= speed_added
/datum/modifier/luminous
var/lightrange = 0
/datum/modifier/luminous/activate()
..()
if (isliving(target))
var/mob/living/L = target
lightrange = strength
L.set_light(lightrange, 1, LIGHT_COLOR_FIRE)
/datum/modifier/luminous/deactivate()
..()
if (isliving(target))
var/mob/living/L = target
L.set_light(0)
//Doubleburn napalm modifier. Applied by Zo'rane Fire
//Increases damage dealt by burn sources
/datum/modifier/napalm
var/added_burn_mod
var/delta
/datum/modifier/napalm/activate()
..()
delta = strength
if (isliving(target))
var/mob/living/L = target
added_burn_mod = L.burn_mod * delta - L.burn_mod
L.burn_mod += added_burn_mod
/datum/modifier/napalm/deactivate()
..()
if (isliving(target))
var/mob/living/L = target
L.burn_mod -= added_burn_mod
/datum/modifier/napalm/custom_validity()
if(istype(target, /mob/living))
var/mob/living/L = target
if(L.fire_stacks)
return 1
return 0
//Berserk Modifier
//Causes a hulk like effect
/datum/modifier/berserk
var/last_shock_stage = 0
/datum/modifier/berserk/activate()
..()
if(ishuman(target))
var/mob/living/carbon/human/H = target
to_chat(H, "<span class='danger'>An uncontrollable rage overtakes your thoughts!</span>")
H.add_client_color(/datum/client_color/berserk)
last_shock_stage = H.shock_stage
H.shock_stage = 0
H.SetParalysis(0)
H.SetStunned(0)
H.SetWeakened(0)
H.setHalLoss(0)
H.lying = 0
H.update_canmove()
/datum/modifier/berserk/process()
if(..())
if(ishuman(target))
var/mob/living/carbon/human/H = target
H.drowsyness = max(H.drowsyness - 5, 0)
H.AdjustParalysis(-1)
H.AdjustStunned(-1)
H.AdjustWeakened(-1)
H.adjustHalLoss(-1)
/datum/modifier/berserk/deactivate()
..()
if(ishuman(target))
var/mob/living/carbon/human/H = target
to_chat(H, "<span class='danger'>Your rage fades away, your thoughts are clear once more!</span>")
H.remove_client_color(/datum/client_color/berserk)
H.shock_stage = last_shock_stage