Files
VOREStation/code/datums/diseases/roanoake.dm
640cab345e Virology Update #3 (#17227)
* Base stuff

* Thresholds

* Cockroaches, adjustments

* Extrapolator + TGUI Update

* Adjustments

* Updoot

* Revert "Updoot"

This reverts commit 8c27a2525e.

* Gwuh

* test

* heals

* Genetic

* Holder and vomit

* Indents

* Compilable :)

* Various fixes

* Updates Symptoms

* Genevirus

* Neutered Symptoms

* Adjustments

* rads

* Extra symptoms

* Extra extra symptoms

* Adjustments, fixes, more symptoms

* Powder that makes the linter green

* Finishing touches?

* Fixup maps in TGM format

5041170ae1: maps/expedition_vr/beach/submaps/quarantineshuttle.dmm

Automatically commited by: tools\mapmerge2\fixup.py

* Last bits

* Defines

* Oxy heal

* I crave the green check

* fix

* Maps

* Macrophages to turf

* Fimxes

* Fixes :)

* Vomit

* Preset

* Fire desc

* SPELLING MISTAKE

* Extra stuffs

* types

Allows infecting children of a type

* feet

paws?

* fix

* Fixes

* Update

* Flags

* Update _disease.dm

* Infinite blood glitch (100% real)

* virus data properly carries over

* GODSPEED, KELENIUS

YOUR 10 YEAR TODO IS FINALLY DONE

* define

* U2

* Implicit

* Damn it Fleming

* oops

linter is kill

* Update _reagents.dm

* Extra check

* .

* ough

* fixes

* Small changes

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
2025-04-21 06:12:15 -04:00

93 lines
2.6 KiB
Plaintext

/datum/disease/roanoake
name = "Roanoake Syndrome"
max_stages = 6
stage_prob = 2
spread_text = "Blood and close contact"
spread_flags = BLOOD
cure_text = REAGENT_SPACEACILLIN
agent = "Chimera cells"
cures = list(REAGENT_ID_SPACEACILLIN)
cure_chance = 10
viable_mobtypes = list(/mob/living/carbon/human)
desc = "If left untreated, subject will become a xenochimera upon perishing."
danger = DISEASE_BIOHAZARD
disease_flags = CURABLE
//allow_dead = TRUE //Unused
var/list/obj/item/organ/organ_list = list()
var/obj/item/organ/O
/datum/disease/roanoake/Start()
var/mob/living/carbon/human/M = affected_mob
organ_list += M.organs
organ_list += M.internal_organs
/datum/disease/roanoake/stage_act()
if(!..())
return FALSE
var/mob/living/carbon/human/M = affected_mob
switch(stage)
if(2)
if(prob(1))
to_chat(M, span_notice("You feel a slight shiver through your spine..."))
if(prob(1))
to_chat(M, span_warning(pick("You feel hot.", "You feel like you're burning.")))
if(M.bodytemperature < BODYTEMP_HEAT_DAMAGE_LIMIT)
fever(M)
if(3)
if(prob(1))
to_chat(M, span_notice("You shiver a bit."))
if(prob(1))
to_chat(M, span_warning(pick("You feel hot.", "You feel like you're burning.")))
if(M.bodytemperature < BODYTEMP_HEAT_DAMAGE_LIMIT)
fever(M)
if(prob(1))
O = pick(organ_list)
O.adjust_germ_level(rand(5, 10))
if(4)
if(prob(1))
to_chat(M, span_warning(pick("You feel hot.", "You feel like you're burning.")))
if(M.bodytemperature < BODYTEMP_HEAT_DAMAGE_LIMIT)
fever(M)
if(prob(2))
O = pick(organ_list)
O.adjust_germ_level(rand(5, 10))
if(5)
if(prob(1))
to_chat(M, span_warning(pick("You feel hot.", "You feel like you're burning.")))
if(M.bodytemperature < BODYTEMP_HEAT_DAMAGE_LIMIT)
fever(M)
if(prob(2))
O = pick(organ_list)
O.adjust_germ_level(rand(5, 10))
if(prob(1))
O.take_damage(rand(1, 3))
if(6)
if(prob(1))
to_chat(M, span_warning(pick("You feel hot.", "You feel like you're burning.")))
if(M.bodytemperature < BODYTEMP_HEAT_DAMAGE_LIMIT)
fever(M)
if(prob(2))
O = pick(organ_list)
O.adjust_germ_level(rand(5, 10))
if(prob(2))
O.take_damage(rand(1, 3))
if(prob(1) && prob(10))
O = pick(organ_list)
var/obj/item/organ/external/E = O.parent_organ
var/datum/wound/W = new /datum/wound/internal_bleeding(5)
E.wounds += W
if(M.stat == DEAD)
M.species = /datum/species/xenochimera
cure()
return
/datum/disease/roanoake/proc/fever(var/mob/living/M, var/datum/disease/D)
M.bodytemperature = min(M.bodytemperature + (2 * stage), BODYTEMP_HEAT_DAMAGE_LIMIT - 1)
return TRUE