mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
tweaks IPC viruses (system cleaner and immunity redux pt2 FINAL (probably)) (#18486)
* ipc viruses * weird * use flags * proper logic
This commit is contained in:
@@ -32,6 +32,8 @@ Bonus
|
||||
"Resistance 9" = "Causes permanent deafness, instead of intermittent.",
|
||||
"Stealth 4" = "The symptom remains hidden until active.",
|
||||
)
|
||||
process_flags = ORGANIC | SYNTHETIC
|
||||
|
||||
/datum/symptom/deafness/Start(datum/disease/advance/A)
|
||||
. = ..()
|
||||
if(!.)
|
||||
|
||||
@@ -121,6 +121,7 @@ Bonus
|
||||
"Stage Speed 8" = "Increases explosion radius and explosion damage to the host when the host is wet.",
|
||||
"Transmission 8" = "Additionally synthesizes chlorine trifluoride and napalm inside the host. More chemicals are synthesized if the resistance 9 threshold has been met."
|
||||
)
|
||||
process_flags = ORGANIC | SYNTHETIC //is funny
|
||||
|
||||
/datum/symptom/alkali/Start(datum/disease/advance/A)
|
||||
. = ..()
|
||||
|
||||
@@ -32,6 +32,7 @@ Bonus
|
||||
"Stage Speed 7" = "Increases the amount of hallucinations.",
|
||||
"Stealth 4" = "The virus mimics positive symptoms.",
|
||||
)
|
||||
process_flags = ORGANIC | SYNTHETIC
|
||||
|
||||
/datum/symptom/hallucigen/Start(datum/disease/advance/A)
|
||||
. = ..()
|
||||
|
||||
@@ -380,6 +380,7 @@
|
||||
"Transmission 6" = "Increases temperature adjustment rate.",
|
||||
"Stage Speed 7" = "Increases healing speed.",
|
||||
)
|
||||
process_flags = ORGANIC | SYNTHETIC //only really for temp stabilize
|
||||
|
||||
/datum/symptom/heal/plasma/Start(datum/disease/advance/A)
|
||||
. = ..()
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"Transmission 5" = "Increases the virus' growth rate while nanites are present.",
|
||||
"Stage Speed 7" = "Increases the replication boost."
|
||||
)
|
||||
process_flags = ORGANIC | SYNTHETIC
|
||||
|
||||
/datum/symptom/nano_boost/Start(datum/disease/advance/A)
|
||||
. = ..()
|
||||
@@ -50,6 +51,7 @@
|
||||
"Stage Speed 5" = "Increases the virus' growth rate while nanites are present.",
|
||||
"Resistance 7" = "Severely increases the rate at which the nanites are destroyed."
|
||||
)
|
||||
process_flags = ORGANIC | SYNTHETIC
|
||||
|
||||
/datum/symptom/nano_destroy/Start(datum/disease/advance/A)
|
||||
. = ..()
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
var/list/cached_tentacle_turfs
|
||||
var/turf/last_location
|
||||
var/tentacle_recheck_cooldown = 100
|
||||
process_flags = ORGANIC | SYNTHETIC
|
||||
|
||||
/datum/symptom/necroseed/Start(datum/disease/advance/A)
|
||||
. = ..()
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
"Transmission 12" = "Makes the host irradiate others around them as well.",
|
||||
"Stage Speed 8" = "Host takes radiation damage faster."
|
||||
)
|
||||
process_flags = ORGANIC | SYNTHETIC
|
||||
|
||||
/datum/symptom/radiation/Start(datum/disease/advance/A)
|
||||
. = ..()
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
transmittable = 3
|
||||
level = 5
|
||||
severity = 0
|
||||
process_flags = ORGANIC | SYNTHETIC //i don't think this needs to be here, but just in case
|
||||
|
||||
/datum/symptom/inorganic_adaptation/Start(datum/disease/advance/A)
|
||||
. = ..()
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
var/neutered = FALSE
|
||||
var/list/thresholds
|
||||
var/naturally_occuring = TRUE //if this symptom can appear from /datum/disease/advance/GenerateSymptoms()
|
||||
var/process_flags = ORGANIC //some symptoms don't affect robotic mobs
|
||||
|
||||
/datum/symptom/New()
|
||||
var/list/S = SSdisease.list_symptoms
|
||||
@@ -56,7 +57,14 @@
|
||||
return FALSE
|
||||
if(world.time < next_activation)
|
||||
return FALSE
|
||||
else
|
||||
|
||||
var/can_process = FALSE
|
||||
if(!can_process && A.affected_mob?.dna?.species?.reagent_tag & PROCESS_SYNTHETIC && (process_flags & SYNTHETIC))//some symptoms don't affect synthetic mobs
|
||||
can_process = TRUE
|
||||
if(!can_process && A.affected_mob?.dna?.species?.reagent_tag & PROCESS_ORGANIC && (process_flags & ORGANIC))//some symptoms don't affect organic mobs
|
||||
can_process = TRUE
|
||||
|
||||
if(can_process)
|
||||
next_activation = world.time + rand(symptom_delay_min * 10, symptom_delay_max * 10)
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -448,6 +448,11 @@
|
||||
metabolization_rate = 0.5 * REAGENTS_METABOLISM
|
||||
process_flags = SYNTHETIC
|
||||
|
||||
/datum/reagent/medicine/system_cleaner/reaction_mob(mob/living/L, method=TOUCH, reac_volume)
|
||||
for(var/thing in L.diseases)//lets it cure viruses from IPC
|
||||
var/datum/disease/D = thing
|
||||
D.cure()
|
||||
|
||||
/datum/reagent/medicine/system_cleaner/on_mob_life(mob/living/M)
|
||||
M.adjustToxLoss(-2*REM, 0)
|
||||
. = 1
|
||||
|
||||
@@ -100,7 +100,6 @@
|
||||
name = "Vaccine"
|
||||
color = "#C81040" // rgb: 200, 16, 64
|
||||
taste_description = "slime"
|
||||
process_flags = ORGANIC | SYNTHETIC
|
||||
|
||||
/datum/reagent/vaccine/reaction_mob(mob/living/L, method=TOUCH, reac_volume)
|
||||
if(islist(data) && ((method == INGEST && reac_volume >= 5) || method == INJECT))//drinking it requires at least 5u, injection doesn't
|
||||
|
||||
Reference in New Issue
Block a user