mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-13 10:23:15 +00:00
* Refactors speech impeding effects (drunken slurring / suttering) into status effects. Adds heretic slurring in addition to the existing cult slurring. Removes 4 vars from /living in return, which slightly optimizes Life() (wink) * fex Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
65 lines
2.0 KiB
Plaintext
65 lines
2.0 KiB
Plaintext
/datum/disease/decloning
|
|
form = "Virus"
|
|
name = "Cellular Degeneration"
|
|
max_stages = 5
|
|
stage_prob = 0.5
|
|
cure_text = "Rezadone or death."
|
|
agent = "Severe Genetic Damage"
|
|
viable_mobtypes = list(/mob/living/carbon/human)
|
|
desc = @"If left untreated the subject will [REDACTED]!"
|
|
severity = "Dangerous!"
|
|
cures = list(/datum/reagent/medicine/rezadone)
|
|
disease_flags = CAN_CARRY|CAN_RESIST
|
|
spread_flags = DISEASE_SPREAD_NON_CONTAGIOUS
|
|
process_dead = TRUE
|
|
|
|
/datum/disease/decloning/stage_act(delta_time, times_fired)
|
|
. = ..()
|
|
if(!.)
|
|
return
|
|
|
|
if(affected_mob.stat == DEAD)
|
|
cure()
|
|
return FALSE
|
|
|
|
switch(stage)
|
|
if(2)
|
|
if(DT_PROB(1, delta_time))
|
|
affected_mob.emote("itch")
|
|
if(DT_PROB(1, delta_time))
|
|
affected_mob.emote("yawn")
|
|
if(3)
|
|
if(DT_PROB(1, delta_time))
|
|
affected_mob.emote("itch")
|
|
if(DT_PROB(1, delta_time))
|
|
affected_mob.emote("drool")
|
|
if(DT_PROB(1.5, delta_time))
|
|
affected_mob.adjustCloneLoss(1, FALSE)
|
|
if(DT_PROB(1, delta_time))
|
|
to_chat(affected_mob, span_danger("Your skin feels strange."))
|
|
|
|
if(4)
|
|
if(DT_PROB(1, delta_time))
|
|
affected_mob.emote("itch")
|
|
if(DT_PROB(1, delta_time))
|
|
affected_mob.emote("drool")
|
|
if(DT_PROB(2.5, delta_time))
|
|
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1, 170)
|
|
affected_mob.adjustCloneLoss(2, FALSE)
|
|
if(DT_PROB(7.5, delta_time))
|
|
affected_mob.adjust_timed_status_effect(6 SECONDS, /datum/status_effect/speech/stutter)
|
|
if(5)
|
|
if(DT_PROB(1, delta_time))
|
|
affected_mob.emote("itch")
|
|
if(DT_PROB(1, delta_time))
|
|
affected_mob.emote("drool")
|
|
if(DT_PROB(2.5, delta_time))
|
|
to_chat(affected_mob, span_danger("Your skin starts degrading!"))
|
|
if(DT_PROB(5, delta_time))
|
|
affected_mob.adjustCloneLoss(5, FALSE)
|
|
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2, 170)
|
|
if(affected_mob.cloneloss >= 100)
|
|
affected_mob.visible_message(span_danger("[affected_mob] skin turns to dust!"), span_boldwarning("Your skin turns to dust!"))
|
|
affected_mob.dust()
|
|
return FALSE
|