From 301662bd9735c750948ed5cc83cacd3eeeb7a5b3 Mon Sep 17 00:00:00 2001 From: Rykka Stormheart <54187424+Rykka-Stormheart@users.noreply.github.com> Date: Sat, 22 Aug 2020 04:20:33 -0400 Subject: [PATCH] Adds Spice Mod to species.dm, Makes Frost Oil COLD (#7516) * Adds Spice Mod to species.dm, 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.~~ ^ Above changes inapplicable, but you can add traits yourselves if you're interested. Not sure how Polaris does their traits vs Virgo. - 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. * Forgot the M.Species. * Removes IS_ALRAUNE from Frostoil --- .../living/carbon/human/species/species.dm | 1 + .../Chemistry-Reagents-Food-Drinks.dm | 29 +++++++++++++++---- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index 323e2bc417..a95b187338 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -101,6 +101,7 @@ var/chemOD_mod = 1 // Damage modifier for overdose; higher = more damage from ODs 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. // 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 diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm index 357ca3ed56..48a4e1bc75 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm @@ -613,6 +613,23 @@ 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(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, "Your insides suddenly feel a spreading chill!") + if(effective_dose >= 5) + M.apply_effect(2 * M.species.spice_mod, AGONY, 0) + M.bodytemperature -= rand(1, 5) * M.species.spice_mod // Really fucks you up, cause it makes you cold. + if(prob(5)) + M.visible_message("[M] [pick("dry heaves!","coughs!","splutters!")]", pick("You feel like your insides are freezing!", "Your insides feel like they're turning to ice!")) + holder.remove_reagent("capsaicin", 5) + /datum/reagent/frostoil/cryotoxin //A longer lasting version of frost oil. name = "Cryotoxin" id = "cryotoxin" @@ -643,13 +660,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, "Your insides feel uncomfortably hot!") - 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) * M.species.spice_mod // Really fucks you up, cause it makes you overheat, too. if(prob(5)) - M.visible_message("[M] [pick("dry heaves!","coughs!","splutters!")]", "You feel like your insides are burning!") + M.visible_message("[M] [pick("dry heaves!","coughs!","splutters!")]", pick("You feel like your insides are burning!", "You feel like your insides are on fire!", "You feel like your belly is full of lava!")) holder.remove_reagent("frostoil", 5) /datum/reagent/condensedcapsaicin