Adds Spice Resistence/Intolerance Traits, Makes Frost Oil COLD

- Spice Resistance traits in the same flavor as Booze traits. 
- 3x, 2x, 1.5x, 0.75x, 0.5x, 0.25x resistance to the effects of capsaicin and frost oil.
- Frost Oil and Capsaicin will now **lower/increase your body temperature by a random amount** during the ingest step if you're over the danger threshold.
- var/spice_mod is added to the species datums, much like alcohol mod.
- Frost Oil will now remove 5 capsaicin on affect_ingest much like capsaicin would remove 5 frostoil.

Not much else to say.
I got tired of keeling over in agony after eating spicy food, and frankly, this is an RP server, so mechanical hardlimits on characters that canonically power down spicy food without giving a shit is frustrating to say the least.

All changes minus the neutral traits will be PR'd to Polaris.
This commit is contained in:
Rykka
2020-08-17 08:07:03 -04:00
parent a70b2a53f8
commit f059c396eb
3 changed files with 67 additions and 5 deletions
@@ -619,6 +619,28 @@
M.emote("shiver")
holder.remove_reagent("capsaicin", 5)
/datum/reagent/frostoil/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) // Eating frostoil now acts like capsaicin. Wee!
if(alien == IS_DIONA)
return
if(alien == IS_ALRAUNE) // VOREStation Edit: It wouldn't affect plants that much.
if(prob(5))
to_chat(M, "<span class='rose'>You feel a chilly, tingling sensation in your mouth.</span>")
M.bodytemperature -= rand(10, 25)
return
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(!H.can_feel_pain())
return
var/effective_dose = (dose * M.species.spice_mod)
if((effective_dose < 5) && (dose == metabolism || prob(5)))
to_chat(M, "<span class='danger'>Your insides suddenly feel a spreading chill!</span>")
if(effective_dose >= 5)
M.apply_effect(2 * M.species.spice_mod, AGONY, 0)
M.bodytemperature -= rand(1, 5) * spice_mod // Really fucks you up, cause it makes you cold.
if(prob(5))
M.visible_message("<span class='warning'>[M] [pick("dry heaves!","coughs!","splutters!")]</span>", pick("<span class='danger'>You feel like your insides are freezing!</span>", "<span class='danger'>Your insides feel like they're turning to ice!</span>"))
holder.remove_reagent("capsaicin", 5)
/datum/reagent/frostoil/cryotoxin //A longer lasting version of frost oil.
name = "Cryotoxin"
id = "cryotoxin"
@@ -654,13 +676,15 @@
var/mob/living/carbon/human/H = M
if(!H.can_feel_pain())
return
if(dose < 5 && (dose == metabolism || prob(5)))
var/effective_dose = (dose * M.species.spice_mod)
if((effective_dose < 5) && (dose == metabolism || prob(5)))
to_chat(M, "<span class='danger'>Your insides feel uncomfortably hot!</span>")
if(dose >= 5)
M.apply_effect(2, AGONY, 0)
if(effective_dose >= 5)
M.apply_effect(2 * M.species.spice_mod, AGONY, 0)
M.bodytemperature += rand(1, 5) * spice_mod // Really fucks you up, cause it makes you overheat, too.
if(prob(5))
M.visible_message("<span class='warning'>[M] [pick("dry heaves!","coughs!","splutters!")]</span>", "<span class='danger'>You feel like your insides are burning!</span>")
M.visible_message("<span class='warning'>[M] [pick("dry heaves!","coughs!","splutters!")]</span>", pick("<span class='danger'>You feel like your insides are burning!</span>", "<span class='danger'>You feel like your insides are on fire!</span>", "<span class='danger'>You feel like your belly is full of lava!</span>"))
holder.remove_reagent("frostoil", 5)
/datum/reagent/condensedcapsaicin