Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 18 additions & 2 deletions code/__DEFINES/language.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,21 @@
#define LANGUAGE_HIDE_ICON_IF_UNDERSTOOD 4
#define LANGUAGE_HIDE_ICON_IF_NOT_UNDERSTOOD 8

#define LANGUAGE_KNOWN "language_known"
#define LANGUAGE_SHADOWED "language_shadowed"
// LANGUAGE SOURCE DEFINES
#define LANGUAGE_ALL "all" // For use in full removal only.
#define LANGUAGE_ATOM "atom"
#define LANGUAGE_MIND "mind"

#define LANGUAGE_ABSORB "absorb"
#define LANGUAGE_APHASIA "aphasia"
#define LANGUAGE_CULTIST "cultist"
#define LANGUAGE_CURATOR "curator"
#define LANGUAGE_DEVIL "devil"
#define LANGUAGE_GLAND "gland"
#define LANGUAGE_HAT "hat"
#define LANGUAGE_HIGH "high"
#define LANGUAGE_MALF "malf"
#define LANGUAGE_MASTER "master"
#define LANGUAGE_SOFTWARE "software"
#define LANGUAGE_STONER "stoner"
#define LANGUAGE_VOICECHANGE "voicechange"
1 change: 0 additions & 1 deletion code/datums/brain_damage/imaginary_friend.dm
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,6 @@

trauma = _trauma
owner = trauma.owner
copy_known_languages_from(owner, TRUE)

setup_friend()

Expand Down
14 changes: 4 additions & 10 deletions code/datums/brain_damage/severe.dm
Original file line number Diff line number Diff line change
Expand Up @@ -26,21 +26,15 @@
scan_desc = "extensive damage to the brain's language center"
gain_text = "<span class='warning'>You have trouble forming words in your head...</span>"
lose_text = "<span class='notice'>You suddenly remember how languages work.</span>"
var/datum/language_holder/prev_language
var/datum/language_holder/mob_language

/datum/brain_trauma/severe/aphasia/on_gain()
mob_language = owner.get_language_holder()
prev_language = mob_language.copy()
mob_language.remove_all_languages()
mob_language.grant_language(/datum/language/aphasia)
owner.add_blocked_language(subtypesof(/datum/language/) - /datum/language/aphasia, LANGUAGE_APHASIA)
owner.grant_language(/datum/language/aphasia, TRUE, TRUE, LANGUAGE_APHASIA)
..()

/datum/brain_trauma/severe/aphasia/on_lose()
mob_language.remove_language(/datum/language/aphasia)
mob_language.copy_known_languages_from(prev_language) //this will also preserve languages learned during the trauma
QDEL_NULL(prev_language)
mob_language = null
owner.remove_blocked_language(subtypesof(/datum/language/), LANGUAGE_APHASIA)
owner.remove_language(/datum/language/aphasia, TRUE, TRUE, LANGUAGE_APHASIA)
..()

/datum/brain_trauma/severe/blindness
Expand Down
12 changes: 8 additions & 4 deletions code/datums/diseases/advance/symptoms/choking.dm
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,10 @@ Bonus
base_message_chance = 15
symptom_delay_min = 10
symptom_delay_max = 30
threshold_desc = "<b>Stage Speed 8:</b> Causes choking more frequently.<br>\
<b>Stealth 4:</b> The symptom remains hidden until active."
threshold_descs = list(
"Stage Speed 8" = "Causes choking more frequently.",
"Stealth 4" = "The symptom remains hidden until active."
)

/datum/symptom/choking/Start(datum/disease/advance/A)
if(!..())
Expand Down Expand Up @@ -99,8 +101,10 @@ Bonus
symptom_delay_min = 14
symptom_delay_max = 30
var/paralysis = FALSE
threshold_desc = "<b>Stage Speed 8:</b> Additionally synthesizes pancuronium and sodium thiopental inside the host.<br>\
<b>Transmission 8:</b> Doubles the damage caused by the symptom."
threshold_descs = list(
"Stage Speed 8" = "Additionally synthesizes pancuronium and sodium thiopental inside the host.",
"Transmission 8" = "Doubles the damage caused by the symptom."
)


