mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-12 11:13:16 +00:00
[MIRROR] Viruses now spawn with random names (#11082)
Co-authored-by: Guti <32563288+TheCaramelion@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
c7034ef30c
commit
f9734b9232
@@ -17,7 +17,7 @@ GLOBAL_LIST_INIT(advance_cures, list(
|
||||
))
|
||||
|
||||
/datum/disease/advance
|
||||
name = "Unknown"
|
||||
name = DEVELOPER_WARNING_NAME
|
||||
desc = "An engineered disease which can contain a multitude of symptoms."
|
||||
form = "Advance Disease"
|
||||
agent = "advance microbes"
|
||||
@@ -178,7 +178,7 @@ GLOBAL_LIST_INIT(advance_cures, list(
|
||||
else
|
||||
var/datum/disease/advance/A = GLOB.archive_diseases[GetDiseaseID()]
|
||||
var/actual_name = A.name
|
||||
if(actual_name != "Unknown")
|
||||
if(actual_name != DEVELOPER_WARNING_NAME)
|
||||
name = actual_name
|
||||
|
||||
|
||||
@@ -266,8 +266,10 @@ GLOBAL_LIST_INIT(advance_cures, list(
|
||||
severity = DISEASE_HARMFUL
|
||||
if(4)
|
||||
severity = DISEASE_DANGEROUS
|
||||
if(5 to INFINITY)
|
||||
if(5)
|
||||
severity = DISEASE_BIOHAZARD
|
||||
if(6 to INFINITY)
|
||||
severity = DISEASE_PANDEMIC
|
||||
else
|
||||
severity = "Unknown"
|
||||
|
||||
@@ -477,3 +479,103 @@ GLOBAL_LIST_INIT(advance_cures, list(
|
||||
GLOB.active_diseases += A
|
||||
|
||||
log_admin("[key_name(src)] has contracted the virus \"[A]\"")
|
||||
|
||||
/*
|
||||
* Generates a random name for a disease, depending on where it comes from
|
||||
*/
|
||||
/datum/disease/advance/proc/random_disease_name(var/atom/diseasesource)
|
||||
|
||||
if(length(symptoms) == 1)
|
||||
var/datum/symptom/main_symptom = symptoms[1]
|
||||
if(istype(main_symptom) && length(main_symptom.name))
|
||||
return main_symptom.name
|
||||
|
||||
// Prefixes. These need a space right after.
|
||||
var/list/prefixes = list("Spacer's ", "Space ", "Infectious ","Viral ", "The ", "[capitalize(prob(50) ? pick(first_names_male) : pick(first_names_female))]'s ", "[capitalize(pick(last_names))]'s ", "Acute ")
|
||||
var/list/bodies = list(pick("[capitalize(prob(50) ? pick(first_names_male) : pick(first_names_female))]", "[pick(last_names)]"), "Space", "Disease", "Noun", "Cold", "Germ", "Virus")
|
||||
// These might need some space before the word, depends on what you want to add.
|
||||
var/list/suffixes = list("ism", "itis", "osis", "itosis", " #[rand(1,10000)]", "-[rand(1,100)]", "s", "y", " Virus", " Bug", " Infection", " Disease", " Complex", " Syndrome", " Sickness")
|
||||
|
||||
if(stealth >=2)
|
||||
prefixes += "Crypto "
|
||||
switch(max(resistance - (symptoms.len / 2), 1))
|
||||
if(1)
|
||||
suffixes += "-alpha"
|
||||
if(2)
|
||||
suffixes += "-beta"
|
||||
if(3)
|
||||
suffixes += "-gamma"
|
||||
if(4)
|
||||
suffixes += "-delta"
|
||||
if(5)
|
||||
suffixes += "-epsilon"
|
||||
if(6)
|
||||
suffixes += pick("-zeta", "-eta", "-theta", "-iota")
|
||||
if(7)
|
||||
suffixes += pick("-kappa", "-lambda")
|
||||
if(8)
|
||||
suffixes += pick("-mu", "-nu", "-xi", "-omicron")
|
||||
if(9)
|
||||
suffixes += pick("-pi", "-rho", "-sigma", "-tau")
|
||||
if(10)
|
||||
suffixes += pick("-upsilon", "-phi", "-chi", "-psi")
|
||||
if(11 to INFINITY)
|
||||
suffixes += "-omega"
|
||||
prefixes += "Robust "
|
||||
switch(transmission - symptoms.len)
|
||||
if(-INFINITY to 2)
|
||||
prefixes += "Bloodborne "
|
||||
if(3)
|
||||
prefixes += list("Mucous ", "Kissing ")
|
||||
if(4)
|
||||
prefixes += "Contact "
|
||||
suffixes += " Flu"
|
||||
if(5 to INFINITY)
|
||||
prefixes += "Airborne "
|
||||
suffixes += " Plague"
|
||||
switch(severity)
|
||||
if(-INFINITY to 0)
|
||||
prefixes += "Altruistic "
|
||||
if(1 to 2)
|
||||
prefixes += "Benign "
|
||||
if(3 to 4)
|
||||
prefixes += "Malignant "
|
||||
if(5)
|
||||
prefixes += "Deadly "
|
||||
bodies += "Death"
|
||||
if(6 to INFINITY)
|
||||
prefixes += "Morbid "
|
||||
bodies += "Death"
|
||||
if(diseasesource)
|
||||
if(ishuman(diseasesource))
|
||||
var/mob/living/carbon/human/H = diseasesource
|
||||
prefixes += pick("[H.name]'s ", "[H.job]'s ", "[H.get_species()]'s ")
|
||||
bodies += pick("[H.name]", "[H.job]", "[H.get_species()]")
|
||||
if(H.get_species() == SPECIES_UNATHI || H.get_species() == SPECIES_TAJARAN)
|
||||
prefixes += list("Vermin ", "Zoo", "Maintenance ")
|
||||
bodies += list("Rat", "Maint")
|
||||
if(ismouse(diseasesource) && !istype(diseasesource, /mob/living/simple_mob/animal/passive/mouse/white/virology))
|
||||
prefixes += list("Vermin ", "Zoo", "Maintenance ")
|
||||
bodies += list("Rat", "Maint")
|
||||
else switch(diseasesource.type)
|
||||
if(/mob/living/simple_mob/animal/passive/mouse/white/virology)
|
||||
prefixes += list("Fleming's ", "Standard ")
|
||||
bodies += list("Freebie")
|
||||
if(/obj/effect/decal/cleanable/blood, /obj/effect/decal/cleanable/vomit/old)
|
||||
prefixes += list("Bloody ", "Maintenance ")
|
||||
bodies += list("Maint")
|
||||
if(/obj/item/reagent_containers/syringe/old)
|
||||
prefixes += list("Junkie ", "Maintenance ")
|
||||
bodies += list("Needle", "Maint")
|
||||
for(var/datum/symptom/S in symptoms)
|
||||
if(!S.neutered)
|
||||
prefixes += S.prefixes
|
||||
bodies += S.bodies
|
||||
suffixes += S.suffixes
|
||||
switch(rand(1, 3))
|
||||
if(1)
|
||||
return "[pick(prefixes)][pick(bodies)]"
|
||||
if(2)
|
||||
return "[pick(prefixes)][pick(bodies)][pick(suffixes)]"
|
||||
if(3)
|
||||
return "[pick(bodies)][pick(suffixes)]"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
/datum/disease/advance/random/minor
|
||||
max_symptoms_override = 4
|
||||
|
||||
/datum/disease/advance/random/New(max_symptoms, max_level = 6, min_level = 1, list/guaranteed_symptoms = setsymptom)
|
||||
/datum/disease/advance/random/New(max_symptoms, max_level = 6, min_level = 1, list/guaranteed_symptoms = setsymptom, var/atom/infected)
|
||||
if(!max_symptoms)
|
||||
max_symptoms = (2 + rand(1, (VIRUS_SYMPTOM_LIMIT - 2)))
|
||||
if(max_symptoms_override)
|
||||
@@ -35,6 +35,11 @@
|
||||
symptoms += new guaranteed_symptom
|
||||
Finalize()
|
||||
|
||||
if(randomname)
|
||||
var/randname = random_disease_name(infected)
|
||||
AssignName(randname)
|
||||
name = randname
|
||||
|
||||
/mob/living/carbon/human/proc/give_random_dormant_disease(biohazard = 25, min_symptoms = 2, max_symptoms = 4, min_level = 4, max_level = 9, list/guaranteed_symptoms = list())
|
||||
. = FALSE
|
||||
var/sickrisk = 1
|
||||
@@ -53,7 +58,7 @@
|
||||
|
||||
if(prob(min(100, (biohazard * sickrisk))))
|
||||
var/symptom_amt = rand(min_symptoms, max_symptoms)
|
||||
var/datum/disease/advance/dormant_disease = new /datum/disease/advance/random(symptom_amt, max_level, min_level, guaranteed_symptoms)
|
||||
var/datum/disease/advance/dormant_disease = new /datum/disease/advance/random(symptom_amt, max_level, min_level, guaranteed_symptoms, infected = src)
|
||||
dormant_disease.virus_modifiers |= DORMANT
|
||||
dormant_disease.spread_flags = DISEASE_SPREAD_NON_CONTAGIOUS
|
||||
dormant_disease.spread_text = "None"
|
||||
|
||||
@@ -37,6 +37,9 @@ BONUS
|
||||
var/strong_blob
|
||||
var/node_blob
|
||||
|
||||
prefixes = list("Xeno", "Sporing ")
|
||||
bodies = list("Blob")
|
||||
|
||||
/datum/symptom/blobspores/severityset(datum/disease/advance/A)
|
||||
. = ..()
|
||||
if(A.resistance >= 14)
|
||||
|
||||
@@ -35,6 +35,9 @@ Bonus
|
||||
"Transmission 8" = "Doubles the damage caused by the symptom."
|
||||
)
|
||||
|
||||
bodies = list("Lung")
|
||||
suffixes = list(" Tuberculosis")
|
||||
|
||||
/datum/symptom/choking/severityset(datum/disease/advance/A)
|
||||
. = ..()
|
||||
if(A.transmission >= 8)
|
||||
|
||||
@@ -17,6 +17,9 @@
|
||||
"Transmission 8" = "When the host dies, more roaches spawn."
|
||||
)
|
||||
|
||||
prefixes = list("Blatto")
|
||||
bodies = list("Roach")
|
||||
|
||||
/datum/symptom/cockroach/Start(datum/disease/advance/A)
|
||||
if(!..())
|
||||
return
|
||||
|
||||
@@ -33,6 +33,9 @@ Bonus
|
||||
"Stealth 4" = "The symptom remains hidden until active."
|
||||
)
|
||||
|
||||
prefixes = list("Dizzy ")
|
||||
bodies = list("Ditz")
|
||||
|
||||
/datum/symptom/confusion/severityset(datum/disease/advance/A)
|
||||
. = ..()
|
||||
if(A.resistance >= 6)
|
||||
|
||||
@@ -38,6 +38,8 @@ BONUS
|
||||
"Transmission 11" = "The hosts coughing will occasionally spread the virus."
|
||||
)
|
||||
|
||||
bodies = list("Cough")
|
||||
|
||||
/datum/symptom/cough/severityset(datum/disease/advance/A)
|
||||
. = ..()
|
||||
if(A.resistance >= 3)
|
||||
|
||||
@@ -33,6 +33,9 @@ Bonus
|
||||
"Stealth 4" = "The symptom remains hidden until active."
|
||||
)
|
||||
|
||||
prefixes = list("Aural ")
|
||||
bodies = list("Ear")
|
||||
|
||||
/datum/symptom/deafness/severityset(datum/disease/advance/A)
|
||||
. = ..()
|
||||
if(A.resistance >= 9)
|
||||
|
||||
@@ -35,12 +35,17 @@ Bonus
|
||||
"Resistance 10" = "Further increases fever intensity."
|
||||
)
|
||||
|
||||
bodies = list("Fever")
|
||||
suffixes = list(" Fever")
|
||||
|
||||
/datum/symptom/fever/severityset(datum/disease/advance/A)
|
||||
. = ..()
|
||||
if(A.resistance >= 5)
|
||||
severity += 1
|
||||
prefixes = list("Desert")
|
||||
if(A.resistance >= 10)
|
||||
severity += 1
|
||||
prefixes = list("Volcanic")
|
||||
|
||||
/datum/symptom/fever/Start(datum/disease/advance/A)
|
||||
if(!..())
|
||||
|
||||
@@ -38,6 +38,10 @@ Bonus
|
||||
"Stealth 4" = "The symptom remains hidden until active."
|
||||
)
|
||||
|
||||
prefixes = list("Burning ")
|
||||
bodies = list("Combustion")
|
||||
suffixes = list(" Combustion")
|
||||
|
||||
/datum/symptom/fire/Start(datum/disease/advance/A)
|
||||
if(!..())
|
||||
return
|
||||
|
||||
@@ -36,6 +36,9 @@ Bonus
|
||||
"Transmission 8" = "The host will bleed far more violently, loosing even more blood, and spraying infected blood everywhere."
|
||||
)
|
||||
|
||||
prefixes = list("Bloody ", "Hemo")
|
||||
bodies = list("Hemophilia")
|
||||
|
||||
/datum/symptom/flesh_eating/Start(datum/disease/advance/A)
|
||||
if(!..())
|
||||
return
|
||||
|
||||
@@ -27,6 +27,9 @@ BONUS
|
||||
level = 1
|
||||
severity = 0
|
||||
|
||||
prefixes = list("Acrobat's ", "Flippin' ")
|
||||
bodies = list("Flip")
|
||||
|
||||
/datum/symptom/flip/Activate(datum/disease/advance/A)
|
||||
if(!..())
|
||||
return
|
||||
|
||||
@@ -28,6 +28,8 @@ BONUS
|
||||
symptom_delay_min = 45
|
||||
symptom_delay_max = 90
|
||||
|
||||
bodies = list("Bald", "Scalp")
|
||||
|
||||
/datum/symptom/shedding/Activate(datum/disease/advance/A)
|
||||
if(!..())
|
||||
return
|
||||
|
||||
@@ -30,6 +30,9 @@ Bonus
|
||||
|
||||
var/fake_healthy = FALSE
|
||||
|
||||
prefixes = list("Narcotic ", "Narco", "Psycho-")
|
||||
suffixes = list(" Psychosis")
|
||||
|
||||
threshold_descs = list(
|
||||
"Stage Speed 7" = "Increases the amount of hallucinations.",
|
||||
"Stealth 2" = "The virus mimics positive symptoms"
|
||||
|
||||
@@ -34,6 +34,8 @@ BONUS
|
||||
"Stealth 4" = "Reduces headache frequency until later stages."
|
||||
)
|
||||
|
||||
bodies = list("Skull", "Migraine")
|
||||
|
||||
/datum/symptom/headache/severityset(datum/disease/advance/A)
|
||||
. = ..()
|
||||
if(A.stage_rate >= 6)
|
||||
|
||||
@@ -58,6 +58,8 @@
|
||||
"Stage Speed 6" = "Consumed chemicals nourish the host."
|
||||
)
|
||||
|
||||
prefixes = list("Toxo")
|
||||
|
||||
/datum/symptom/heal/chem/Start(datum/disease/advance/A)
|
||||
if(!..())
|
||||
return
|
||||
@@ -98,6 +100,9 @@
|
||||
"Stage Speed 12" = "The disease heals brute damage incredibly fast, but deteriorates cell health and causes tumors to become more advanced. The disease will also regenerate lost limbs."
|
||||
)
|
||||
|
||||
prefixes = list("Blood ", "Meat ", "Flesh ")
|
||||
bodies = list("Giant")
|
||||
|
||||
/datum/symptom/growth/Start(datum/disease/advance/A)
|
||||
if(!..())
|
||||
return
|
||||
@@ -165,6 +170,9 @@
|
||||
"Stage Speed 10" = "Chemical metabolization is tripled instead of doubled."
|
||||
)
|
||||
|
||||
prefixes = list("Metabolic ", "Junkie's ", "Chemical ")
|
||||
bodies = list("Hunger")
|
||||
|
||||
/datum/symptom/heal/metabolism/Start(datum/disease/advance/A)
|
||||
if(!..())
|
||||
return
|
||||
|
||||
@@ -34,6 +34,9 @@ BONUS
|
||||
"Stage Speed 7" = "The host will scratch itself when itchin, causing superficial damage."
|
||||
)
|
||||
|
||||
prefixes = list("Irritant ")
|
||||
bodies = list("Itch")
|
||||
|
||||
/datum/symptom/itching/Start(datum/disease/advance/A)
|
||||
if(!..())
|
||||
return
|
||||
|
||||
@@ -33,6 +33,9 @@ Bonus
|
||||
"Resistance 5" = "The host might end up speaking a completely made up language."
|
||||
)
|
||||
|
||||
prefixes = list("Babel's ", "Tongue-Twisting ")
|
||||
bodies = list("Tongue", "Language")
|
||||
|
||||
/datum/symptom/language/Start(datum/disease/advance/A)
|
||||
if(!..())
|
||||
return
|
||||
|
||||
@@ -12,6 +12,9 @@
|
||||
"Stealth 3" = "The virus causes a wider disparity between light and dark."
|
||||
)
|
||||
|
||||
prefixes = list("Photo", "Light ")
|
||||
bodies = list("Cramp")
|
||||
|
||||
/datum/symptom/light/severityset(datum/disease/advance/A)
|
||||
. = ..()
|
||||
if(A.stealth >= 3)
|
||||
|
||||
@@ -38,6 +38,9 @@ BONUS
|
||||
"Transmission 12" = "Phages will carry all diseases within the host, instead of only containing their own."
|
||||
)
|
||||
|
||||
prefixes = list("Ambulant ", "Macro")
|
||||
bodies = list("Phage")
|
||||
|
||||
/datum/symptom/macrophage/severityset(datum/disease/advance/A)
|
||||
. = ..()
|
||||
if(A.transmission >= 10)
|
||||
|
||||
@@ -32,6 +32,9 @@ BONUS
|
||||
"Transmission 8" = "The host will spread the virus through saliva when mlemming."
|
||||
)
|
||||
|
||||
prefixes = list("Mlemington's ", "Licking-")
|
||||
bodies = list("Mlem", "Lick")
|
||||
|
||||
/datum/symptom/mlem/severityset(datum/disease/advance/A)
|
||||
. = ..()
|
||||
if(A.transmission >= 8)
|
||||
|
||||
@@ -13,6 +13,9 @@
|
||||
"Speed 8" = "Host takes radiation damage faster."
|
||||
)
|
||||
|
||||
prefixes = list("Gamma ")
|
||||
bodies = list("Radiation")
|
||||
|
||||
/datum/symptom/radiation/severityset(datum/disease/advance/A)
|
||||
. = ..()
|
||||
if(A.stage_rate >= 8)
|
||||
@@ -65,6 +68,8 @@
|
||||
"Resistance 12" = "The disease also kills off genetically damaged cells, coverting Genetic damage to Burn damage, an inefficient rate."
|
||||
)
|
||||
|
||||
suffixes = list(" Aptosis")
|
||||
|
||||
/datum/symptom/radconversion/severityset(datum/disease/advance/A)
|
||||
. = ..()
|
||||
if(A.stage_rate >= 6)
|
||||
|
||||
@@ -34,6 +34,9 @@ Bonus
|
||||
"Stage Speed 10" = "Further increases cooling speed."
|
||||
)
|
||||
|
||||
bodies = list("Shiver")
|
||||
suffixes = list(" Shivers")
|
||||
|
||||
/datum/symptom/shivering/severityset(datum/disease/advance/A)
|
||||
. = ..()
|
||||
if(A.stage_rate >= 5)
|
||||
|
||||
@@ -43,7 +43,11 @@ BONUS
|
||||
min_size = RESIZE_NORMAL
|
||||
max_size = RESIZE_MAXIMUM
|
||||
|
||||
prefixes = list("Growing ", "Gigantic ")
|
||||
|
||||
/datum/symptom/size/shrink
|
||||
name = "Dwindling Malady"
|
||||
min_size = RESIZE_MINIMUM
|
||||
max_size = RESIZE_NORMAL
|
||||
|
||||
prefixes = list("Shrinking ", "Micro-")
|
||||
|
||||
@@ -35,6 +35,9 @@ Bonus
|
||||
"Trasmission 12" = "The host may spread the disease through sneezing."
|
||||
)
|
||||
|
||||
prefixes = list("Nasal ")
|
||||
bodies = list("Cold")
|
||||
|
||||
/datum/symptom/sneeze/Start(datum/disease/advance/A)
|
||||
if(!..())
|
||||
return
|
||||
@@ -86,6 +89,9 @@ Bonus
|
||||
level = 4
|
||||
severity = 3
|
||||
|
||||
prefixes = list("Nasal ", "Displacing ")
|
||||
bodies = list("Cold", "Bluespace")
|
||||
|
||||
/datum/symptom/bsneeze/Activate(datum/disease/advance/A)
|
||||
if(!..())
|
||||
return
|
||||
|
||||
@@ -31,6 +31,9 @@ BONUS
|
||||
|
||||
var/bigspin = FALSE
|
||||
|
||||
prefixes = list("Spinning ", "Rotatory ")
|
||||
bodies = list("Rotato")
|
||||
|
||||
/datum/symptom/spyndrome/Start(datum/disease/advance/A)
|
||||
if(!..())
|
||||
return
|
||||
|
||||
@@ -34,12 +34,17 @@ Bonus
|
||||
"Stage 8" = "The virus causes extreme nervousness and paranoia, resulting in occasional hallucinations, and extreme restlessness, but great overall energy."
|
||||
)
|
||||
|
||||
prefixes = list("Gray ", "Amped ", "Nervous ")
|
||||
bodies = list("Hyper")
|
||||
|
||||
/datum/symptom/stimulant/severityset(datum/disease/advance/A)
|
||||
. = ..()
|
||||
if(A.resistance >= 8)
|
||||
severity -= 1
|
||||
if(A.stage_rate >= 8)
|
||||
severity -= 1
|
||||
prefixes = list("Gray ", "Amped ", "Paranoid ")
|
||||
suffixes = list(" Madness", " Insanity")
|
||||
|
||||
/datum/symptom/stimulant/Start(datum/disease/advance/A)
|
||||
if(!..())
|
||||
|
||||
@@ -29,6 +29,10 @@ GLOBAL_LIST_INIT(list_symptoms, subtypesof(/datum/symptom))
|
||||
var/neutered = FALSE
|
||||
var/stopped = FALSE // Used for Viral Suspended Animaton, stops a symptom but doesn't neuter it.
|
||||
|
||||
var/list/prefixes = list()
|
||||
var/list/bodies = list()
|
||||
var/list/suffixes = list()
|
||||
|
||||
/datum/symptom/New()
|
||||
var/list/S = GLOB.list_symptoms
|
||||
for(var/i = 1; i <= length(S); i++)
|
||||
@@ -53,6 +57,9 @@ GLOBAL_LIST_INIT(list_symptoms, subtypesof(/datum/symptom))
|
||||
|
||||
/datum/symptom/proc/severityset(datum/disease/advance/A)
|
||||
severity = initial(severity)
|
||||
prefixes = initial(prefixes)
|
||||
bodies = initial(bodies)
|
||||
suffixes = initial(suffixes)
|
||||
|
||||
// Called when the advance disease is going to be deleted or when the advance disease stops processing.
|
||||
/datum/symptom/proc/End(datum/disease/advance/A)
|
||||
|
||||
@@ -23,6 +23,8 @@ BONUS
|
||||
level = 4
|
||||
severity = 0
|
||||
|
||||
prefixes = list("Chronic ")
|
||||
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
Viral evolution
|
||||
@@ -47,6 +49,8 @@ BONUS
|
||||
transmission = 3
|
||||
level = 4
|
||||
|
||||
prefixes = list("Unstable ")
|
||||
|
||||
/datum/symptom/viralpower
|
||||
name = "Viral Power Multiplier"
|
||||
desc = "The vrus has more powerful symptoms. May have unpredictable effects."
|
||||
@@ -116,6 +120,8 @@ BONUS
|
||||
|
||||
var/time_to_cure
|
||||
|
||||
prefixes = list("Spontaneous ")
|
||||
|
||||
/datum/symptom/viralreverse/Activate(datum/disease/advance/A)
|
||||
if(!..())
|
||||
return
|
||||
|
||||
@@ -35,6 +35,10 @@ Bonus
|
||||
"Stealth 4" = "The symptom remains hidden until active."
|
||||
)
|
||||
|
||||
prefixes = list("Eye ")
|
||||
bodies = list("Blind")
|
||||
suffixes = list(" Blindness")
|
||||
|
||||
/datum/symptom/visionloss/severityset(datum/disease/advance/A)
|
||||
. = ..()
|
||||
if(A.resistance >= 12)
|
||||
|
||||
@@ -37,6 +37,10 @@ Bonus
|
||||
"Stealth 4" = "The symptom remans hidden until active."
|
||||
)
|
||||
|
||||
prefixes = list("Digestive ")
|
||||
bodies = list("Vomit")
|
||||
suffixes = list(" Emission")
|
||||
|
||||
/datum/symptom/vomit/Start(datum/disease/advance/A)
|
||||
if(!..())
|
||||
return
|
||||
|
||||
@@ -26,6 +26,8 @@ Bonus
|
||||
level = 3
|
||||
severity = 3
|
||||
|
||||
prefixes = list("Weakening ", "Weak's ")
|
||||
|
||||
/datum/symptom/weakness/Activate(datum/disease/advance/A)
|
||||
..()
|
||||
if(prob(SYMPTOM_ACTIVATION_PROB))
|
||||
|
||||
@@ -35,6 +35,8 @@ Bonus
|
||||
"Stealth 2" = "The symptom is less noticeable, and does not cause starvation."
|
||||
)
|
||||
|
||||
prefixes = list("Hungry ")
|
||||
|
||||
/datum/symptom/weight_loss/severityset(datum/disease/advance/A)
|
||||
. = ..()
|
||||
if(A.stealth >= 2)
|
||||
|
||||
@@ -11,6 +11,9 @@
|
||||
symptom_delay_min = 25 SECONDS
|
||||
symptom_delay_max = 50 SECONDS
|
||||
|
||||
prefixes = list("Eternal ")
|
||||
bodies = list("Immortal", "Elixir")
|
||||
|
||||
/datum/symptom/youth/Activate(datum/disease/advance/A)
|
||||
if(!..())
|
||||
return
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/datum/disease/anxiety
|
||||
name = "Severe Anxiety"
|
||||
medical_name = "Lepidopteric Hyperemesis"
|
||||
form = "Infection"
|
||||
max_stages = 4
|
||||
spread_text = "On contact"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/datum/disease/appendicitis
|
||||
form = "Condition"
|
||||
name = "Appendicitis"
|
||||
medical_name = "Appendicitis"
|
||||
max_stages = 3
|
||||
spread_text = "Non-contagious"
|
||||
disease_flags = CAN_CARRY|CAN_RESIST|CAN_NOT_POPULATE
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/datum/disease/beesease
|
||||
name = "Beesease"
|
||||
medical_name = "Apidaemia"
|
||||
form = "Infection"
|
||||
max_stages = 4
|
||||
spread_text = "On contact"
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/datum/disease/brainrot
|
||||
name = "Brainrot"
|
||||
medical_name = "Encephalonecrosis"
|
||||
max_stages = 4
|
||||
spread_text = "On contact"
|
||||
spread_flags = DISEASE_SPREAD_BLOOD | DISEASE_SPREAD_FLUIDS | DISEASE_SPREAD_CONTACT
|
||||
@@ -8,7 +9,7 @@
|
||||
agent = "Cryptococcus Cosmosis"
|
||||
viable_mobtypes = list(/mob/living/carbon/human)
|
||||
cure_chance = 15
|
||||
desc = "This disease destroys the braincells, causing brain fever, brain necrosis and general intoxication."
|
||||
desc = "Destroys the braincells, causing brain fever, brain necrosis and general intoxication."
|
||||
required_organs = list(/obj/item/organ/internal/brain)
|
||||
danger = DISEASE_HARMFUL
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/datum/disease/choreomania
|
||||
name = "Choreomania"
|
||||
medical_name = "Choreatic Hyperkinesia"
|
||||
max_stages = 3
|
||||
spread_text = "Airborne"
|
||||
spread_flags = DISEASE_SPREAD_AIRBORNE | DISEASE_SPREAD_CONTACT | DISEASE_SPREAD_BLOOD | DISEASE_SPREAD_FLUIDS
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/datum/disease/cold
|
||||
name = "The Cold"
|
||||
medical_name = "Common Cold"
|
||||
max_stages = 3
|
||||
spread_text = "Airborne"
|
||||
spread_flags = DISEASE_SPREAD_AIRBORNE
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/datum/disease/fake_gbs
|
||||
name = "GBS"
|
||||
medical_name = "Neutered Guillain-Barré Syndrome"
|
||||
max_stages = 5
|
||||
spread_text = "On contact"
|
||||
spread_flags = DISEASE_SPREAD_CONTACT | DISEASE_SPREAD_BLOOD | DISEASE_SPREAD_FLUIDS
|
||||
@@ -7,7 +8,7 @@
|
||||
cures = list(REAGENT_ID_ADRANOL, REAGENT_ID_SULFUR)
|
||||
agent = "Gravitokinetic Bipotential SADS-"
|
||||
viable_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/human/monkey)
|
||||
desc = "if left untreated death will occur."
|
||||
desc = "If left untreated death will occur."
|
||||
danger = DISEASE_BIOHAZARD // Mimics real GBS
|
||||
|
||||
/datum/disease/fake_gbs/stage_act()
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/datum/disease/flu
|
||||
name = "The Flu"
|
||||
medical_name = "Influenza"
|
||||
max_stages = 3
|
||||
spread_text = "Airborne"
|
||||
cure_text = REAGENT_SPACEACILLIN
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/datum/disease/food_poisoning
|
||||
name = "Food Poisoning"
|
||||
medical_name = "Gastroenteritis"
|
||||
max_stages = 3
|
||||
stage_prob = 5
|
||||
spread_text = "Non-Contagious"
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
/datum/disease/gbs
|
||||
name = "GBS"
|
||||
medical_name = "Guillain-Barré Syndrome"
|
||||
desc = "If left untreated death will occur."
|
||||
max_stages = 5
|
||||
spread_text = "On contact"
|
||||
spread_flags = DISEASE_SPREAD_CONTACT | DISEASE_SPREAD_BLOOD | DISEASE_SPREAD_FLUIDS
|
||||
@@ -40,6 +42,8 @@
|
||||
|
||||
/datum/disease/gbs/curable
|
||||
name = "Non-Contagious GBS"
|
||||
medical_name = "Non-Contagious Guillain-Barré Syndrome"
|
||||
desc = "If left untreated death will occur."
|
||||
stage_prob = 5
|
||||
spread_text = "Non-contagious"
|
||||
spread_flags = DISEASE_SPREAD_NON_CONTAGIOUS
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/datum/disease/lycan
|
||||
name = "Lycancoughy"
|
||||
medical_name = "Lycanthropic Hyperemesis"
|
||||
form = "Infection"
|
||||
max_stages = 4
|
||||
spread_text = "On contact"
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/datum/disease/magnitis
|
||||
name = "Magnitis"
|
||||
medical_name = "Acquired Magnetotaxis Disorder"
|
||||
max_stages = 4
|
||||
spread_text = "Airbone"
|
||||
cure_text = REAGENT_IRON
|
||||
|
||||
@@ -270,7 +270,7 @@ var/global/list/image/splatter_cache=list()
|
||||
//This version should be used for admin spawns and pre-mapped virus vectors (e.g. in PoIs), this version does not dry
|
||||
/obj/effect/decal/cleanable/mucus/mapped/Initialize(mapload)
|
||||
. = ..()
|
||||
viruses |= new /datum/disease/advance
|
||||
viruses |= new /datum/disease/advance/random(rand(3, 6), 9, 4, infected = src)
|
||||
|
||||
/obj/effect/decal/cleanable/mucus/mapped/Destroy()
|
||||
viruses.Cut()
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
|
||||
if(prob(40))
|
||||
LAZYINITLIST(rat_diseases)
|
||||
rat_diseases += new /datum/disease/advance/random(rand(1, 5), 9, 1)
|
||||
rat_diseases += new /datum/disease/advance/random(rand(1, 5), 9, 1, infected = src)
|
||||
|
||||
/mob/living/simple_mob/animal/passive/mouse/extrapolator_act(mob/living/user, obj/item/extrapolator/extrapolator, dry_run = FALSE)
|
||||
. = ..()
|
||||
@@ -246,7 +246,7 @@
|
||||
..()
|
||||
name = initial(name)
|
||||
desc = initial(desc)
|
||||
rat_diseases += new /datum/disease/advance/random(2, 2, 1)
|
||||
rat_diseases += new /datum/disease/advance/random(2, 2, 1, infected = src)
|
||||
|
||||
/mob/living/simple_mob/animal/passive/mouse/white/virology/Crossed(atom/movable/AM)
|
||||
. = ..()
|
||||
|
||||
@@ -503,7 +503,7 @@
|
||||
/obj/item/reagent_containers/syringe/old/Initialize(mapload)
|
||||
. = ..()
|
||||
if(prob(75))
|
||||
var/datum/disease/advance/new_disease = new /datum/disease/advance/random(rand(1, 3), rand(7, 9), 2)
|
||||
var/datum/disease/advance/new_disease = new /datum/disease/advance/random(rand(1, 3), rand(7, 9), 2, infected = src)
|
||||
src.viruses += new_disease
|
||||
|
||||
#undef SYRINGE_DRAW
|
||||
|
||||
Reference in New Issue
Block a user