mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-21 11:07:46 +01:00
* Horror modifier adjusments Removes nutrition drain Makes it so your organs mutate every 200 seconds you've been under it instead of checking life ticks. Makes it so only 1-2 organs get replaced per 200 seconds instead of 2-3 Makes redspace injection chance much lower (3%->0.5%) Makes it so you won't repeatedly stab someone with fleshy spread if they already have it. Makes exiting battle stance while infected a bit better. Armor now lasts 1 minute. Lowers after 1 minute if health and the such is fixed. Allows using bruise/ointment on changeling flesh armor...it's flesh and an extension of them. Makes the fleshy virus chance of organ mutation from 5 to 0.5 Fixes GBS to be actually curable. Implements COMSIG_ITEM_ATTACK_ZONE and COMSIG_ITEM_ATTACK * Update redspace_corruption.dm * Update vorestation.dme * Update horror.dm
88 lines
4.4 KiB
Plaintext
88 lines
4.4 KiB
Plaintext
/datum/disease/fleshy_spread
|
|
name = "Vastantes Carnes"
|
|
medical_name = "Idiopathic Cellular Infestation"
|
|
form = "Unknown Disease"
|
|
max_stages = 5
|
|
spread_text = "UNKNOWN BIOLOGICAL AGENT"
|
|
spread_flags = DISEASE_SPREAD_BLOOD
|
|
virus_modifiers = BYPASSES_IMMUNITY | SPREAD_DEAD
|
|
cure_text = REAGENT_ID_HOLYWATER
|
|
cures = list(REAGENT_ID_HOLYWATER)
|
|
agent = "Infectious Cellular Growth"
|
|
viable_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/human/monkey)
|
|
desc = "Unknown infection only known to be present in specific regions of space. \
|
|
The host's cells are slowly rewritten and replaced. Unknown effects if left untreated."
|
|
danger = DISEASE_BIOHAZARD
|
|
disease_flags = CAN_NOT_POPULATE
|
|
stage_prob = 1
|
|
discovery_threshold = 0 //Doesn't show up on medical HUDs
|
|
|
|
/datum/disease/fleshy_spread/stage_act()
|
|
if(!..())
|
|
return FALSE
|
|
var/mob/living/carbon/human/infected = affected_mob
|
|
switch(stage)
|
|
if(2)
|
|
if(prob(2))
|
|
to_chat(infected, span_danger(pick("You feel a strange tingling under your skin", "Your flesh feels tingly", "You feel as if your blood vessels are crawling", "You see a tendril slithering across your eye.")))
|
|
if(infected.bodytemperature < BODYTEMP_HEAT_DAMAGE_LIMIT)
|
|
fever(infected)
|
|
else if(prob(1))
|
|
infected.visible_message(span_cult("The skin of [infected] shifts, as if something is moving within."))
|
|
else if(prob(1))
|
|
to_chat(infected, span_danger("You feel as though something is trying to displace your consciousness"))
|
|
infected.AdjustConfused(5)
|
|
|
|
if(3)
|
|
if(prob(2))
|
|
to_chat(infected, span_danger(pick("You feel warmth spreading throughout your body.", "You feel as if your body is burning up.", "Your skin feels like it's trying to pull away from your body.")))
|
|
if(infected.bodytemperature < BODYTEMP_HEAT_DAMAGE_LIMIT)
|
|
fever(infected)
|
|
else if(prob(1))
|
|
infected.visible_message(span_cult("The flesh of [infected] bulges and shifts unnaturally, a weeping sore appearing on [infected.p_their()] skin."))
|
|
infected.adjustBruteLossByPart(2, BP_HEAD, "Fleshy Rupture")
|
|
infected.drip(1)
|
|
else if(prob(1))
|
|
to_chat(infected, span_danger("You hear whispers speaking to you in the back of your mind, your throat closing up."))
|
|
infected.emote("gasp")
|
|
infected.AdjustConfused(10)
|
|
infected.silent = max(10, infected.silent)
|
|
if(4)
|
|
if(!infected.has_modifier_of_type(/datum/modifier/redspace_drain))
|
|
infected.add_modifier(/datum/modifier/redspace_drain/lesser)
|
|
var/datum/modifier/redspace_drain/drain_modifier = infected.get_modifier_of_type(/datum/modifier/redspace_drain/lesser)
|
|
if(drain_modifier && prob(0.5))
|
|
drain_modifier.choose_organs(1)
|
|
if(5)
|
|
//You waited WAY too long to get this cured. You're permanently infected now. This means you're now 'infectious'
|
|
if(!(virus_modifiers & DORMANT))
|
|
if(infected.mind?.assigned_role == JOB_CHAPLAIN)
|
|
to_chat(infected, span_cult("An alien presence attempts to prod at your mind, but your faith shields you from its full effects, purging the corruption."))
|
|
cure()
|
|
return
|
|
if(infected.species.flags & NO_SLEEVE)
|
|
to_chat(infected, span_cult("An alien presence attempts to prod at your mind, but at the final hour the effects of the corruption subsides."))
|
|
cure()
|
|
return
|
|
if(!infected.has_modifier_of_type(/datum/modifier/redspace_corruption))
|
|
infected.add_modifier(/datum/modifier/redspace_corruption)
|
|
to_chat(infected, span_cult("You feel something latch into your mind, something melding with every fiber of your being."))
|
|
to_chat(infected, span_cult("Every one of your cells scream out in agony as they're individually overtaken by a foreign entity."))
|
|
to_chat(infected, span_cult("Your body feels foreign, like you're an invader in another's body."))
|
|
to_chat(infected, span_cult("In the back of your mind, you can hear a voice reaching out to you, pleading for you to come back. To come and never leave."))
|
|
virus_modifiers |= DORMANT //Become dormant. This keeps antibodies from being taken from us.
|
|
return
|
|
|
|
else
|
|
return
|
|
|
|
/datum/disease/fleshy_spread/cure()
|
|
var/mob/living/carbon/human/infected = affected_mob
|
|
if(infected.has_modifier_of_type(/datum/modifier/redspace_drain/lesser))
|
|
infected.remove_modifiers_of_type(/datum/modifier/redspace_drain/lesser)
|
|
..()
|
|
|
|
/datum/disease/fleshy_spread/proc/fever(mob/living/M)
|
|
M.bodytemperature = min(M.bodytemperature + (2 * stage), BODYTEMP_HEAT_DAMAGE_LIMIT - 1)
|
|
return TRUE
|