/datum/symptom/asphyxiation/Start(datum/disease/advance/A)
Expand Down
8 changes: 5 additions & 3 deletions code/datums/diseases/advance/symptoms/confusion.dm
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,11 @@ Bonus
symptom_delay_min = 10
symptom_delay_max = 30
var/brain_damage = FALSE
threshold_desc = "<b>Resistance 6:</b> Causes brain damage over time.<br>\
<b>Transmission 6:</b> Increases confusion duration.<br>\
<b>Stealth 4:</b> The symptom remains hidden until active."
threshold_descs = list(
"Resistance 6" = "Causes brain damage over time.",
"Transmission 6" = "Increases confusion duration and strength.",
"Stealth 4" = "The symptom remains hidden until active.",
)

/datum/symptom/confusion/Start(datum/disease/advance/A)
if(!..())
Expand Down
12 changes: 7 additions & 5 deletions code/datums/diseases/advance/symptoms/cough.dm
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,13 @@ BONUS
symptom_delay_min = 2
symptom_delay_max = 15
var/infective = FALSE
threshold_desc = "<b>Resistance 3:</b> Host will drop small items when coughing.<br>\
<b>Resistance 10:</b> Occasionally causes coughing fits that stun the host.<br>\
<b>Stage Speed 6:</b> Increases cough frequency.<br>\
<b>If Airborne:</b> Coughing will infect bystanders.<br>\
<b>Stealth 4:</b> The symptom remains hidden until active."
threshold_descs = list(
"Resistance 11" = "The host will drop small items when coughing.",
"Resistance 15" = "Occasionally causes coughing fits that stun the host. The extra coughs do not spread the virus.",
"Stage Speed 6" = "Increases cough frequency.",
"Transmission 7" = "Coughing will now infect bystanders up to 2 tiles away.",
"Stealth 4" = "The symptom remains hidden until active.",
)

/datum/symptom/cough/Start(datum/disease/advance/A)
if(!..())
Expand Down
7 changes: 4 additions & 3 deletions code/datums/diseases/advance/symptoms/deafness.dm
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,10 @@ Bonus
base_message_chance = 100
symptom_delay_min = 25
symptom_delay_max = 80
threshold_desc = "<b>Resistance 9:</b> Causes permanent deafness, instead of intermittent.<br>\
<b>Stealth 4:</b> The symptom remains hidden until active."

threshold_descs = list(
"Resistance 9" = "Causes permanent deafness, instead of intermittent.",
"Stealth 4" = "The symptom remains hidden until active.",
)
/datum/symptom/deafness/Start(datum/disease/advance/A)
if(!..())
return
Expand Down
8 changes: 5 additions & 3 deletions code/datums/diseases/advance/symptoms/dizzy.dm
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,10 @@ Bonus
base_message_chance = 50
symptom_delay_min = 15
symptom_delay_max = 40
threshold_desc = "<b>Transmission 6:</b> Also causes druggy vision.<br>\
<b>Stealth 4:</b> The symptom remains hidden until active."
threshold_descs = list(
"Transmission 6" = "Also causes druggy vision.",
"Stealth 4" = "The symptom remains hidden until active.",
)

/datum/symptom/dizzy/Start(datum/disease/advance/A)
if(!..())
Expand All @@ -50,4 +52,4 @@ Bonus
to_chat(M, "<span class='userdanger'>A wave of dizziness washes over you!</span>")
M.Dizzy(5)
if(power >= 2)
M.set_drugginess(5)
M.set_drugginess(5)
6 changes: 4 additions & 2 deletions code/datums/diseases/advance/symptoms/fever.dm
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,10 @@ Bonus
symptom_delay_min = 10
symptom_delay_max = 30
var/unsafe = FALSE //over the heat threshold
threshold_desc = "<b>Resistance 5:</b> Increases fever intensity, fever can overheat and harm the host.<br>\
<b>Resistance 10:</b> Further increases fever intensity."
threshold_descs = list(
"Resistance 5" = "Increases fever intensity, fever can overheat and harm the host.",
"Resistance 10" = "Further increases fever intensity.",
)

