mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-25 04:57:47 +01:00
* Base stuff * Thresholds * Cockroaches, adjustments * Extrapolator + TGUI Update * Adjustments * Updoot * Revert "Updoot" This reverts commit8c27a2525e. * 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 format5041170ae1: 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>
93 lines
2.6 KiB
Plaintext
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
|