mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-10 06:34:45 +01:00
b2275d1ce8
* That's a lot of files * More changes * Removes mention * Thanks to Funny for helping with the text
110 lines
4.0 KiB
Plaintext
110 lines
4.0 KiB
Plaintext
/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, "<span class='notice'>You feel good.</span>")
|
|
else
|
|
to_chat(affected_mob, "<span class='notice'>You feel like playing with string.</span>")
|
|
if(2)
|
|
if(prob(10))
|
|
if(istajaran(affected_mob))
|
|
to_chat(affected_mob, "<span class='danger'>Something in your throat itches.</span>")
|
|
else
|
|
to_chat(affected_mob, "<span class='danger'>You NEED to find a mouse.</span>")
|
|
if(3)
|
|
if(prob(10))
|
|
if(istajaran(affected_mob))
|
|
to_chat(affected_mob, "<span class='danger'>You feel something in your throat!</span>")
|
|
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("<span class='danger'>[affected_mob] coughs up a hairball!</span>", \
|
|
"<span class='userdanger'>You cough up a hairball!</span>")
|
|
affected_mob.Stun(10 SECONDS)
|
|
else
|
|
affected_mob.visible_message("<span class='danger'>[affected_mob]'s form contorts into something more feline!</span>", \
|
|
"<span class='userdanger'>YOU TURN INTO A TAJARAN!</span>")
|
|
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, "<span class='notice'>You feel awkward.</span>")
|
|
if(2)
|
|
if(prob(10))
|
|
to_chat(twisted, "<span class='danger'>You itch.</span>")
|
|
if(3)
|
|
if(prob(10))
|
|
to_chat(twisted, "<span class='danger'>Your skin starts to flake!</span>")
|
|
if(4)
|
|
if(!prob(5))
|
|
return
|
|
|
|
if(!istype(twisted.dna.species, chosentype))
|
|
twisted.visible_message(
|
|
"<span class='danger'>[twisted]'s skin splits and form contorts!</span>",
|
|
"<span class='userdanger'>Your body mutates into a [initial(chosentype.name)]!</span>"
|
|
)
|
|
twisted.set_species(chosentype, retain_damage = TRUE, keep_missing_bodyparts = TRUE)
|
|
return
|
|
|
|
twisted.visible_message(
|
|
"<span class='danger'>[twisted] scratches at their skin!</span>",
|
|
"<span class='userdanger'>You scratch your skin to try not to itch!</span>"
|
|
)
|
|
twisted.adjustBruteLoss(5)
|
|
twisted.adjustStaminaLoss(5)
|