mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-17 09:07:10 +01:00
* spanish? * aaaagain * keep maptext * Update robot_items.dm * Update span_defines.dm * compiles * Update silicon_mob.dm * compile
73 lines
2.3 KiB
Plaintext
73 lines
2.3 KiB
Plaintext
/datum/disease/lycan
|
|
name = "Lycancoughy"
|
|
form = "Infection"
|
|
max_stages = 4
|
|
spread_text = "On contact"
|
|
spread_flags = SPREAD_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 = VIRUS_HARMFUL
|
|
var/barklimit = 10
|
|
var/list/puppy_types = list(/mob/living/simple_animal/pet/dog/corgi/puppy, /mob/living/simple_animal/pet/dog/pug, /mob/living/simple_animal/pet/dog/fox)
|
|
var/list/plush_types = list(/obj/item/toy/plushie/orange_fox, /obj/item/toy/plushie/corgi, /obj/item/toy/plushie/robo_corgi, /obj/item/toy/plushie/pink_fox)
|
|
|
|
/datum/disease/lycan/stage_act()
|
|
if(!..())
|
|
return FALSE
|
|
|
|
var/mob/living/carbon/human/H = affected_mob
|
|
|
|
switch(stage)
|
|
if(2)
|
|
if(prob(2))
|
|
H.emote("cough")
|
|
if(prob(3))
|
|
to_chat(H, SPAN_NOTICE("You itch."))
|
|
H.adjustBruteLoss(rand(4, 6))
|
|
if(3)
|
|
var/obj/item/organ/external/stomach = H.bodyparts_by_name[pick("chest", "groin")]
|
|
|
|
if(prob(3))
|
|
H.emote("cough")
|
|
stomach.receive_damage(rand(0, 5))
|
|
if(prob(3))
|
|
to_chat(H, SPAN_NOTICE("You hear faint barking."))
|
|
stomach.receive_damage(rand(4, 6))
|
|
if(prob(2))
|
|
to_chat(H, SPAN_NOTICE("You crave meat."))
|
|
if(prob(3))
|
|
to_chat(H, SPAN_DANGER("Your stomach growls!"))
|
|
stomach.receive_damage(rand(5, 10))
|
|
if(4)
|
|
var/obj/item/organ/external/stomach = H.bodyparts_by_name[pick("chest", "groin")]
|
|
|
|
if(prob(5))
|
|
H.emote("cough")
|
|
stomach.receive_damage(rand(0, 5))
|
|
if(prob(5))
|
|
to_chat(H, SPAN_DANGER("Your stomach barks?!"))
|
|
stomach.receive_damage(rand(5, 10))
|
|
if(prob(5))
|
|
H.visible_message(
|
|
SPAN_DANGER("[H] howls!"),
|
|
SPAN_USERDANGER("You howl!")
|
|
)
|
|
H.AdjustConfused(rand(12 SECONDS, 16 SECONDS))
|
|
stomach.receive_damage(rand(0, 5))
|
|
if(prob(5))
|
|
if(!barklimit)
|
|
to_chat(H, SPAN_DANGER("Your stomach growls!"))
|
|
stomach.receive_damage(rand(5, 10))
|
|
else
|
|
var/atom/hairball = pick(prob(50) ? puppy_types : plush_types)
|
|
H.visible_message(
|
|
SPAN_DANGER("[H] coughs up \a [initial(hairball.name)]!"),
|
|
SPAN_USERDANGER("You cough up \a [initial(hairball.name)]?!")
|
|
)
|
|
new hairball(H.loc)
|
|
barklimit--
|
|
stomach.receive_damage(rand(10, 15))
|