/datum/disease/kingstons
name = "Kingstons Syndrome"
max_stages = 4
spread_text = "Airborne"
cure_text = "Milk"
cures = list("milk")
cure_chance = 50
agent = "Nya Virus"
viable_mobtypes = list(/mob/living/carbon/human)
permeability_mod = 0.75
desc = "If left untreated the subject will turn into a feline. In felines it has... OTHER... effects."
severity = BIOHAZARD
/datum/disease/kingstons/stage_act()
if(!..())
return FALSE
switch(stage)
if(1)
if(prob(10))
if(istajaran(affected_mob))
to_chat(affected_mob, "You feel good.")
else
to_chat(affected_mob, "You feel like playing with string.")
if(2)
if(prob(10))
if(istajaran(affected_mob))
to_chat(affected_mob, "Something in your throat itches.")
else
to_chat(affected_mob, "You NEED to find a mouse.")
if(3)
if(prob(10))
if(istajaran(affected_mob))
to_chat(affected_mob, "You feel something in your throat!")
affected_mob.emote("cough")
else
affected_mob.say(pick("Mew", "Meow!", "Nya!~"))
if(4)
if(prob(5))
if(istajaran(affected_mob))
affected_mob.visible_message("[affected_mob] coughs up a hairball!", \
"You cough up a hairball!")
affected_mob.Stun(10 SECONDS)
else
affected_mob.visible_message("[affected_mob]'s form contorts into something more feline!", \
"YOU TURN INTO A TAJARAN!")
var/mob/living/carbon/human/catface = affected_mob
catface.set_species(/datum/species/tajaran, retain_damage = TRUE, keep_missing_bodyparts = TRUE)
// Not a subtype of regular Kingstons as it would inherit its `stage_act()`
/datum/disease/kingstons_advanced
name = "Advanced Kingstons Syndrome"
medical_name = "Advanced Kingstons Syndrome"
max_stages = 4
spread_text = "Airborne"
cure_text = "Plasma"
cures = list("plasma")
cure_chance = 50
agent = "AMB45DR Bacteria"
viable_mobtypes = list(/mob/living/carbon/human)
permeability_mod = 0.75
desc = "If left untreated the subject will mutate to a different species."
severity = BIOHAZARD
var/list/virspecies = list(/datum/species/human, /datum/species/tajaran, /datum/species/unathi,/datum/species/skrell, /datum/species/vulpkanin, /datum/species/diona,
/datum/species/slime, /datum/species/kidan, /datum/species/drask, /datum/species/grey, /datum/species/moth) // No IPCs (not organic), or vox+plasmemes because of air requirements
var/list/virsuffix = list("pox", "rot", "flu", "cough", "-gitis", "cold", "rash", "itch", "decay")
var/datum/species/chosentype
var/chosensuff
/datum/disease/kingstons_advanced/New()
chosentype = pick(virspecies)
chosensuff = pick(virsuffix)
name = "[initial(chosentype.name)] [chosensuff]"
/datum/disease/kingstons_advanced/stage_act()
if(!..())
return FALSE
if(!ishuman(affected_mob))
return
var/mob/living/carbon/human/twisted = affected_mob
switch(stage)
if(1)
if(prob(10))
to_chat(twisted, "You feel awkward.")
if(2)
if(prob(10))
to_chat(twisted, "You itch.")
if(3)
if(prob(10))
to_chat(twisted, "Your skin starts to flake!")
if(4)
if(!prob(5))
return
if(!istype(twisted.dna.species, chosentype))
twisted.visible_message(
"[twisted]'s skin splits and form contorts!",
"Your body mutates into a [initial(chosentype.name)]!"
)
twisted.set_species(chosentype, retain_damage = TRUE, keep_missing_bodyparts = TRUE)
return
twisted.visible_message(
"[twisted] scratches at their skin!",
"You scratch your skin to try not to itch!"
)
twisted.adjustBruteLoss(5)
twisted.adjustStaminaLoss(5)