Files
Bubberstation/code/__DEFINES/diseases.dm
T
9da281aef7 [MIRROR] Disease outbreak fixes/admin options [MDB IGNORE] (#22877)
* Disease outbreak fixes/admin options (#77272)

## About The Pull Request

- Fixes event diseases sometimes remaining invisible even after the
event announcement
- Fixes 'random' disease names favouring certain severities, causing
frequent repetition of selected name
- Adds a bitfield for spread_flags so transmissibility can easily be
modified in game by admins
- Adds option to select spread method when using admin event panel
- Hitting the X or cancel will cancel the event on all admin input
questions

## Why It's Good For The Game

- Being infected with an event disease that remains invisible is a pain
for the player, medbay, and eventually staff
- More admin options when creating an outbreak is good
- Being able to easily edit the transmissibility once the disease is
created is good
- Disease outbreak should fail with ADMIN_CANCEL_EVENT if any explicit
inputs are invalid

## Changelog

🆑 LT3
fix: Fixed disease outbreak viruses sometimes getting stuck invisible
from medHUDs
admin: Added more admin features to create/manange disease outbreaks
admin: Pressing 'cancel' on disease outbreak setup dialogs will actually
cancel the event instead of running it with default settings
/🆑

---------

Co-authored-by: Time-Green <7501474+Time-Green@ users.noreply.github.com>

* Disease outbreak fixes/admin options

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Time-Green <7501474+Time-Green@ users.noreply.github.com>
2023-08-04 14:36:45 -07:00

50 lines
1.7 KiB
Plaintext

#define DISEASE_LIMIT 1
#define VIRUS_SYMPTOM_LIMIT 6
//Visibility Flags
#define HIDDEN_SCANNER (1<<0)
#define HIDDEN_PANDEMIC (1<<1)
//Disease Flags
#define CURABLE (1<<0)
#define CAN_CARRY (1<<1)
#define CAN_RESIST (1<<2)
#define CHRONIC (1<<3)
//Spread Flags
#define DISEASE_SPREAD_SPECIAL (1<<0)
#define DISEASE_SPREAD_NON_CONTAGIOUS (1<<1)
#define DISEASE_SPREAD_BLOOD (1<<2)
#define DISEASE_SPREAD_CONTACT_FLUIDS (1<<3)
#define DISEASE_SPREAD_CONTACT_SKIN (1<<4)
#define DISEASE_SPREAD_AIRBORNE (1<<5)
//Bitfield for Spread Flags
DEFINE_BITFIELD(spread_flags, list(
"SPREAD_SPECIAL" = DISEASE_SPREAD_SPECIAL,
"SPREAD_NON_CONTAGIOUS" = DISEASE_SPREAD_NON_CONTAGIOUS,
"SPREAD_BLOOD" = DISEASE_SPREAD_BLOOD,
"SPREAD_FLUIDS" = DISEASE_SPREAD_CONTACT_FLUIDS,
"SPREAD_SKIN_CONTACT" = DISEASE_SPREAD_CONTACT_SKIN,
"SPREAD_AIRBORNE" = DISEASE_SPREAD_AIRBORNE,
))
//Severity Defines
/// Diseases that buff, heal, or at least do nothing at all
#define DISEASE_SEVERITY_POSITIVE "Positive"
/// Diseases that may have annoying effects, but nothing disruptive (sneezing)
#define DISEASE_SEVERITY_NONTHREAT "Harmless"
/// Diseases that can annoy in concrete ways (dizziness)
#define DISEASE_SEVERITY_MINOR "Minor"
/// Diseases that can do minor harm, or severe annoyance (vomit)
#define DISEASE_SEVERITY_MEDIUM "Medium"
/// Diseases that can do significant harm, or severe disruption (brainrot)
#define DISEASE_SEVERITY_HARMFUL "Harmful"
/// Diseases that can kill or maim if left untreated (flesh eating, blindness)
#define DISEASE_SEVERITY_DANGEROUS "Dangerous"
/// Diseases that can quickly kill an unprepared victim (fungal tb, gbs)
#define DISEASE_SEVERITY_BIOHAZARD "BIOHAZARD"
/// Diseases that are uncurable (hms)
#define DISEASE_SEVERITY_UNCURABLE "Uncurable"