Implements Neural hypersensitivity

* Adds species trauma_mod for calculating shock

* Changes shock calculations to include trauma_mod

* Implements negative trait "neural hypersensitivity"
This commit is contained in:
Runa Dacino
2020-12-04 20:28:54 +01:00
committed by GitHub
parent df3635a85e
commit cd3f808efe
3 changed files with 16 additions and 3 deletions
@@ -102,6 +102,7 @@
var/alcohol_mod = 1 // Multiplier to alcohol strength; 0.5 = half, 0 = no effect at all, 2 = double, etc.
var/pain_mod = 1 // Multiplier to pain effects; 0.5 = half, 0 = no effect (equal to NO_PAIN, really), 2 = double, etc.
var/spice_mod = 1 // Multiplier to spice/capsaicin/frostoil effects; 0.5 = half, 0 = no effect (immunity), 2 = double, etc.
var/trauma_mod = 1 // Affects traumatic shock (how fast pain crit happens). 0 = no effect (immunity to pain crit), 2 = double etc.Overriden by "can_feel_pain" var
// set below is EMP interactivity for nonsynth carbons
var/emp_sensitivity = 0 // bitflag. valid flags are: EMP_PAIN, EMP_BLIND, EMP_DEAFEN, EMP_CONFUSE, EMP_STUN, and EMP_(BRUTE/BURN/TOX/OXY)_DMG
var/emp_dmg_mod = 1 // Multiplier to all EMP damage sustained by the mob, if it's EMP-sensitive
@@ -140,4 +140,10 @@
/datum/trait/colorblind/para_taj/apply(var/datum/species/S,var/mob/living/carbon/human/H)
..(S,H)
H.add_modifier(/datum/modifier/trait/colorblind_taj)
/datum/trait/neural_hypersensitivity
name = "Neural Hypersensitivity"
desc = "Your nerves are particularly sensitive to physical changes, leading to experiencing twice the intensity of pain and pleasure alike. Doubles traumatic shock."
cost = -1
var_changes = list("traumatic_mod" = 2)
+8 -2
View File
@@ -13,8 +13,7 @@
1.2 * src.getShockFireLoss() + \
1.2 * src.getShockBruteLoss() + \
1.7 * src.getCloneLoss() + \
2 * src.halloss + \
-1 * src.chem_effects[CE_PAINKILLER]
2 * src.halloss
if(src.slurring)
src.traumatic_shock -= 20
@@ -27,6 +26,13 @@
src.traumatic_shock += 30
else if(organ.is_dislocated())
src.traumatic_shock += 15
// Some individuals/species are more or less supectible to pain. Default trauma_mod = 1. Does not affect painkillers
if(istype(src, /mob/living/carbon/human))
var/mob/living/carbon/human/H = src
H.traumatic_shock *= H.species.trauma_mod
src.traumatic_shock += -1 * src.chem_effects[CE_PAINKILLER]
if(src.traumatic_shock < 0)
src.traumatic_shock = 0