/datum/disease/lycan name = "Lycancoughy" form = "Infection" max_stages = 4 spread_text = "On contact" spread_flags = CONTACT_GENERAL cure_text = "Ethanol" cures = list("ethanol") agent = "Excess Snuggles" viable_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/human/monkey) desc = "If left untreated subject will regurgitate... puppies." severity = MEDIUM var/barklimit = 0 /datum/disease/lycan/stage_act() ..() switch(stage) if(2) //also changes say, see say.dm if(prob(5)) to_chat(affected_mob, "You itch.") affected_mob.emote("cough") if(3) if(prob(10)) to_chat(affected_mob, "You hear faint barking.") if(prob(5)) to_chat(affected_mob, "You crave meat.") affected_mob.emote("cough") if(prob(2)) to_chat(affected_mob, "Your stomach growls!") if(4) if(prob(10)) to_chat(affected_mob, "Your stomach barks?!") if(prob(5)) affected_mob.visible_message("[affected_mob] howls!", \ "You howl!") affected_mob.AdjustConfused(rand(6, 8)) if(prob(3) && barklimit <= 10) var/list/puppytype = list(/mob/living/simple_animal/pet/corgi/puppy, /mob/living/simple_animal/pet/pug, /mob/living/simple_animal/pet/fox) var/mob/living/puppypicked = pick(puppytype) affected_mob.visible_message("[affected_mob] coughs up [initial(puppypicked.name)]!", \ "You cough up [initial(puppypicked.name)]?!") new puppypicked(affected_mob.loc) new puppypicked(affected_mob.loc) barklimit ++ if(prob(1)) var/list/plushtype = list(/obj/item/toy/plushie/orange_fox, /obj/item/toy/plushie/corgi, /obj/item/toy/plushie/robo_corgi, /obj/item/toy/plushie/pink_fox) var/obj/item/toy/plushie/coughfox = pick(plushtype) new coughfox(affected_mob.loc) affected_mob.visible_message("[affected_mob] coughs up a [initial(coughfox.name)]!", \ "You cough [initial(coughfox.name)] up ?!") affected_mob.emote("cough") affected_mob.adjustBruteLoss(5) return