mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-22 08:01:06 +00:00
As a continuation of #9389 As a bonus, any drugs that mentioned their IRL counterpart in their description now describe their predecessor as ancient, and the new ones as modern. The biggest difference here is just the Antihistamine which was given a full new name. They're similar enough that they'll be recognized (most of them) but different enough for us to call our own and not care what the real medicines are/do since these are our sci-fantasy versions just inspired by them.
288 lines
9.1 KiB
Plaintext
288 lines
9.1 KiB
Plaintext
//Mild traumas are the most common; they are generally minor annoyances.
|
|
//They can be suppressed with minaphobin, but not chemically cured, although brain surgery still works.
|
|
//Most of the old brain damage effects have been transferred to the dumbness trauma.
|
|
|
|
/datum/brain_trauma/mild
|
|
|
|
/datum/brain_trauma/mild/hallucinations
|
|
name = "Hallucinations"
|
|
desc = "Patient suffers constant hallucinations."
|
|
scan_desc = "schizophrenia"
|
|
gain_text = "<span class='warning'>You feel your grip on reality slipping...</span>"
|
|
lose_text = "<span class='notice'>You feel more grounded.</span>"
|
|
cure_type = CURE_SOLITUDE
|
|
|
|
/datum/brain_trauma/mild/hallucinations/on_life()
|
|
owner.hallucination = min(owner.hallucination + 10, 50)
|
|
..()
|
|
|
|
/datum/brain_trauma/mild/hallucinations/on_lose()
|
|
owner.hallucination = 0
|
|
..()
|
|
|
|
/datum/brain_trauma/mild/stuttering
|
|
name = "Stuttering"
|
|
desc = "Patient can't speak properly."
|
|
scan_desc = "reduced mouth coordination"
|
|
gain_text = "<span class='warning'>Speaking clearly is getting harder.</span>"
|
|
lose_text = "<span class='notice'>You feel in control of your speech.</span>"
|
|
cure_type = CURE_CRYSTAL
|
|
|
|
/datum/brain_trauma/mild/stuttering/on_life()
|
|
owner.stuttering = min(owner.stuttering + 5, 25)
|
|
..()
|
|
|
|
/datum/brain_trauma/mild/stuttering/on_lose()
|
|
owner.stuttering = 0
|
|
..()
|
|
|
|
/datum/brain_trauma/mild/dumbness
|
|
name = "Dumbness"
|
|
desc = "Patient has reduced brain activity, making them less intelligent."
|
|
scan_desc = "reduced brain activity"
|
|
gain_text = "<span class='warning'>You feel dumber.</span>"
|
|
lose_text = "<span class='notice'>You feel smart again.</span>"
|
|
cure_type = CURE_CRYSTAL
|
|
|
|
/datum/brain_trauma/mild/dumbness/on_gain()
|
|
owner.disabilities |= DUMB
|
|
..()
|
|
|
|
/datum/brain_trauma/mild/dumbness/on_life()
|
|
owner.tarded = min(owner.slurring + 5, 25)
|
|
if(prob(3))
|
|
owner.emote("drool")
|
|
..()
|
|
|
|
/datum/brain_trauma/mild/dumbness/on_lose()
|
|
owner.disabilities &= ~DUMB
|
|
owner.tarded = 0
|
|
..()
|
|
|
|
/datum/brain_trauma/mild/speech_impediment
|
|
name = "Speech Impediment"
|
|
desc = "Patient is unable to form coherent sentences."
|
|
scan_desc = "communication disorder"
|
|
gain_text = "You feel lost for words!"
|
|
lose_text = "You regain your bearing!"
|
|
cure_type = CURE_CRYSTAL
|
|
|
|
/datum/brain_trauma/mild/speech_impediment/on_gain()
|
|
owner.disabilities |= UNINTELLIGIBLE
|
|
..()
|
|
|
|
/datum/brain_trauma/mild/speech_impediment/on_lose()
|
|
owner.disabilities &= ~UNINTELLIGIBLE
|
|
..()
|
|
|
|
/datum/brain_trauma/mild/tourettes
|
|
name = "Tourettes Syndrome"
|
|
desc = "Patient is compelled to vulgarity."
|
|
scan_desc = "vulgarity problem"
|
|
gain_text = "Your mind fills with foul language!"
|
|
lose_text = "Your mind returns to decency."
|
|
cure_type = CURE_CRYSTAL
|
|
can_gain = FALSE
|
|
|
|
/datum/brain_trauma/mild/tourettes/on_gain()
|
|
owner.disabilities |= TOURETTES
|
|
..()
|
|
|
|
/datum/brain_trauma/mild/tourettes/on_lose()
|
|
owner.disabilities &= ~TOURETTES
|
|
..()
|
|
|
|
/datum/brain_trauma/mild/gertie
|
|
name = "Gerstmann Syndrome"
|
|
desc = "Patient displays severe left right disorientation."
|
|
scan_desc = "left-right disorientation"
|
|
gain_text = "You wonder to yourself, does three rights really make a left?!"
|
|
lose_text = "You remember that you can just turn left directly!"
|
|
cure_type = CURE_HYPNOSIS
|
|
|
|
/datum/brain_trauma/mild/gertie/on_gain()
|
|
owner.disabilities |= GERTIE
|
|
..()
|
|
|
|
/datum/brain_trauma/mild/gertie/on_lose()
|
|
owner.disabilities &= ~GERTIE
|
|
..()
|
|
|
|
/datum/brain_trauma/mild/concussion
|
|
name = "Concussion"
|
|
desc = "Patient's brain is concussed."
|
|
scan_desc = "a concussion"
|
|
gain_text = "<span class='warning'>Your head hurts!</span>"
|
|
lose_text = "<span class='notice'>The pressure inside your head starts fading.</span>"
|
|
cure_type = CURE_SURGERY
|
|
|
|
/datum/brain_trauma/mild/concussion/on_life()
|
|
if(prob(25))
|
|
switch(rand(1,9))
|
|
if(1)
|
|
if(ishuman(owner))
|
|
var/mob/living/carbon/human/H = owner
|
|
to_chat(owner, "<span class='notice'>Your stomach writhes with pain.</span>")
|
|
H.vomit()
|
|
if(2,3)
|
|
to_chat(owner, "<span class='notice'>You feel light-headed.</span>")
|
|
owner.dizziness = max(owner.slurring, 10)
|
|
if(4,5)
|
|
to_chat(owner, "<span class='notice'>it becomes hard to see for some reason.</span>")
|
|
owner.confused = max(owner.slurring, 10)
|
|
owner.apply_effect(10,EYE_BLUR)
|
|
if(6 to 9)
|
|
to_chat(owner, "<span class='notice'>Your tongue feels thick in your mouth.</span>")
|
|
owner.slurring = max(owner.slurring, 30)
|
|
|
|
..()
|
|
|
|
/datum/brain_trauma/mild/concussion/on_lose()
|
|
owner.dizziness = 0
|
|
owner.slurring = 0
|
|
owner.confused = 0
|
|
..()
|
|
|
|
/datum/brain_trauma/mild/muscle_weakness
|
|
name = "Muscle Weakness"
|
|
desc = "Patient experiences occasional bouts of muscle weakness."
|
|
scan_desc = "weak motor nerve signal"
|
|
gain_text = "<span class='warning'>Your muscles feel oddly faint.</span>"
|
|
lose_text = "<span class='notice'>You feel in control of your muscles again.</span>"
|
|
cure_type = CURE_CRYSTAL
|
|
|
|
/datum/brain_trauma/mild/muscle_weakness/on_life()
|
|
var/fall_chance = 5
|
|
if(owner.m_intent == "run")
|
|
fall_chance += 15
|
|
if(prob(fall_chance) && !owner.lying && !owner.buckled)
|
|
to_chat(owner, "<span class='warning'>Your leg gives out!</span>")
|
|
owner.Weaken(5)
|
|
|
|
else if(owner.get_active_hand())
|
|
var/drop_chance = 15
|
|
var/obj/item/I = owner.get_active_hand()
|
|
drop_chance += I.w_class
|
|
if(prob(drop_chance) && owner.drop_from_inventory(I))
|
|
to_chat(owner, "<span class='warning'>You drop [I]!</span>")
|
|
|
|
else if(prob(3))
|
|
to_chat(owner, "<span class='warning'>You feel a sudden weakness in your muscles!</span>")
|
|
owner.adjustHalLoss(25)
|
|
..()
|
|
|
|
/datum/brain_trauma/mild/muscle_spasms
|
|
name = "Muscle Spasms"
|
|
desc = "Patient has occasional muscle spasms, causing them to move unintentionally."
|
|
scan_desc = "nervous fits"
|
|
gain_text = "<span class='warning'>Your muscles feel oddly faint.</span>"
|
|
lose_text = "<span class='notice'>You feel in control of your muscles again.</span>"
|
|
cure_type = CURE_CRYSTAL
|
|
|
|
/datum/brain_trauma/mild/muscle_spasms/on_life()
|
|
if(prob(25))
|
|
switch(rand(1,5))
|
|
if(1)
|
|
if(owner.canmove)
|
|
to_chat(owner, "<span class='warning'>Your leg spasms!</span>")
|
|
step(owner, pick(cardinal))
|
|
if(2)
|
|
if(owner.incapacitated())
|
|
return
|
|
var/obj/item/I = owner.get_active_hand()
|
|
if(I)
|
|
to_chat(owner, "<span class='warning'>Your fingers spasm!</span>")
|
|
I.attack_self(owner)
|
|
if(3)
|
|
var/prev_intent = owner.a_intent
|
|
owner.set_intent(I_HURT)
|
|
|
|
var/list/mob/living/targets = list()
|
|
var/range = 1
|
|
if(istype(owner.get_active_hand(), /obj/item/gun)) //get targets to shoot at
|
|
range = 7
|
|
for(var/turf/T in oview(owner, range))
|
|
targets += T
|
|
|
|
else
|
|
for(var/mob/M in oview(owner, range))
|
|
if(isliving(M))
|
|
targets += M
|
|
if(LAZYLEN(targets))
|
|
to_chat(owner, "<span class='warning'>Your arm spasms!</span>")
|
|
owner.ClickOn(pick(targets))
|
|
owner.set_intent(prev_intent)
|
|
if(4)
|
|
var/prev_intent = owner.a_intent
|
|
owner.set_intent(I_HURT)
|
|
to_chat(owner, "<span class='warning'>Your arm spasms!</span>")
|
|
owner.ClickOn(owner)
|
|
owner.set_intent(prev_intent)
|
|
if(5)
|
|
if(owner.incapacitated())
|
|
return
|
|
var/obj/item/I =owner.get_active_hand()
|
|
var/list/turf/targets = list()
|
|
for(var/turf/T in oview(owner, 3))
|
|
targets += T
|
|
if(LAZYLEN(targets) && I)
|
|
to_chat(owner, "<span class='warning'>Your arm spasms!</span>")
|
|
owner.throw_item(pick(targets))
|
|
..()
|
|
|
|
/datum/brain_trauma/mild/nearsightedness
|
|
name = "Cerebral Near-Blindness"
|
|
desc = "Patient's brain is loosely connected to its eyes."
|
|
scan_desc = "minor damage to the brain's occipital lobe"
|
|
gain_text = "<span class='warning'>You can barely see!</span>"
|
|
lose_text = "<span class='notice'>Your vision returns.</span>"
|
|
cure_type = CURE_SURGERY
|
|
|
|
/datum/brain_trauma/mild/nearsightedness/on_gain()
|
|
owner.disabilities |= NEARSIGHTED
|
|
..()
|
|
|
|
//no fiddling with genetics to get out of this one
|
|
/datum/brain_trauma/mild/nearsightedness/on_life()
|
|
if(!(owner.disabilities & NEARSIGHTED))
|
|
on_gain()
|
|
..()
|
|
|
|
/datum/brain_trauma/mild/nearsightedness/on_lose()
|
|
if(owner.disabilities & NEARSIGHTED)
|
|
owner.disabilities &= ~NEARSIGHTED
|
|
..()
|
|
|
|
/datum/brain_trauma/mild/colorblind
|
|
name = "Partial Colorblindedness"
|
|
desc = "Patient's brain is loosely connected to ocular cones."
|
|
scan_desc = "minor damage to the brain's occipital lobe"
|
|
gain_text = "<span class='warning'>Your perception of color distorts!</span>"
|
|
lose_text = "<span class='notice'>Your vision returns.</span>"
|
|
cure_type = CURE_SURGERY
|
|
var/colorblindedness
|
|
|
|
/datum/brain_trauma/mild/colorblind/on_gain()
|
|
colorblindedness = pick("deuteranopia", "protanopia", "tritanopia")
|
|
switch(colorblindedness)
|
|
if("deuteranopia")
|
|
owner.add_client_color(/datum/client_color/deuteranopia)
|
|
if("protanopia")
|
|
owner.add_client_color(/datum/client_color/protanopia)
|
|
if("tritanopia")
|
|
owner.add_client_color(/datum/client_color/tritanopia)
|
|
..()
|
|
|
|
/datum/brain_trauma/mild/colorblind/on_life()
|
|
if(owner.client && !owner.client.color)
|
|
on_gain()
|
|
|
|
/datum/brain_trauma/mild/colorblind/on_lose()
|
|
switch(colorblindedness)
|
|
if("deuteranopia")
|
|
owner.remove_client_color(/datum/client_color/deuteranopia)
|
|
if("protanopia")
|
|
owner.remove_client_color(/datum/client_color/protanopia)
|
|
if("tritanopia")
|
|
owner.remove_client_color(/datum/client_color/tritanopia)
|
|
..() |