/datum/symptom/fever/Start(datum/disease/advance/A)
if(!..())
Expand Down
18 changes: 11 additions & 7 deletions code/datums/diseases/advance/symptoms/fire.dm
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,12 @@ Bonus
symptom_delay_min = 20
symptom_delay_max = 75
var/infective = FALSE
threshold_desc = "<b>Stage Speed 4:</b> Increases the intensity of the flames.<br>\
<b>Stage Speed 8:</b> Further increases flame intensity.<br>\
<b>Transmission 8:</b> Host will spread the virus through skin flakes when bursting into flame.<br>\
<b>Stealth 4:</b> The symptom remains hidden until active."
threshold_descs = list(
"Stage Speed 4" = "Increases the intensity of the flames.",
"Stage Speed 8" = "Further increases flame intensity.",
"Transmission 8" = "Host will spread the virus through skin flakes when bursting into flame.",
"Stealth 4" = "The symptom remains hidden until active.",
)

/datum/symptom/fire/Start(datum/disease/advance/A)
if(!..())
Expand Down Expand Up @@ -112,9 +114,11 @@ Bonus
symptom_delay_max = 90
var/chems = FALSE
var/explosion_power = 1
threshold_desc = "<b>Resistance 9:</b> Doubles the intensity of the effect, but reduces its frequency.<br>\
<b>Stage Speed 8:</b> Increases explosion radius when the host is wet.<br>\
<b>Transmission 8:</b> Additionally synthesizes chlorine trifluoride and napalm inside the host."
threshold_descs = list(
"Resistance 9" = "Doubles the intensity of the immolation effect, but reduces the frequency of all of this symptom's effects.",
"Stage Speed 8" = "Increases explosion radius and explosion damage to the host when the host is wet.",
"Transmission 8" = "Additionally synthesizes chlorine trifluoride and napalm inside the host. More chemicals are synthesized if the resistance 9 threshold has been met."
)

/datum/symptom/alkali/Start(datum/disease/advance/A)
if(!..())
Expand Down
14 changes: 9 additions & 5 deletions code/datums/diseases/advance/symptoms/flesh_eating.dm
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,10 @@ Bonus
symptom_delay_max = 60
var/bleed = FALSE
var/pain = FALSE
threshold_desc = "<b>Resistance 7:</b> Host will bleed profusely during necrosis.<br>\
<b>Transmission 8:</b> Causes extreme pain to the host, weakening it."
threshold_descs = list(
"Resistance 7" = "Host will bleed profusely during necrosis.",
"Transmission 8" = "Causes extreme pain to the host, weakening it.",
)

/datum/symptom/flesh_eating/Start(datum/disease/advance/A)
if(!..())
Expand Down Expand Up @@ -88,8 +90,10 @@ Bonus
symptom_delay_max = 6
var/chems = FALSE
var/zombie = FALSE
threshold_desc = "<b>Stage Speed 7:</b> Synthesizes Heparin and Lipolicide inside the host, causing increased bleeding and hunger.<br>\
<b>Stealth 5:</b> The symptom remains hidden until active."
threshold_descs = list(
"Stage Speed 7" = "Synthesizes Heparin and Lipolicide inside the host, causing increased bleeding and hunger.",
"Stealth 5" = "The symptom remains hidden until active.",
)

/datum/symptom/flesh_death/Start(datum/disease/advance/A)
if(!..())
Expand Down Expand Up @@ -119,4 +123,4 @@ Bonus
M.reagents.add_reagent_list(list(/datum/reagent/toxin/heparin = 2, /datum/reagent/toxin/lipolicide = 2))
if(zombie)
M.reagents.add_reagent(/datum/reagent/romerol, 1)
return 1
return 1
9 changes: 6 additions & 3 deletions code/datums/diseases/advance/symptoms/genetics.dm
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,12 @@ Bonus
symptom_delay_min = 60
symptom_delay_max = 120
var/no_reset = FALSE
threshold_desc = "<b>Resistance 8:</b> Causes two harmful mutations at once.<br>\
<b>Stage Speed 10:</b> Increases mutation frequency.<br>\
<b>Stealth 5:</b> The mutations persist even if the virus is cured."
threshold_descs = list(
"Resistance 8" = "The negative and mildly negative mutations caused by the virus are mutadone-proof (but will still be undone when the virus is cured if the resistance 14 threshold is not met).",
"Resistance 14" = "The host's genetic alterations are not undone when the virus is cured.",
"Stage Speed 10" = "The virus activates dormant mutations at a much faster rate.",
"Stealth 5" = "Only activates negative mutations in hosts."
)

