From 9f52fc0b1c182fd2d3510b6dcea458368f7ce338 Mon Sep 17 00:00:00 2001 From: Guti Date: Mon, 25 Nov 2024 17:05:54 +0100 Subject: [PATCH 1/7] Sick stuff --- code/__defines/diseases.dm | 1 - code/datums/diseases/advance/advance.dm | 11 ++- .../diseases/advance/symptoms/deafness.dm | 38 +++++++++ .../diseases/advance/symptoms/flesh_eating.dm | 2 +- code/datums/diseases/advance/symptoms/flip.dm | 33 ++++++++ code/datums/diseases/advance/symptoms/hair.dm | 56 +++++++++++++ code/datums/diseases/advance/symptoms/heal.dm | 4 +- .../diseases/advance/symptoms/hematophagy.dm | 42 ++++++++++ .../advance/symptoms/photosensitivity.dm | 41 ++++++++++ code/datums/diseases/advance/symptoms/pica.dm | 46 +++++++++++ code/datums/diseases/advance/symptoms/size.dm | 82 +++++++++++++++++++ code/datums/diseases/advance/symptoms/spin.dm | 4 +- .../diseases/advance/symptoms/stimulant.dm | 43 ++++++++++ .../advance/symptoms/synthetic_infection.dm | 3 +- code/datums/diseases/appendicitis.dm | 45 ++++++++++ code/modules/organs/internal/appendix.dm | 9 +- .../reagents/reactions/instant/virology.dm | 27 ++++++ code/modules/reagents/reagents/virology.dm | 6 ++ vorestation.dme | 10 ++- 19 files changed, 486 insertions(+), 17 deletions(-) create mode 100644 code/datums/diseases/advance/symptoms/deafness.dm create mode 100644 code/datums/diseases/advance/symptoms/flip.dm create mode 100644 code/datums/diseases/advance/symptoms/hair.dm create mode 100644 code/datums/diseases/advance/symptoms/hematophagy.dm create mode 100644 code/datums/diseases/advance/symptoms/photosensitivity.dm create mode 100644 code/datums/diseases/advance/symptoms/pica.dm create mode 100644 code/datums/diseases/advance/symptoms/size.dm create mode 100644 code/datums/diseases/advance/symptoms/stimulant.dm create mode 100644 code/datums/diseases/appendicitis.dm diff --git a/code/__defines/diseases.dm b/code/__defines/diseases.dm index 30f1d6252be..97f00252284 100644 --- a/code/__defines/diseases.dm +++ b/code/__defines/diseases.dm @@ -18,7 +18,6 @@ #define CONTACT_GENERAL (1<<5) #define AIRBORNE (1<<6) - //Severity Defines #define NONTHREAT "No threat" #define MINOR "Minor" diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm index 4e593ea7f13..4e5cfc6d3f2 100644 --- a/code/datums/diseases/advance/advance.dm +++ b/code/datums/diseases/advance/advance.dm @@ -3,8 +3,8 @@ GLOBAL_LIST_EMPTY(archive_diseases) GLOBAL_LIST_INIT(advance_cures, list( "sodiumchloride", "sugar", "orangejuice", "spaceacilin", "glucose", "ethanol", - "dyloteane", "impedrezene", "hepanephrodaxon", - "gold", "silver" + "leporazine", "impedrezene", "hepanephrodaxon", + "silver", "gold" )) /datum/disease/advance @@ -235,6 +235,13 @@ GLOBAL_LIST_INIT(advance_cures, list( Refresh(1) return +/datum/disease/advance/proc/PickyEvolve(var/list/datum/symptom/D) + var/s = safepick(D) + if(s) + AddSymptom(new s) + Refresh(1) + return + // Randomly remove a symptom. /datum/disease/advance/proc/Devolve() if(length(symptoms) > 1) diff --git a/code/datums/diseases/advance/symptoms/deafness.dm b/code/datums/diseases/advance/symptoms/deafness.dm new file mode 100644 index 00000000000..21a44b2e9f4 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/deafness.dm @@ -0,0 +1,38 @@ +/* +////////////////////////////////////// + +Deafness + + Slightly hidden. + Lowers resistance. + Increases stage speed slightly. + Decreases transmittablity. + Intense Level. + +Bonus + Causes intermittent loss of hearing. + +////////////////////////////////////// +*/ + +/datum/symptom/deafness + name = "Deafness" + stealth = 1 + resistance = -2 + stage_speed = 1 + transmittable = -3 + level = 4 + severity = 3 + +/datum/symptom/deafness/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + + switch(A.stage) + if(3, 4) + to_chat(M, span_warning("[pick("you hear a ringing in your ear.", "You ears pop.")]")) + if(5) + to_chat(M, span_userdanger("You ear pop and begin ringing loudly!")) + M.ear_deaf += 20 + return diff --git a/code/datums/diseases/advance/symptoms/flesh_eating.dm b/code/datums/diseases/advance/symptoms/flesh_eating.dm index e91efab1c7c..00a5a273e7b 100644 --- a/code/datums/diseases/advance/symptoms/flesh_eating.dm +++ b/code/datums/diseases/advance/symptoms/flesh_eating.dm @@ -6,7 +6,7 @@ Necrotizing Fasciitis (AKA Flesh-Eating Disease) Very very noticable. Lowers resistance tremendously. No changes to stage speed. - Decreases transmittablity temrendously. + Decreases transmittablity tremendously. Fatal Level. Bonus diff --git a/code/datums/diseases/advance/symptoms/flip.dm b/code/datums/diseases/advance/symptoms/flip.dm new file mode 100644 index 00000000000..e210e4b3bfe --- /dev/null +++ b/code/datums/diseases/advance/symptoms/flip.dm @@ -0,0 +1,33 @@ +/* +////////////////////////////////////// + +Flippinov + + Slightly hidden. + No change to resistance. + Increases stage speed. + Little transmittable. + Low Level. + +BONUS + Makes the host FLIP. + Should be used for buffing your disease. + +////////////////////////////////////// +*/ + +/datum/symptom/spyndrome + name = "Flippinov" + stealth = 2 + resistance = 0 + stage_speed = 3 + transmittable = 1 + level = 1 + severity = 1 + +/datum/symptom/spyndrome/Activate(datum/disease/advance/A) + ..() + + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/L = A.affected_mob + L.emote("flip") diff --git a/code/datums/diseases/advance/symptoms/hair.dm b/code/datums/diseases/advance/symptoms/hair.dm new file mode 100644 index 00000000000..51186153551 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/hair.dm @@ -0,0 +1,56 @@ +/* +////////////////////////////////////// +Alopecia + + Noticable. + Decreases resistance slightly. + Reduces stage speed slightly. + Transmittable. + Intense Level. + +BONUS + Makes the mob lose hair. + +////////////////////////////////////// +*/ + +/datum/symptom/shedding + name = "Alopecia" + stealth = -1 + resistance = -1 + stage_speed = -1 + transmittable = 2 + level = 4 + severity = 1 + +/datum/symptom/shedding/Activate(datum/disease/advance/A) + ..() + if(!prob(SYMPTOM_ACTIVATION_PROB)) + return + if(ishuman(A.affected_mob)) + return + var/mob/living/carbon/human/H = A.affected_mob + var/obj/item/organ/external/head/head_organ = H.get_organ(BP_HEAD) + if(!istype(head_organ)) + return + to_chat(H, span_warning("[pick("Your scal itches.", "Your skin feels flakey.")]")) + + switch(A.stage) + if(3, 4) + if(H.h_style != "Bald" && H.h_style != "Balding Hair") + to_chat(H, span_warning("Your hair starts to fall out in clumps...")) + addtimer(CALLBACK(src, PROC_REF(change_hair), H, null, "Balding Hair"), 5 SECONDS) + if(5) + if(H.h_style != "Shaved" && H.h_style != "Bald") + to_chat(H, span_warning("Your hair starts to fall out in clumps...")) + addtimer(CALLBACK(src, PROC_REF(change_hair), H, "Shaved", "Bald"), 5 SECONDS) + return + +/datum/symptom/shedding/proc/change_hair(var/mob/living/carbon/human/H, f_style, h_style) + if(!H) + return + if(f_style) + H.f_style = f_style + if(h_style) + H.h_style = h_style + return diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm index f02ad95c32f..be3f8f95bde 100644 --- a/code/datums/diseases/advance/symptoms/heal.dm +++ b/code/datums/diseases/advance/symptoms/heal.dm @@ -130,7 +130,7 @@ Bonus Very high level. Bonus - Heals brain damage, treats radiation. + Heals clone damage, treats radiation. ////////////////////////////////////// */ @@ -145,6 +145,6 @@ Bonus /datum/symptom/heal/dna/Heal(var/mob/living/carbon/M, var/datum/disease/advance/A) var/amt_healed = (sqrtor0(20+A.totalStageSpeed()*(3+rand())))-(sqrtor0(16+A.totalStealth()*rand())) - M.adjustBrainLoss(-amt_healed) + M.apply_damage(-amt_healed, CLONE) M.radiation = max(M.radiation - 3, 0) return TRUE diff --git a/code/datums/diseases/advance/symptoms/hematophagy.dm b/code/datums/diseases/advance/symptoms/hematophagy.dm new file mode 100644 index 00000000000..53e5aa842d4 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/hematophagy.dm @@ -0,0 +1,42 @@ +/* +////////////////////////////////////// + +Hematophagy + + Little bit hidden. + Decreases resistance slightly. + Decreases stage speed tremendously. + Slightly increased transmittablity. + Intense level. + +BONUS + The host must feed on BLOOD + +////////////////////////////////////// +*/ + +/datum/symptom/hematophagy + name = "Hematophagy" + stealth = 1 + resistance = -1 + resistance = -4 + transmittable = 1 + level = 4 + +/datum/symptom/hematophagy/Start(datum/disease/advance/A) + if(ishuman(A.affected_mob)) + var/mob/living/carbon/human/H = A.affected_mob + + H.species.organic_food_coeff = 0 + H.species.bloodsucker = TRUE + + add_verb(H, /mob/living/carbon/human/proc/bloodsuck) + +/datum/symptom/hematophagy/End(datum/disease/advance/A) + if(ishuman(A.affected_mob)) + var/mob/living/carbon/human/H = A.affected_mob + + H.species.organic_food_coeff = initial(H.species.organic_food_coeff) + H.species.bloodsucker = initial(H.species.bloodsucker) + + remove_verb(H, /mob/living/carbon/human/proc/bloodsuck) diff --git a/code/datums/diseases/advance/symptoms/photosensitivity.dm b/code/datums/diseases/advance/symptoms/photosensitivity.dm new file mode 100644 index 00000000000..5908bfb259c --- /dev/null +++ b/code/datums/diseases/advance/symptoms/photosensitivity.dm @@ -0,0 +1,41 @@ +/* +////////////////////////////////////// + +Photosensitivity + + Noticable. + Increases resistance. + Increases stage speed slightly. + Decreases transmittablity tremendously. + Fatal Level. + +Bonus + Deals brute damage over time. + +////////////////////////////////////// +*/ + +/datum/symptom/photosensitivity + name = "Photosensitivity" + stealth = -2 + resistance = 2 + stage_speed = 1 + transmittable = -4 + level = 6 + severity = 5 + +/datum/symptom/photosensitivity/Activate(datum/disease/advance/A) + ..() + + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/carbon/human/H = A.affected_mob + var/turf/T = get_turf(H) + switch(A.stage) + if(3) + if(T.get_lumcount() > 0.5) + to_chat(H, span_danger("Your skin itches under the light...")) + if(4, 5) + if(T.get_lumcount() > 0.5) + to_chat(H, span_danger("Your skin feels like burning!")) + H.adjustFireLoss(T.get_lumcount()) + return diff --git a/code/datums/diseases/advance/symptoms/pica.dm b/code/datums/diseases/advance/symptoms/pica.dm new file mode 100644 index 00000000000..ddd7e282d85 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/pica.dm @@ -0,0 +1,46 @@ +/* +////////////////////////////////////// + +Pica + + Not noticable or unnoticable. + Decreases resistance. + Increases stage speed. + Little transmittable. + Low Level. + +BONUS + The host gains hunger for any kind of object. + +////////////////////////////////////// +*/ + +/datum/symptom/pica + name = "Pica" + stealth = 0 + resistance = -2 + stage_speed = 3 + transmittable = 1 + level = 1 + severity = 1 + +/datum/symptom/pica/Start(datum/disease/advance/A) + add_verb(A.affected_mob, /mob/living/proc/eat_trash) + add_verb(A.affected_mob, /mob/living/proc/toggle_trash_catching) + +/datum/symptom/pica/End(datum/disease/advance/A) + remove_verb(A.affected_mob, /mob/living/proc/eat_trash) + remove_verb(A.affected_mob, /mob/living/proc/toggle_trash_catching) + +/datum/symptom/pica/Activate(datum/disease/advance/A) + ..() + + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/list/nearby = oview(5, A.affected_mob) + to_chat(A.affected_mob, span_warning("You could go fo a bite of [pick(nearby)]...")) + else if (prob(SYMPTOM_ACTIVATION_PROB)) + if(ishuman(A.affected_mob)) + var/mob/living/carbon/human/H = A.affected_mob + var/list/item = H.get_equipped_items() + to_chat(H, span_warning("[pick(item)] looks oddly [pick("delicious", "tasty", "scrumptious", "inviting")]...")) + return diff --git a/code/datums/diseases/advance/symptoms/size.dm b/code/datums/diseases/advance/symptoms/size.dm new file mode 100644 index 00000000000..07429aac73d --- /dev/null +++ b/code/datums/diseases/advance/symptoms/size.dm @@ -0,0 +1,82 @@ +/* +////////////////////////////////////// + +Dwindling Malady + + Very noticeable. + Increases resistance slightly. + Increases stage speed. + Decreases transmittablity + Intense level. + +BONUS + Shrinks the host to small sizes + +////////////////////////////////////// +*/ + +/datum/symptom/size + name = "Dwindling Malady" + stealth = -4 + resistance = 1 + stage_speed = 2 + transmittable = -2 + level = 4 + severity = 1 + + var/initial_size + +/datum/symptom/size/Start(datum/disease/advance/A) + initial_size = A.affected_mob.size_multiplier + +/datum/symptom/size/End(datum/disease/advance/A) + A.affected_mob = initial_size + +/datum/symptom/size/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + + switch(A.stage) + if(1, 2, 3) + to_chat(M, span_notice("Your clothes feel loose.")) + if(4, 5) + if(prob(10)) + M.emote("twitches") + Resize(M, -rand(0.1, 0.5)) + +/datum/symptom/size/proc/Resize(mob/living/M, var/size) + M.resize(size+M.size_multiplier) + +/* +////////////////////////////////////// + +Enlargement Disorder + + Very noticeable. + Increases resistance slightly. + Increases stage speed. + Decreases transmittablity + Intense level. + +BONUS + Grows the host to bigger sizes + +////////////////////////////////////// +*/ + +/datum/symptom/size/grow + name = "Enlargement Disorder" + +/datum/symptom/size/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + + switch(A.stage) + if(1, 2, 3) + to_chat(M, span_notice("Your clothes feel tight.")) + if(4, 5) + if(prob(10)) + M.emote("twitches") + Resize(M, rand(0.1, 0.5)) diff --git a/code/datums/diseases/advance/symptoms/spin.dm b/code/datums/diseases/advance/symptoms/spin.dm index 995be34071b..e71554d0d26 100644 --- a/code/datums/diseases/advance/symptoms/spin.dm +++ b/code/datums/diseases/advance/symptoms/spin.dm @@ -16,7 +16,7 @@ BONUS ////////////////////////////////////// */ -/datum/symptom/mlem +/datum/symptom/spyndrome name = "Spyndrome" stealth = 2 resistance = 0 @@ -26,7 +26,7 @@ BONUS severity = 1 var/list/directions = list(2,4,1,8,2,4,1,8,2,4,1,8,2,4,1,8,2,4,1,8) -/datum/symptom/mlem/Activate(var/datum/disease/advance/A) +/datum/symptom/spyndrome/Activate(var/datum/disease/advance/A) ..() if(prob(SYMPTOM_ACTIVATION_PROB)) diff --git a/code/datums/diseases/advance/symptoms/stimulant.dm b/code/datums/diseases/advance/symptoms/stimulant.dm new file mode 100644 index 00000000000..4a427d4036f --- /dev/null +++ b/code/datums/diseases/advance/symptoms/stimulant.dm @@ -0,0 +1,43 @@ +/* +////////////////////////////////////// + +Healing + + No change to stealth. + Slightly decreases resistance. + Increases stage speed. + Decreases transmittablity considerably. + Moderate Level. + +Bonus + Heals toxins in the affected mob's blood stream. + +////////////////////////////////////// +*/ + +/datum/symptom/stimulant + name = "Overactive Adrenal Gland" + stealth = 0 + resistance = -1 + stage_speed = 2 + transmittable = -3 + level = 3 + severity = 1 + +/datum/symptom/stimulant/Activate(datum/disease/advance/A) + ..() + + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/L = A.affected_mob + to_chat(L, span_notice("You feel a rush of energy inside you!")) + switch(A.stage) + if(1, 2) + L.jitteriness += 5 + if(3, 4) + L.jitteriness += 10 + else + if(L.reagents.get_reagent_amount("hyperzine" < 10)) + L.reagents.add_reagent("hyperzine", 5) + if(prob(30)) + L.jitteriness += 15 + return diff --git a/code/datums/diseases/advance/symptoms/synthetic_infection.dm b/code/datums/diseases/advance/symptoms/synthetic_infection.dm index cb17d88c812..b34ce074818 100644 --- a/code/datums/diseases/advance/symptoms/synthetic_infection.dm +++ b/code/datums/diseases/advance/symptoms/synthetic_infection.dm @@ -1,7 +1,7 @@ /* ////////////////////////////////////// -Sneezing +Synthetic Infection Slightly hidden. Increases resistance. @@ -23,7 +23,6 @@ Bonus transmittable = 1 level = 5 severity = 3 - id = "synthetic_infection" /datum/symptom/infect_synthetics/Start(datum/disease/advance/A) A.infect_synthetics = TRUE diff --git a/code/datums/diseases/appendicitis.dm b/code/datums/diseases/appendicitis.dm new file mode 100644 index 00000000000..ab7f5383b31 --- /dev/null +++ b/code/datums/diseases/appendicitis.dm @@ -0,0 +1,45 @@ +/datum/disease/appendicitis + form = "Condition" + name = "Appendicitis" + max_stages = 3 + spread_text = "Non-contagius" + spread_flags = NON_CONTAGIOUS + cure_text = "Surgery" + agent = "Shitty Appendix" + viable_mobtypes = list(/mob/living/carbon/human) + desc = "If left untreated the subject will become very weak, and may vomit often." + severity = MINOR + disease_flags = CAN_CARRY|CAN_CARRY + visibility_flags = HIDDEN_PANDEMIC + required_organs = list(/obj/item/organ/internal/appendix) + bypasses_immunity = TRUE + virus_heal_resistant = TRUE + +/datum/disease/appendicitis/stage_act() + if(!..()) + return + switch(stage) + if(1) + if(prob(5)) + affected_mob.adjustToxLoss(1) + if(2) + var/obj/item/organ/internal/appendix/A = affected_mob.internal_organs_by_name[O_APPENDIX] + if(A) + A.inflamed = TRUE + if(prob(3)) + to_chat(affected_mob, span_warning("You feel a stabbing pain in your abdomen!")) + affected_mob.custom_emote(VISIBLE_MESSAGE, "winces painfully.") + affected_mob.Stun(rand(4, 6)) + affected_mob.adjustToxLoss(1) + if(3) + if(prob(1)) + to_chat(affected_mob, span_danger("Your abdomen is a world of pain!")) + affected_mob.custom_emote(VISIBLE_MESSAGE, "winces painfully.") + affected_mob.Weaken(10) + if(prob(1)) + affected_mob.vomit(95) + if(prob(5)) + to_chat(affected_mob, span_warning("You feel a stabbing pain in your abdomen!")) + affected_mob.custom_emote(VISIBLE_MESSAGE, "winces painfully.") + affected_mob.Stun(rand(4, 6)) + affected_mob.adjustToxLoss(2) diff --git a/code/modules/organs/internal/appendix.dm b/code/modules/organs/internal/appendix.dm index a941d5aadcf..456f8f157ce 100644 --- a/code/modules/organs/internal/appendix.dm +++ b/code/modules/organs/internal/appendix.dm @@ -9,12 +9,9 @@ /mob/living/carbon/human/proc/appendicitis() if(stat == DEAD) return 0 - var/obj/item/organ/internal/appendix/A = internal_organs_by_name[O_APPENDIX] - if(istype(A) && !A.inflamed) - A.inflamed = 1 - return 1 + ForceContractDisease(new /datum/disease/appendicitis) return 0 - +/* /obj/item/organ/internal/appendix/process() ..() @@ -47,7 +44,7 @@ owner.adjustToxLoss(25) groin.wounds += W inflamed = 1 - +*/ /obj/item/organ/internal/appendix/removed() if(inflamed) icon_state = "[initial(icon_state)]inflamed" diff --git a/code/modules/reagents/reactions/instant/virology.dm b/code/modules/reagents/reactions/instant/virology.dm index f8d50383267..e449cccb28e 100644 --- a/code/modules/reagents/reactions/instant/virology.dm +++ b/code/modules/reagents/reactions/instant/virology.dm @@ -40,6 +40,13 @@ required_reagents = list("inaprovaline" = 1, "mutagenvirusfood" = 1) result_amount = 2 +/decl/chemical_reaction/instant/virus_food_size + name = "sizeoxadone virus food" + id = "sizeoxadonevirusfood" + result = "sizevirusfood" + required_reagents = list("sizeoxadone" = 1, "phoronvirusfood" = 1) + result_amount = 2 + /decl/chemical_reaction/instant/mix_virus name = "Mix Virus" id = "mixvirus" @@ -48,6 +55,9 @@ var/level_min = 0 var/level_max = 2 +/decl/chemical_reaction/instant/mix_virus/picky + var/list/datum/symptom/symptoms + /decl/chemical_reaction/instant/mix_virus/on_reaction(datum/reagents/holder) var/datum/reagent/blood/B = locate(/datum/reagent/blood) in holder.reagent_list if(B && B.data) @@ -55,6 +65,13 @@ if(D) D.Evolve(level_min, level_max) +/decl/chemical_reaction/instant/mix_virus/picky/on_reaction(datum/reagents/holder) + var/datum/reagent/blood/B = locate(/datum/reagent/blood) in holder.reagent_list + if(B && B.data) + var/datum/disease/advance/D = locate(/datum/disease/advance) in B.data["viruses"] + if(D) + D.PickyEvolve(symptoms) + /decl/chemical_reaction/instant/mix_virus/mix_virus_2 name = "Mix Virus 2" id = "mixvirus2" @@ -111,6 +128,16 @@ level_min = 1 level_max = 1 +/decl/chemical_reaction/instant/mix_virus/picky/size + name = "Mix Virus Size" + id = "mixvirussize" + required_reagents = list("sizevirusfood" = 1) + symptoms = list( + /datum/symptom/macrophage, + /datum/symptom/size, + /datum/symptom/size/grow + ) + /decl/chemical_reaction/instant/mix_virus/rem_virus name = "Devolve Virus" id = "remvirus" diff --git a/code/modules/reagents/reagents/virology.dm b/code/modules/reagents/reagents/virology.dm index de6e77e3049..95badd98511 100644 --- a/code/modules/reagents/reagents/virology.dm +++ b/code/modules/reagents/reagents/virology.dm @@ -46,3 +46,9 @@ id = "weakphoronvirusfood" description = "Mutates viruses when mixed in blood. This one seems to have been weakened, but still strong." color = "#CEC3C6" + +/datum/reagent/toxin/phoron/phoronvirusfood/sizevirusfood + name = "Sizeoxadone virus food" + id = "sizevirusfood" + description = "Mutates virus when mixed in blood. This is a strange size mix..." + color = "#88AFDD" diff --git a/vorestation.dme b/vorestation.dme index dbe63b1438f..c61cff3cdd4 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -459,6 +459,7 @@ #include "code\datums\diseases\_disease.dm" #include "code\datums\diseases\_MobProcs.dm" #include "code\datums\diseases\anxiety.dm" +#include "code\datums\diseases\appendicitis.dm" #include "code\datums\diseases\beesease.dm" #include "code\datums\diseases\brainrot.dm" #include "code\datums\diseases\choreomania.dm" @@ -474,23 +475,30 @@ #include "code\datums\diseases\advance\symptoms\confusion.dm" #include "code\datums\diseases\advance\symptoms\cough.dm" #include "code\datums\diseases\advance\symptoms\damage_converter.dm" +#include "code\datums\diseases\advance\symptoms\deafness.dm" #include "code\datums\diseases\advance\symptoms\dizzy.dm" #include "code\datums\diseases\advance\symptoms\fever.dm" #include "code\datums\diseases\advance\symptoms\fire.dm" #include "code\datums\diseases\advance\symptoms\flesh_eating.dm" +#include "code\datums\diseases\advance\symptoms\flip.dm" +#include "code\datums\diseases\advance\symptoms\hair.dm" #include "code\datums\diseases\advance\symptoms\hallucigen.dm" #include "code\datums\diseases\advance\symptoms\headache.dm" #include "code\datums\diseases\advance\symptoms\heal.dm" +#include "code\datums\diseases\advance\symptoms\hematophagy.dm" #include "code\datums\diseases\advance\symptoms\itching.dm" #include "code\datums\diseases\advance\symptoms\language.dm" #include "code\datums\diseases\advance\symptoms\macrophage.dm" #include "code\datums\diseases\advance\symptoms\mlem.dm" #include "code\datums\diseases\advance\symptoms\necrotic_agent.dm" -#include "code\datums\diseases\advance\symptoms\oxygen.dm" +#include "code\datums\diseases\advance\symptoms\photosensitivity.dm" +#include "code\datums\diseases\advance\symptoms\pica.dm" #include "code\datums\diseases\advance\symptoms\sensory.dm" #include "code\datums\diseases\advance\symptoms\shivering.dm" +#include "code\datums\diseases\advance\symptoms\size.dm" #include "code\datums\diseases\advance\symptoms\sneeze.dm" #include "code\datums\diseases\advance\symptoms\spin.dm" +#include "code\datums\diseases\advance\symptoms\stimulant.dm" #include "code\datums\diseases\advance\symptoms\symptoms.dm" #include "code\datums\diseases\advance\symptoms\synthetic_infection.dm" #include "code\datums\diseases\advance\symptoms\telepathy.dm" From 58455f037caa31ae91ace107a30b3685f1ec4522 Mon Sep 17 00:00:00 2001 From: Guti Date: Mon, 25 Nov 2024 18:26:55 +0100 Subject: [PATCH 2/7] Board --- code/datums/diseases/advance/symptoms/hair.dm | 2 +- code/datums/diseases/fake_gbs.dm | 32 +++++++++++++++++++ code/game/machinery/pandemic.dm | 3 +- .../circuitboards/machinery/pandemic.dm | 16 ++++++++++ .../research/designs/circuits/circuits.dm | 7 ++++ vorestation.dme | 2 ++ 6 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 code/datums/diseases/fake_gbs.dm create mode 100644 code/game/objects/items/weapons/circuitboards/machinery/pandemic.dm diff --git a/code/datums/diseases/advance/symptoms/hair.dm b/code/datums/diseases/advance/symptoms/hair.dm index 51186153551..1a6c2ff109c 100644 --- a/code/datums/diseases/advance/symptoms/hair.dm +++ b/code/datums/diseases/advance/symptoms/hair.dm @@ -33,7 +33,7 @@ BONUS var/obj/item/organ/external/head/head_organ = H.get_organ(BP_HEAD) if(!istype(head_organ)) return - to_chat(H, span_warning("[pick("Your scal itches.", "Your skin feels flakey.")]")) + to_chat(H, span_warning("[pick("Your scalp itches.", "Your skin feels flakey.")]")) switch(A.stage) if(3, 4) diff --git a/code/datums/diseases/fake_gbs.dm b/code/datums/diseases/fake_gbs.dm new file mode 100644 index 00000000000..7060e9a82af --- /dev/null +++ b/code/datums/diseases/fake_gbs.dm @@ -0,0 +1,32 @@ +/datum/disease/fake_gbs + name = "GBS" + max_stages = 5 + spread_text = "On contact" + spread_flags = CONTACT_GENERAL + cure_text = "Adranol and sulfur" + cures = list("adranol", "sulfur") + agent = "Gravitokinetic Bipotential SADS-" + viable_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/human/monkey) + desc = "if left untreated death will occur." + severity = BIOHAZARD // Mimics real GBS + +/datum/disease/fake_gbs/stage_act() + if(!..()) + return FALSE + switch(stage) + if(2) + if(prob(1)) + affected_mob.emote("sneeze") + if(3) + if(prob(5)) + affected_mob.emote("cough") + else if(prob(5)) + affected_mob.emote("gasp") + if(prob(10)) + to_chat(span_danger("You're starting to feel very weak...")) + if(4) + if(prob(10)) + affected_mob.emote("cough") + if(5) + if(prob(10)) + affected_mob.emote("cough") diff --git a/code/game/machinery/pandemic.dm b/code/game/machinery/pandemic.dm index ae8687d6657..4df82ec7ed0 100644 --- a/code/game/machinery/pandemic.dm +++ b/code/game/machinery/pandemic.dm @@ -1,6 +1,7 @@ /obj/machinery/computer/pandemic name = "PanD.E.M.I.C 2200" desc = "Used to work with viruses." + circuit = /obj/item/circuitboard/pandemic density = TRUE anchored = TRUE icon = 'icons/obj/pandemic.dmi' @@ -325,7 +326,7 @@ printing = 1 var/obj/item/paper/P = new /obj/item/paper(loc) visible_message(span_notice("[src] rattles and prints out a sheet of paper.")) - // playsound(loc, 'sound/goonstation/machines/printer_dotmatrix.ogg', 50, 1) + playsound(loc, 'sound/machines/printer.ogg', 50, 1) P.info = "
Releasing Virus
" P.info += "
" diff --git a/code/game/objects/items/weapons/circuitboards/machinery/pandemic.dm b/code/game/objects/items/weapons/circuitboards/machinery/pandemic.dm new file mode 100644 index 00000000000..415044d0e51 --- /dev/null +++ b/code/game/objects/items/weapons/circuitboards/machinery/pandemic.dm @@ -0,0 +1,16 @@ +#ifndef T_BOARD +#error T_BOARD macro is not defined but we need it! +#endif + +/obj/item/circuitboard/pandemic + name = T_BOARD("pandemic") + build_path = /obj/machinery/computer/pandemic + board_type = new /datum/frame/frame_types/computer + origin_tech = list(TECH_DATA = 2, TECH_BIO = 2) + req_components = list( + /obj/item/stock_parts/matter_bin = 2, + /obj/item/stock_parts/scanning_module = 1, + /obj/item/stock_parts/manipulator = 1 + /obj/item/stack/cable_coil = 5, + /obj/item/stock_parts/capacitor = 1 + ) diff --git a/code/modules/research/designs/circuits/circuits.dm b/code/modules/research/designs/circuits/circuits.dm index 972ee1b1598..1ce050dfb3f 100644 --- a/code/modules/research/designs/circuits/circuits.dm +++ b/code/modules/research/designs/circuits/circuits.dm @@ -123,6 +123,13 @@ CIRCUITS BELOW build_path = /obj/item/circuitboard/crew sort_string = "FAGAI" +/datum/design/circuit/pandemic + name = "PanD.E.M.I.C 2200" + id = "pandemic" + req_tech = list(TECH_DATA = 2, TECH_BIO 2) + build_path = /obj/item/circuitboard/pandemic + sort_string = "FAGAJ" + /datum/design/circuit/teleconsole name = "teleporter control console" id = "teleconsole" diff --git a/vorestation.dme b/vorestation.dme index c61cff3cdd4..f732bd02f1b 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -465,6 +465,7 @@ #include "code\datums\diseases\choreomania.dm" #include "code\datums\diseases\cold.dm" #include "code\datums\diseases\cold9.dm" +#include "code\datums\diseases\fake_gbs.dm" #include "code\datums\diseases\flu.dm" #include "code\datums\diseases\food_poisoning.dm" #include "code\datums\diseases\lycancoughy.dm" @@ -1478,6 +1479,7 @@ #include "code\game\objects\items\weapons\circuitboards\machinery\mech_recharger.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\mining_drill.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\pacman.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\pandemic.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\papershredder.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\power.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\recharge_station.dm" From 7af9d30e3655b53113ec3651c36063b065542ba4 Mon Sep 17 00:00:00 2001 From: Guti Date: Tue, 26 Nov 2024 00:23:25 +0100 Subject: [PATCH 3/7] Few more stuff --- .../diseases/advance/symptoms/sneeze.dm | 75 +++++++++++++++++++ code/datums/diseases/advance/symptoms/spin.dm | 5 +- code/datums/diseases/gbs.dm | 49 ++++++++++++ .../circuitboards/machinery/pandemic.dm | 2 +- code/modules/events/disease_outbreak.dm | 3 +- code/modules/mob/living/death.dm | 6 ++ .../research/designs/circuits/circuits.dm | 2 +- vorestation.dme | 1 + 8 files changed, 136 insertions(+), 7 deletions(-) create mode 100644 code/datums/diseases/gbs.dm diff --git a/code/datums/diseases/advance/symptoms/sneeze.dm b/code/datums/diseases/advance/symptoms/sneeze.dm index d60baaa11a2..b48e58108dd 100644 --- a/code/datums/diseases/advance/symptoms/sneeze.dm +++ b/code/datums/diseases/advance/symptoms/sneeze.dm @@ -40,3 +40,78 @@ Bonus icky.viruses |= A.Copy() return + +/* +////////////////////////////////////// + +Bluespace Sneezing + + Very Noticable. + Resistant + Doesn't increase stage speed. + Little transmittable. + Low Level. + +Bonus + Forces a spread type of AIRBORNE + with extra range AND teleports the mob + +////////////////////////////////////// +*/ + +/datum/symptom/sneeze/bluespace + name = "Bluespace Sneezing" + stealth = -2 + resistance = 3 + stage_speed = 0 + transmittable = 1 + level = 4 + severity = 1 + +/datum/symptom/sneeze/bluespace/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(1, 2, 3) + M.emote("sniff") + else + SneezeTeleport(A, M) + A.spread(A.stage) + if(prob(30)) + var/obj/effect/decal/cleanable/mucus/icky = new(get_turf(M)) + icky.viruses |= A.Copy() + + return + +/datum/symptom/sneeze/bluespace/proc/SneezeTeleport(datum/disease/advance/A, var/mob/living/M) + var/list/destination = list() + var/mob/living/carbon/human/H = M + var/place + + for(var/mob/living/carbon/human/B in range(A.stage, M)) + if(B.can_be_drop_pred && H.can_be_drop_prey && H.devourable) + destination += B.vore_selected + + for(var/turf/T in range(A.stage, H)) + if(istype(T, /turf/space)) // No danger, this is just a fun/vore symptom + continue + destination += T + + if(isemptylist(destination)) + to_chat(H, span_warning("You go to sneeze, but can't.")) + return FALSE + + place = safepick(destination) + + var/mob/living/carbon/human/unlucky = locate() in place + + if(unlucky) + if(unlucky.can_be_drop_pred && H.can_be_drop_prey && H.devourable) + place = unlucky.vore_selected + else if(unlucky.devourable && unlucky.can_be_drop_prey && H.can_be_drop_pred) + unlucky.forceMove(H.vore_selected) + + H.emote("sneeze") + do_teleport(H, place) + return TRUE diff --git a/code/datums/diseases/advance/symptoms/spin.dm b/code/datums/diseases/advance/symptoms/spin.dm index e71554d0d26..055505dba95 100644 --- a/code/datums/diseases/advance/symptoms/spin.dm +++ b/code/datums/diseases/advance/symptoms/spin.dm @@ -24,7 +24,6 @@ BONUS transmittable = 1 level = 1 severity = 1 - var/list/directions = list(2,4,1,8,2,4,1,8,2,4,1,8,2,4,1,8,2,4,1,8) /datum/symptom/spyndrome/Activate(var/datum/disease/advance/A) ..() @@ -34,7 +33,5 @@ BONUS to_chat(viewers(A.affected_mob), span_warning("[A.affected_mob.name] struggles violently against their restraints!")) else to_chat(viewers(A.affected_mob), span_warning("[A.affected_mob.name] spins around violently!")) - for(var/D in directions) - A.affected_mob.dir = D - A.affected_mob.dir = pick(2,4,1,8) + A.affected_mob.emote("spin") return diff --git a/code/datums/diseases/gbs.dm b/code/datums/diseases/gbs.dm new file mode 100644 index 00000000000..ea2c755e279 --- /dev/null +++ b/code/datums/diseases/gbs.dm @@ -0,0 +1,49 @@ +/datum/disease/gbs + name = "GBS" + max_stages = 5 + spread_text = "On contact" + spread_flags = CONTACT_GENERAL + cure_text = "Adranol & Sulfur" + cures = list("adranol", "sulfur") + cure_chance = 15 + agent = "Gravitokinetic Bipotential SADS+" + viable_mobtypes = list(/mob/living/carbon/human) + severity = BIOHAZARD + +/datum/disease/gbs/stage_act() + if(!..()) + return FALSE + switch(stage) + if(2) + if(prob(45)) + affected_mob.adjustToxLoss(5) + if(prob(1)) + affected_mob.emote("sneeze") + if(3) + if(prob(5)) + affected_mob.emote("cough") + else if(prob(5)) + affected_mob.emote("gasp") + if(prob(10)) + to_chat(affected_mob, span_danger("You're starting to feel very weak...")) + if(4) + if(prob(10)) + affected_mob.emote("cough") + affected_mob.adjustToxLoss(5) + if(5) + to_chat(affected_mob, span_danger("Your body feels as if it's trying to rip itself open...")) + if(prob(50)) + affected_mob.delayed_gib() + else + return + +/datum/disease/gbs/curable + name = "Non-Contagious GBS" + stage_prob = 5 + spread_text = "Non-contagious" + spread_flags = NON_CONTAGIOUS + cure_text = "Cryoxadone" + cures = list("cryoxadone") + cure_chance = 10 + agent = "gibbis" + disease_flags = CURABLE diff --git a/code/game/objects/items/weapons/circuitboards/machinery/pandemic.dm b/code/game/objects/items/weapons/circuitboards/machinery/pandemic.dm index 415044d0e51..2865260d8a2 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/pandemic.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/pandemic.dm @@ -10,7 +10,7 @@ req_components = list( /obj/item/stock_parts/matter_bin = 2, /obj/item/stock_parts/scanning_module = 1, - /obj/item/stock_parts/manipulator = 1 + /obj/item/stock_parts/manipulator = 1, /obj/item/stack/cable_coil = 5, /obj/item/stock_parts/capacitor = 1 ) diff --git a/code/modules/events/disease_outbreak.dm b/code/modules/events/disease_outbreak.dm index 25e1ea5c4f1..26e4a21d096 100644 --- a/code/modules/events/disease_outbreak.dm +++ b/code/modules/events/disease_outbreak.dm @@ -3,7 +3,8 @@ GLOBAL_LIST_EMPTY(current_pending_diseases) var/datum/disease/chosen_disease var/list/disease_blacklist = list( /datum/disease/advance, - /datum/disease/food_poisoning + /datum/disease/food_poisoning, + /datum/disease/gbs // Terrible. It's only in the code to scare people. ) var/static/list/transmissable_symptoms = list() var/static/list/diseases_minor = list() diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index d5df6193332..6880142471e 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -28,3 +28,9 @@ S.sharer_died(gibbed) . = ..() + +/mob/living/proc/delayed_gib() + visible_message(span_danger(span_bold("[src]") + " starts convulsing violently!"), span_danger("You feel as if your body is tearing itself apart!")) + Weaken(30) + make_jittery(1000) + addtimer(CALLBACK(src, PROC_REF(gib)), rand(2 SECONDS, 10 SECONDS)) diff --git a/code/modules/research/designs/circuits/circuits.dm b/code/modules/research/designs/circuits/circuits.dm index 1ce050dfb3f..bb9d2a5342a 100644 --- a/code/modules/research/designs/circuits/circuits.dm +++ b/code/modules/research/designs/circuits/circuits.dm @@ -126,7 +126,7 @@ CIRCUITS BELOW /datum/design/circuit/pandemic name = "PanD.E.M.I.C 2200" id = "pandemic" - req_tech = list(TECH_DATA = 2, TECH_BIO 2) + req_tech = list(TECH_DATA = 2, TECH_BIO = 2) build_path = /obj/item/circuitboard/pandemic sort_string = "FAGAJ" diff --git a/vorestation.dme b/vorestation.dme index f732bd02f1b..9c3d8d0e0a6 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -468,6 +468,7 @@ #include "code\datums\diseases\fake_gbs.dm" #include "code\datums\diseases\flu.dm" #include "code\datums\diseases\food_poisoning.dm" +#include "code\datums\diseases\gbs.dm" #include "code\datums\diseases\lycancoughy.dm" #include "code\datums\diseases\magnitis.dm" #include "code\datums\diseases\advance\advance.dm" From 3cf6aa9f2adfb1534510d3fb3630500912addda0 Mon Sep 17 00:00:00 2001 From: Guti Date: Sat, 30 Nov 2024 17:06:02 +0100 Subject: [PATCH 4/7] Size stuffs --- code/datums/diseases/advance/symptoms/size.dm | 60 ++++++++++++------- code/modules/admin/admin_verb_lists_vr.dm | 6 +- code/modules/admin/admin_verbs.dm | 15 +++++ .../reagents/reactions/instant/virology.dm | 3 +- 4 files changed, 59 insertions(+), 25 deletions(-) diff --git a/code/datums/diseases/advance/symptoms/size.dm b/code/datums/diseases/advance/symptoms/size.dm index 07429aac73d..a0a71fe1b71 100644 --- a/code/datums/diseases/advance/symptoms/size.dm +++ b/code/datums/diseases/advance/symptoms/size.dm @@ -1,7 +1,7 @@ /* ////////////////////////////////////// -Dwindling Malady +Mass Revectoring Very noticeable. Increases resistance slightly. @@ -10,13 +10,13 @@ Dwindling Malady Intense level. BONUS - Shrinks the host to small sizes + Changes the size of the host. ////////////////////////////////////// */ /datum/symptom/size - name = "Dwindling Malady" + name = "Mass Revectoring" stealth = -4 resistance = 1 stage_speed = 2 @@ -24,29 +24,18 @@ BONUS level = 4 severity = 1 - var/initial_size - -/datum/symptom/size/Start(datum/disease/advance/A) - initial_size = A.affected_mob.size_multiplier - -/datum/symptom/size/End(datum/disease/advance/A) - A.affected_mob = initial_size - /datum/symptom/size/Activate(datum/disease/advance/A) ..() if(prob(SYMPTOM_ACTIVATION_PROB)) var/mob/living/M = A.affected_mob switch(A.stage) - if(1, 2, 3) - to_chat(M, span_notice("Your clothes feel loose.")) if(4, 5) - if(prob(10)) - M.emote("twitches") - Resize(M, -rand(0.1, 0.5)) + M.emote("twitch") + Resize(M, rand(25, 200)) /datum/symptom/size/proc/Resize(mob/living/M, var/size) - M.resize(size+M.size_multiplier) + M.resize(size+M.size_multiplier/100) /* ////////////////////////////////////// @@ -74,9 +63,36 @@ BONUS var/mob/living/M = A.affected_mob switch(A.stage) - if(1, 2, 3) - to_chat(M, span_notice("Your clothes feel tight.")) if(4, 5) - if(prob(10)) - M.emote("twitches") - Resize(M, rand(0.1, 0.5)) + M.emote("twitch") + Resize(M, rand(100, 200)) + +/* +////////////////////////////////////// + +Dwindling Malady + + Very noticeable. + Increases resistance slightly. + Increases stage speed. + Decreases transmittablity + Intense level. + +BONUS + Shrinks the host to small sizes + +////////////////////////////////////// +*/ + +/datum/symptom/size/shrink + name = "Dwindling Malady" + +/datum/symptom/size/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + + switch(A.stage) + if(4, 5) + M.emote("twitch") + Resize(M, rand(25, 100)) diff --git a/code/modules/admin/admin_verb_lists_vr.dm b/code/modules/admin/admin_verb_lists_vr.dm index fac337afb8a..de613980d0a 100644 --- a/code/modules/admin/admin_verb_lists_vr.dm +++ b/code/modules/admin/admin_verb_lists_vr.dm @@ -196,7 +196,8 @@ var/list/admin_verbs_spawn = list( /client/proc/create_gm_message, /client/proc/remove_gm_message, /client/proc/AdminCreateVirus, - /client/proc/ReleaseVirus + /client/proc/ReleaseVirus, + /client/proc/spawn_reagent ) var/list/admin_verbs_server = list( @@ -283,7 +284,8 @@ var/list/admin_verbs_debug = list( /client/proc/admin_give_modifier, /client/proc/simple_DPS, /datum/admins/proc/view_feedback, - /client/proc/stop_sounds + /client/proc/stop_sounds, + /client/proc/spawn_reagent ) var/list/admin_verbs_paranoid_debug = list( diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 7bd3b1e4c15..6b4bad16849 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -535,3 +535,18 @@ set category = "Debug.Misc" src.stat_panel.send_message("create_debug") + +/client/proc/spawn_reagent() + set name = "Spawn Reagent" + set category = "Debug.Game" + + if(!check_rights(R_ADMIN|R_EVENT)) return + var/datum/reagent/R = tgui_input_list(usr, "Select a reagent to spawn", "Reagent Spawner", subtypesof(/datum/reagent)) + if(!R) + return + + var/obj/item/reagent_containers/glass/bottle/B = new(usr.loc) + + B.icon_state = "bottle-1" + B.reagents.add_reagent(R.id, 60) + B.name = "[B.name] of [R.name]" diff --git a/code/modules/reagents/reactions/instant/virology.dm b/code/modules/reagents/reactions/instant/virology.dm index e449cccb28e..26576c23d6c 100644 --- a/code/modules/reagents/reactions/instant/virology.dm +++ b/code/modules/reagents/reactions/instant/virology.dm @@ -135,7 +135,8 @@ symptoms = list( /datum/symptom/macrophage, /datum/symptom/size, - /datum/symptom/size/grow + /datum/symptom/size/grow, + /datum/symptom/size/shrink ) /decl/chemical_reaction/instant/mix_virus/rem_virus From 7ead0b1061027230058f67e75d4a90d5cac59f65 Mon Sep 17 00:00:00 2001 From: Guti Date: Sat, 30 Nov 2024 17:08:32 +0100 Subject: [PATCH 5/7] Fix --- code/datums/diseases/fake_gbs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/diseases/fake_gbs.dm b/code/datums/diseases/fake_gbs.dm index 7060e9a82af..ca36f57d872 100644 --- a/code/datums/diseases/fake_gbs.dm +++ b/code/datums/diseases/fake_gbs.dm @@ -3,7 +3,7 @@ max_stages = 5 spread_text = "On contact" spread_flags = CONTACT_GENERAL - cure_text = "Adranol and sulfur" + cure_text = "Adranol & Sulfur" cures = list("adranol", "sulfur") agent = "Gravitokinetic Bipotential SADS-" viable_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/human/monkey) From f8a7b6b8f9d7b26296193cc0d0d5a9e6fa2335df Mon Sep 17 00:00:00 2001 From: Guti Date: Sat, 30 Nov 2024 21:51:04 +0100 Subject: [PATCH 6/7] Pandemic --- tgui/packages/tgui/interfaces/PanDEMIC.tsx | 38 +++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/tgui/packages/tgui/interfaces/PanDEMIC.tsx b/tgui/packages/tgui/interfaces/PanDEMIC.tsx index ff8c718529c..8136d18c8b3 100644 --- a/tgui/packages/tgui/interfaces/PanDEMIC.tsx +++ b/tgui/packages/tgui/interfaces/PanDEMIC.tsx @@ -185,7 +185,10 @@ const StrainInformationSection = ({ {selectedStrain && selectedStrain.symptoms.length > 0 && ( - + <> + + + )} ); @@ -220,6 +223,39 @@ const StrainSymptomsSection = ({ strain }: { strain: Strain }) => { ); }; +const TotalStats = ({ strain }: { strain: Strain }) => { + const symptoms = strain.symptoms; + + const TotalStats = symptoms.reduce( + (totals, symptom) => ({ + stealth: totals.stealth + symptom.stealth, + resistance: totals.resistance + symptom.resistance, + stageSpeed: totals.stageSpeed + symptom.stageSpeed, + transmissibility: totals.transmissibility + symptom.transmissibility, + }), + { stealth: 0, resistance: 0, stageSpeed: 0, transmissibility: 0 }, + ); + + return ( +
+ + + Stealth + Resistance + Stage Speed + Transmissibility + + + {TotalStats.stealth} + {TotalStats.resistance} + {TotalStats.stageSpeed} + {TotalStats.transmissibility} + +
+
+ ); +}; + const StrainInformation = ({ strain, strainIndex, From 398908c7da33e9507025cfe4eacfdca06113cf38 Mon Sep 17 00:00:00 2001 From: Guti Date: Sat, 30 Nov 2024 21:54:13 +0100 Subject: [PATCH 7/7] Small add --- tgui/packages/tgui/interfaces/PanDEMIC.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgui/packages/tgui/interfaces/PanDEMIC.tsx b/tgui/packages/tgui/interfaces/PanDEMIC.tsx index 8136d18c8b3..967486a8c94 100644 --- a/tgui/packages/tgui/interfaces/PanDEMIC.tsx +++ b/tgui/packages/tgui/interfaces/PanDEMIC.tsx @@ -237,7 +237,7 @@ const TotalStats = ({ strain }: { strain: Strain }) => { ); return ( -
+
Stealth