mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-10 01:34:01 +00:00
Makes the floor diseases into basic diseases, rather than advanced diseases. (#90115)
## About The Pull Request One of the more recent incidents involving viral outbreaks utilized these viruses to easily produce a ton of advanced, mutated diseases out of the floor diseases. You can get some details here: https://github.com/tgstation/tgstation/issues/90054 These diseases have bespoke behaviours, yet are capable of being mutated. It doesn't really make much sense for them to be advanced diseases because of their unique behaviour. Given it starts with a flag that indicates that it is meant to not spread, but ,obviously, mutating it causes it to become contagious anyway, we've just made them basic viruses with some of the relevant parts of the symptoms they were using added in. ## Why It's Good For The Game It makes it too easy to get an advanced virus with which to mutate. Which results in...well, a Urgathoan/Nurgle Incident waiting to happen. Don't drink spoiled milk, kids. Or do if you're based. ## Changelog 🆑 code: Changes floor diseases from advanced diseases into basic diseases. Should mostly function the same, except you can't mutate them. /🆑
This commit is contained in:
@@ -5,9 +5,9 @@
|
||||
|
||||
/// Possible diseases
|
||||
GLOBAL_LIST_INIT(floor_diseases, list(
|
||||
/datum/disease/advance/nebula_nausea = 2,
|
||||
/datum/disease/advance/gastritium = 2,
|
||||
/datum/disease/advance/carpellosis = 1,
|
||||
/datum/disease/nebula_nausea = 2,
|
||||
/datum/disease/gastritium = 2,
|
||||
/datum/disease/carpellosis = 1,
|
||||
))
|
||||
|
||||
/// Makes items infective if left on floor, also sending corresponding signals to parent
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
#define GNASHING_RANGE 7
|
||||
|
||||
/// Caused by dirty food. Makes you growl at people and bite them spontaneously.
|
||||
/datum/disease/advance/carpellosis
|
||||
/datum/disease/carpellosis
|
||||
name = "Carpellosis"
|
||||
desc = "You have an angry space carp inside."
|
||||
form = "Parasite"
|
||||
agent = "Carp Ella"
|
||||
cure_text = "Chlorine"
|
||||
cures = list(/datum/reagent/chlorine)
|
||||
viable_mobtypes = list(/mob/living/carbon/human)
|
||||
spread_flags = DISEASE_SPREAD_NON_CONTAGIOUS
|
||||
@@ -21,19 +22,7 @@
|
||||
/// Whether the host has carp ability
|
||||
var/ability_granted = FALSE
|
||||
|
||||
/datum/disease/advance/carpellosis/New()
|
||||
symptoms = list(new/datum/symptom/headache)
|
||||
..()
|
||||
|
||||
/datum/disease/advance/carpellosis/generate_cure()
|
||||
cures = list(pick(cures))
|
||||
var/datum/reagent/cure = GLOB.chemical_reagents_list[cures[1]]
|
||||
cure_text = cure.name
|
||||
|
||||
/datum/disease/advance/carpellosis/GetDiseaseID()
|
||||
return "[type]"
|
||||
|
||||
/datum/disease/advance/carpellosis/stage_act(seconds_per_tick, times_fired)
|
||||
/datum/disease/carpellosis/stage_act(seconds_per_tick, times_fired)
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
@@ -62,12 +51,12 @@
|
||||
else if(SPT_PROB(2, seconds_per_tick) && affected_mob.stat == CONSCIOUS)
|
||||
affected_mob.visible_message("gnashes.", visible_message_flags = EMOTE_MESSAGE)
|
||||
|
||||
/datum/disease/advance/carpellosis/Destroy()
|
||||
/datum/disease/carpellosis/Destroy()
|
||||
if(ability_granted)
|
||||
QDEL_NULL(rift_ability)
|
||||
return ..()
|
||||
|
||||
/datum/disease/advance/carpellosis/cure(add_resistance = TRUE)
|
||||
/datum/disease/carpellosis/cure(add_resistance = TRUE)
|
||||
if(ability_granted)
|
||||
rift_ability.Remove(affected_mob)
|
||||
if(max_stage_reached && prob(ella_spawn_chance))
|
||||
@@ -75,7 +64,7 @@
|
||||
new /mob/living/basic/carp/ella(affected_mob.loc)
|
||||
return ..()
|
||||
|
||||
/datum/disease/advance/carpellosis/proc/grant_ability()
|
||||
/datum/disease/carpellosis/proc/grant_ability()
|
||||
if(ability_granted)
|
||||
return
|
||||
rift_ability = new(src)
|
||||
@@ -83,13 +72,13 @@
|
||||
rift_ability.HideFrom(affected_mob)
|
||||
ability_granted = TRUE
|
||||
|
||||
/datum/disease/advance/carpellosis/proc/find_nearby_human()
|
||||
/datum/disease/carpellosis/proc/find_nearby_human()
|
||||
var/list/surroundings = orange(GNASHING_RANGE, affected_mob)
|
||||
for(var/mob/human as anything in typecache_filter_list(surroundings, typecacheof(/mob/living/carbon/human)))
|
||||
if(human.stat != DEAD && !(HAS_TRAIT(human, TRAIT_FAKEDEATH)))
|
||||
return human
|
||||
|
||||
/datum/disease/advance/carpellosis/proc/gnash_someone()
|
||||
/datum/disease/carpellosis/proc/gnash_someone()
|
||||
var/mob/living/carbon/human/target = find_nearby_human()
|
||||
if(isnull(target) || !affected_mob.get_bodypart(BODY_ZONE_HEAD)) // Need mouth to gnash
|
||||
to_chat(affected_mob, span_warning("You want to gnash at someone..."))
|
||||
@@ -1,9 +1,10 @@
|
||||
/// Caused by dirty food. Makes you burp out Tritium, sometimes burning hot!
|
||||
/datum/disease/advance/gastritium
|
||||
/datum/disease/gastritium
|
||||
name = "Gastritium"
|
||||
desc = "If left untreated, may manifest in severe Tritium heartburn."
|
||||
form = "Infection"
|
||||
agent = "Atmobacter Polyri"
|
||||
cure_text = "Milk"
|
||||
cures = list(/datum/reagent/consumable/milk)
|
||||
viable_mobtypes = list(/mob/living/carbon/human)
|
||||
spread_flags = DISEASE_SPREAD_NON_CONTAGIOUS
|
||||
@@ -13,19 +14,7 @@
|
||||
/// The chance of burped out tritium to be hot during max stage
|
||||
var/tritium_burp_hot_chance = 10
|
||||
|
||||
/datum/disease/advance/gastritium/New()
|
||||
symptoms = list(new/datum/symptom/fever)
|
||||
..()
|
||||
|
||||
/datum/disease/advance/gastritium/generate_cure()
|
||||
cures = list(pick(cures))
|
||||
var/datum/reagent/cure = GLOB.chemical_reagents_list[cures[1]]
|
||||
cure_text = cure.name
|
||||
|
||||
/datum/disease/advance/gastritium/GetDiseaseID()
|
||||
return "[type]"
|
||||
|
||||
/datum/disease/advance/gastritium/stage_act(seconds_per_tick, times_fired)
|
||||
/datum/disease/gastritium/stage_act(seconds_per_tick, times_fired)
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
@@ -49,8 +38,10 @@
|
||||
to_chat(affected_mob, span_warning("You feel like you're about to delam..."))
|
||||
else if(SPT_PROB(1, seconds_per_tick))
|
||||
tritium_burp(hot_chance = TRUE)
|
||||
var/change_limit = max(affected_mob.get_body_temp_heat_damage_limit() - 5 - affected_mob.get_body_temp_normal(apply_change=FALSE), 0)
|
||||
affected_mob.add_body_temperature_change("gastritium", min(15 * stage, change_limit))
|
||||
|
||||
/datum/disease/advance/gastritium/proc/tritium_burp(hot_chance = FALSE)
|
||||
/datum/disease/gastritium/proc/tritium_burp(hot_chance = FALSE)
|
||||
var/datum/gas_mixture/burp = new
|
||||
ADD_GAS(/datum/gas/tritium, burp.gases)
|
||||
burp.gases[/datum/gas/tritium][MOLES] = MOLES_GAS_VISIBLE
|
||||
@@ -1,9 +1,10 @@
|
||||
/// Caused by dirty food. Makes you vomit stars.
|
||||
/datum/disease/advance/nebula_nausea
|
||||
/datum/disease/nebula_nausea
|
||||
name = "Nebula Nausea"
|
||||
desc = "You can't contain the colorful beauty of the cosmos inside."
|
||||
form = "Condition"
|
||||
agent = "Stars"
|
||||
cure_text = "Space Cleaner"
|
||||
cures = list(/datum/reagent/space_cleaner)
|
||||
viable_mobtypes = list(/mob/living/carbon/human)
|
||||
spread_flags = DISEASE_SPREAD_NON_CONTAGIOUS
|
||||
@@ -11,18 +12,6 @@
|
||||
required_organ = ORGAN_SLOT_STOMACH
|
||||
max_stages = 5
|
||||
|
||||
/datum/disease/advance/nebula_nausea/New()
|
||||
symptoms = list(new/datum/symptom/vomit/nebula)
|
||||
..()
|
||||
|
||||
/datum/disease/advance/nebula_nausea/generate_cure()
|
||||
cures = list(pick(cures))
|
||||
var/datum/reagent/cure = GLOB.chemical_reagents_list[cures[1]]
|
||||
cure_text = cure.name
|
||||
|
||||
/datum/disease/advance/nebula_nausea/GetDiseaseID()
|
||||
return "[type]"
|
||||
|
||||
/datum/disease/advance/nebula_nausea/stage_act(seconds_per_tick, times_fired)
|
||||
. = ..()
|
||||
if(!.)
|
||||
@@ -41,3 +30,5 @@
|
||||
if(5)
|
||||
if(SPT_PROB(1, seconds_per_tick) && affected_mob.stat == CONSCIOUS)
|
||||
to_chat(affected_mob, span_warning("Your stomach has become a turbulent nebula, swirling with kaleidoscopic patterns."))
|
||||
else
|
||||
affected_mob.vomit(vomit_flags = (MOB_VOMIT_MESSAGE | MOB_VOMIT_HARM), vomit_type = /obj/effect/decal/cleanable/vomit/nebula, lost_nutrition = 10, distance = 2)
|
||||
@@ -1407,9 +1407,6 @@
|
||||
#include "code\datums\diseases\wizarditis.dm"
|
||||
#include "code\datums\diseases\advance\advance.dm"
|
||||
#include "code\datums\diseases\advance\presets.dm"
|
||||
#include "code\datums\diseases\advance\floor_diseases\carpellosis.dm"
|
||||
#include "code\datums\diseases\advance\floor_diseases\gastritium.dm"
|
||||
#include "code\datums\diseases\advance\floor_diseases\nebula_nausea.dm"
|
||||
#include "code\datums\diseases\advance\symptoms\beard.dm"
|
||||
#include "code\datums\diseases\advance\symptoms\chills.dm"
|
||||
#include "code\datums\diseases\advance\symptoms\choking.dm"
|
||||
@@ -1440,6 +1437,9 @@
|
||||
#include "code\datums\diseases\advance\symptoms\vomit.dm"
|
||||
#include "code\datums\diseases\advance\symptoms\weight.dm"
|
||||
#include "code\datums\diseases\advance\symptoms\youth.dm"
|
||||
#include "code\datums\diseases\floor_diseases\carpellosis.dm"
|
||||
#include "code\datums\diseases\floor_diseases\gastritium.dm"
|
||||
#include "code\datums\diseases\floor_diseases\nebula_nausea.dm"
|
||||
#include "code\datums\elements\_element.dm"
|
||||
#include "code\datums\elements\ai_control_examine.dm"
|
||||
#include "code\datums\elements\ai_flee_while_injured.dm"
|
||||
|
||||
Reference in New Issue
Block a user