Makes mindbreaker toxin actually work against reality dissociation syndrome (#13674)

* Makes reality dissociation syndrome a brain trauma

also makes mindbreaker toxin not cause hallucinations if you have it

* Update toxin_reagents.dm
This commit is contained in:
SapphicOverload
2022-04-16 22:44:29 -04:00
committed by GitHub
parent 61aa0bd24f
commit fad8cbfd63
3 changed files with 29 additions and 13 deletions

View File

@@ -19,6 +19,26 @@
owner.hallucination = 0
..()
/datum/brain_trauma/mild/reality_dissociation
name = "Reality Dissociation Syndrome"
desc = "Patient suffers from acute reality dissociation syndrome and experiences vivid hallucinations"
scan_desc = "reality dissociation syndrome"
gain_text = span_userdanger("...")
lose_text = span_notice("You feel in tune with the world again.")
random_gain = FALSE
resilience = TRAUMA_RESILIENCE_ABSOLUTE
/datum/brain_trauma/mild/reality_dissociation/on_life()
if(owner.reagents.has_reagent(/datum/reagent/toxin/mindbreaker, needs_metabolizing = TRUE))
owner.hallucination = 0
else if(prob(2))
owner.hallucination += rand(10, 25)
..()
/datum/brain_trauma/mild/reality_dissociation/on_lose()
owner.hallucination = 0
..()
/datum/brain_trauma/mild/stuttering
name = "Stuttering"
desc = "Patient can't speak properly."

View File

@@ -417,19 +417,14 @@
desc = "You suffer from a severe disorder that causes very vivid hallucinations. Mindbreaker toxin can suppress its effects, and you are immune to mindbreaker's hallucinogenic properties. <b>This is not a license to grief.</b>"
value = -2
//no mob trait because it's handled uniquely
gain_text = span_userdanger("...")
lose_text = span_notice("You feel in tune with the world again.")
gain_text = null //handled by trauma
lose_text = null
medical_record_text = "Patient suffers from acute Reality Dissociation Syndrome and experiences vivid hallucinations."
/datum/quirk/insanity/on_process()
if(quirk_holder.reagents.has_reagent(/datum/reagent/toxin/mindbreaker, needs_metabolizing = TRUE))
quirk_holder.hallucination = 0
return
if(prob(2)) //we'll all be mad soon enough
madness()
/datum/quirk/insanity/proc/madness()
quirk_holder.hallucination += rand(10, 25)
/datum/quirk/insanity/add()
var/datum/brain_trauma/mild/reality_dissociation/T = new()
var/mob/living/carbon/human/H = quirk_holder
H.gain_trauma(T, TRAUMA_RESILIENCE_ABSOLUTE)
/datum/quirk/insanity/post_add() //I don't /think/ we'll need this but for newbies who think "roleplay as insane" = "license to kill" it's probably a good thing to have
if(!quirk_holder.mind || quirk_holder.mind.special_role)

View File

@@ -228,13 +228,14 @@
/datum/reagent/toxin/mindbreaker
name = "Mindbreaker Toxin"
description = "A powerful hallucinogen. Not a thing to be messed with. For some mental patients. it counteracts their symptoms and anchors them to reality."
description = "A powerful hallucinogen. Not a thing to be messed with. For some mental patients, it counteracts their symptoms and anchors them to reality."
color = "#B31008" // rgb: 139, 166, 233
toxpwr = 0
taste_description = "sourness"
/datum/reagent/toxin/mindbreaker/on_mob_life(mob/living/carbon/M)
M.hallucination += 5
if(!M.has_trauma_type(/datum/brain_trauma/mild/reality_dissociation))
M.hallucination += 5
return ..()
/datum/reagent/toxin/plantbgone