/datum/symptom/genetic_mutation/Activate(datum/disease/advance/A)
if(!..())
Expand Down
6 changes: 4 additions & 2 deletions code/datums/diseases/advance/symptoms/hallucigen.dm
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,10 @@ Bonus
symptom_delay_min = 25
symptom_delay_max = 90
var/fake_healthy = FALSE
threshold_desc = "<b>Stage Speed 7:</b> Increases the amount of hallucinations.<br>\
<b>Stealth 4:</b> The virus mimics positive symptoms.."
threshold_descs = list(
"Stage Speed 7" = "Increases the amount of hallucinations.",
"Stealth 4" = "The virus mimics positive symptoms.",
)

/datum/symptom/hallucigen/Start(datum/disease/advance/A)
if(!..())
Expand Down
10 changes: 6 additions & 4 deletions code/datums/diseases/advance/symptoms/headache.dm
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,11 @@ BONUS
base_message_chance = 100
symptom_delay_min = 15
symptom_delay_max = 30
threshold_desc = "<b>Stage Speed 6:</b> Headaches will cause severe pain, that weakens the host.<br>\
<b>Stage Speed 9:</b> Headaches become less frequent but far more intense, preventing any action from the host.<br>\
<b>Stealth 4:</b> Reduces headache frequency until later stages."
threshold_descs = list(
"Stage Speed 6" = "Headaches will cause severe pain, that weakens the host.",
"Stage Speed 9" = "Headaches become less frequent but far more intense, preventing any action from the host.",
"Stealth 4" = "Reduces headache frequency until later stages.",
)

/datum/symptom/headache/Start(datum/disease/advance/A)
if(!..())
Expand All @@ -57,4 +59,4 @@ BONUS
M.adjustStaminaLoss(25)
if(power >= 3 && A.stage >= 5)
to_chat(M, "<span class='userdanger'>[pick("Your head hurts!", "You feel a burning knife inside your brain!", "A wave of pain fills your head!")]</span>")
M.Stun(35)
M.Stun(35)
53 changes: 36 additions & 17 deletions code/datums/diseases/advance/symptoms/heal.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,10 @@
symptom_delay_min = 1
symptom_delay_max = 1
var/passive_message = "" //random message to infected but not actively healing people
threshold_desc = "<b>Stage Speed 6:</b> Doubles healing speed.<br>\
<b>Stealth 4:</b> Healing will no longer be visible to onlookers."
threshold_descs = list(
"Stage Speed 6" = "Doubles healing speed.",
"Stealth 4" = "Healing will no longer be visible to onlookers.",
)

/datum/symptom/heal/Start(datum/disease/advance/A)
if(!..())
Expand Down Expand Up @@ -54,8 +56,10 @@
level = 6
passive_message = "<span class='notice'>You miss the feeling of starlight on your skin.</span>"
var/nearspace_penalty = 0.3
threshold_desc = "<b>Stage Speed 6:</b> Increases healing speed.<br>\
<b>Transmission 6:</b> Removes penalty for only being close to space."
threshold_descs = list(
"Stage Speed 6" = "Increases healing speed.",
"Transmission 6" = "Removes penalty for only being close to space.",
)

