mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-21 03:59:59 +01:00
106 lines
4.7 KiB
Plaintext
106 lines
4.7 KiB
Plaintext
/datum/disease/chronic_illness
|
|
name = "Hereditary Manifold Sickness"
|
|
max_stages = 5
|
|
spread_text = "Non-communicable disease"
|
|
spread_flags = DISEASE_SPREAD_NON_CONTAGIOUS
|
|
disease_flags = CHRONIC
|
|
infectable_biotypes = MOB_ORGANIC | MOB_MINERAL | MOB_ROBOTIC
|
|
process_dead = TRUE
|
|
stage_prob = 0.25
|
|
cure_text = "Sansufentanyl"
|
|
cures = list(/datum/reagent/medicine/sansufentanyl)
|
|
infectivity = 0
|
|
agent = "Quantum Entanglement"
|
|
viable_mobtypes = list(/mob/living/carbon/human)
|
|
desc = "A disease discovered in an Interdyne laboratory caused by subjection to timestream correction technology."
|
|
bypasses_immunity = TRUE // BUBBER EDIT ADD
|
|
severity = DISEASE_SEVERITY_UNCURABLE
|
|
bypasses_immunity = TRUE
|
|
var/being_stealthy = TRUE // BUBBER EDIT ADD
|
|
|
|
/datum/disease/chronic_illness/stage_act(seconds_per_tick, times_fired)
|
|
. = ..()
|
|
if(!.)
|
|
return
|
|
|
|
switch(stage)
|
|
if(1)
|
|
carrier = FALSE // Go fuck yourself
|
|
being_stealthy = TRUE // BUBBER EDIT ADD
|
|
if(2)
|
|
if(SPT_PROB(0.5, seconds_per_tick))
|
|
to_chat(affected_mob, span_warning("You feel dizzy."))
|
|
affected_mob.adjust_confusion(6 SECONDS)
|
|
being_stealthy = FALSE // BUBBER EDIT ADD
|
|
if(SPT_PROB(0.5, seconds_per_tick))
|
|
to_chat(affected_mob, span_notice("You look at your hand. Your vision blurs."))
|
|
affected_mob.set_eye_blur_if_lower(10 SECONDS)
|
|
being_stealthy = FALSE // BUBBER EDIT ADD
|
|
if(3)
|
|
var/need_mob_update = FALSE
|
|
if(SPT_PROB(0.5, seconds_per_tick))
|
|
to_chat(affected_mob, span_danger("You feel a very sharp pain in your chest!"))
|
|
being_stealthy = FALSE // BUBBER EDIT ADD
|
|
if(prob(45))
|
|
affected_mob.vomit(VOMIT_CATEGORY_BLOOD, lost_nutrition = 20)
|
|
if(SPT_PROB(0.5, seconds_per_tick))
|
|
to_chat(affected_mob, span_userdanger("[pick("You feel your heart slowing...", "You relax and slow your heartbeat.")]"))
|
|
need_mob_update += affected_mob.adjustStaminaLoss(70, updating_stamina = FALSE)
|
|
being_stealthy = FALSE // BUBBER EDIT ADD
|
|
if(SPT_PROB(1, seconds_per_tick))
|
|
to_chat(affected_mob, span_danger("You feel a buzzing in your brain."))
|
|
SEND_SOUND(affected_mob, sound('sound/items/weapons/flash_ring.ogg'))
|
|
being_stealthy = FALSE // BUBBER EDIT ADD
|
|
if(SPT_PROB(0.5, seconds_per_tick))
|
|
need_mob_update += affected_mob.adjustBruteLoss(1, updating_health = FALSE)
|
|
if(need_mob_update)
|
|
affected_mob.updatehealth()
|
|
if(4)
|
|
var/need_mob_update = FALSE
|
|
if(prob(30))
|
|
affected_mob.playsound_local(affected_mob, 'sound/effects/singlebeat.ogg', 100, FALSE, use_reverb = FALSE)
|
|
if(SPT_PROB(1, seconds_per_tick))
|
|
to_chat(affected_mob, span_danger("You feel a gruesome pain in your chest!"))
|
|
if(prob(75))
|
|
affected_mob.vomit(VOMIT_CATEGORY_BLOOD, lost_nutrition = 45)
|
|
if(SPT_PROB(1, seconds_per_tick))
|
|
need_mob_update += affected_mob.adjustStaminaLoss(100, updating_stamina = FALSE)
|
|
affected_mob.visible_message(span_warning("[affected_mob] collapses!"))
|
|
if(prob(30))
|
|
to_chat(affected_mob, span_danger("Your vision blurs as you faint!"))
|
|
affected_mob.AdjustSleeping(1 SECONDS)
|
|
if(SPT_PROB(0.5, seconds_per_tick))
|
|
to_chat(affected_mob, span_danger("[pick("You feel as though your atoms are accelerating in place.", "You feel like you're being torn apart!")]"))
|
|
affected_mob.emote("scream")
|
|
need_mob_update += affected_mob.adjustBruteLoss(10, updating_health = FALSE)
|
|
if(need_mob_update)
|
|
affected_mob.updatehealth()
|
|
if(5)
|
|
switch(rand(1,2))
|
|
if(1)
|
|
to_chat(affected_mob, span_notice("You feel your atoms begin to realign. You're safe. For now."))
|
|
update_stage(1)
|
|
if(2)
|
|
to_chat(affected_mob, span_boldwarning("There is no place for you in this timeline."))
|
|
affected_mob.adjustStaminaLoss(100, forced = TRUE)
|
|
playsound(affected_mob.loc, 'sound/effects/magic/repulse.ogg', 100, FALSE)
|
|
affected_mob.emote("scream")
|
|
for(var/mob/living/viewers in viewers(3, affected_mob.loc))
|
|
viewers.flash_act()
|
|
new /obj/effect/decal/cleanable/plasma(affected_mob.loc)
|
|
new /obj/effect/decal/cleanable/ash(affected_mob.loc)
|
|
affected_mob.visible_message(span_warning("[affected_mob] is erased from the timeline!"), span_userdanger("You are ripped from the timeline!"))
|
|
affected_mob.investigate_log("has been dusted / deleted by [name].", INVESTIGATE_DEATHS)
|
|
affected_mob.ghostize(can_reenter_corpse = FALSE)
|
|
qdel(affected_mob)
|
|
|
|
//BUBBER EDIT BEGIN - Costly warning if it sneaks through to stage four.
|
|
/datum/disease/chronic_illness/update_stage(new_stage)
|
|
. = ..()
|
|
if(new_stage == 4 && being_stealthy)
|
|
to_chat(affected_mob, span_danger("[pick("You feel as though your atoms are accelerating in place.", "You feel like you're being torn apart!")]"))
|
|
affected_mob.emote("scream")
|
|
affected_mob.adjustBruteLoss(10)
|
|
being_stealthy = FALSE
|
|
// BUBBER EDIT END
|