/datum/symptom/heal/starlight/Start(datum/disease/advance/A)
if(!..())
Expand Down Expand Up @@ -105,8 +109,10 @@
level = 7
var/food_conversion = FALSE
desc = "The virus rapidly breaks down any foreign chemicals in the bloodstream."
threshold_desc = "<b>Resistance 7:</b> Increases chem removal speed.<br>\
<b>Stage Speed 6:</b> Consumed chemicals nourish the host."
threshold_descs = list(
"Resistance 7" = "Increases chem removal speed.",
"Stage Speed 6" = "Consumed chemicals nourish the host.",
)

/datum/symptom/heal/chem/Start(datum/disease/advance/A)
if(!..())
Expand Down Expand Up @@ -138,8 +144,10 @@
var/reduced_hunger = FALSE
desc = "The virus causes the host's metabolism to accelerate rapidly, making them process chemicals twice as fast,\
but also causing increased hunger."
threshold_desc = "<b>Stealth 3:</b> Reduces hunger rate.<br>\
<b>Stage Speed 10:</b> Chemical metabolization is tripled instead of doubled."
threshold_descs = list(
"Stealth 3" = "Reduces hunger rate.",
"Stage Speed 10" = "Chemical metabolization is tripled instead of doubled.",
)

/datum/symptom/heal/metabolism/Start(datum/disease/advance/A)
if(!..())
Expand Down Expand Up @@ -171,7 +179,9 @@
transmittable = -1
level = 6
passive_message = "<span class='notice'>You feel tingling on your skin as light passes over it.</span>"
threshold_desc = "<b>Stage Speed 8:</b> Doubles healing speed."
threshold_descs = list(
"Stage Speed 8" = "Doubles healing speed.",
)

/datum/symptom/heal/darkness/Start(datum/disease/advance/A)
if(!..())
Expand Down Expand Up @@ -220,8 +230,11 @@
passive_message = "<span class='notice'>The pain from your wounds makes you feel oddly sleepy...</span>"
var/deathgasp = FALSE
var/active_coma = FALSE //to prevent multiple coma procs
threshold_desc = "<b>Stealth 2:</b> Host appears to die when falling into a coma.<br>\
<b>Stage Speed 7:</b> Increases healing speed."
threshold_descs = list(
"Stealth 2" = "Host appears to die when falling into a coma.",
"Resistance 4" = "The virus also stabilizes the host while they are in critical condition.",
"Stage Speed 7" = "Increases healing speed.",
)

/datum/symptom/heal/coma/Start(datum/disease/advance/A)
if(!..())
Expand Down Expand Up @@ -294,8 +307,10 @@
level = 6
passive_message = "<span class='notice'>Your skin feels oddly dry...</span>"
var/absorption_coeff = 1
threshold_desc = "<b>Resistance 5:</b> Water is consumed at a much slower rate.<br>\
<b>Stage Speed 7:</b> Increases healing speed."
threshold_descs = list(
"Resistance 5" = "Water is consumed at a much slower rate.",
"Stage Speed 7" = "Increases healing speed.",
)

/datum/symptom/heal/water/Start(datum/disease/advance/A)
if(!..())
Expand Down Expand Up @@ -350,8 +365,10 @@
level = 8
passive_message = "<span class='notice'>You feel an odd attraction to plasma.</span>"
var/temp_rate = 1
threshold_desc = "<b>Transmission 6:</b> Increases temperature adjustment rate.<br>\
<b>Stage Speed 7:</b> Increases healing speed."
threshold_descs = list(
"Transmission 6" = "Increases temperature adjustment rate.",
"Stage Speed 7" = "Increases healing speed.",
)

/datum/symptom/heal/plasma/Start(datum/disease/advance/A)
if(!..())
Expand Down Expand Up @@ -417,8 +434,10 @@
symptom_delay_max = 1
passive_message = "<span class='notice'>Your skin glows faintly for a moment.</span>"
var/cellular_damage = FALSE
threshold_desc = "<b>Transmission 6:</b> Additionally heals cellular damage.<br>\
<b>Resistance 7:</b> Increases healing speed."
threshold_descs = list(
"Transmission 6" = "Additionally heals cellular damage.",
"Resistance 7" = "Increases healing speed.",
)

/datum/symptom/heal/radiation/Start(datum/disease/advance/A)
if(!..())
Expand Down
Loading