mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2025-12-20 07:12:55 +00:00
Wee! Readds Disease1, kills off disease2, and finally removes poop.dmi
(fucking piece of shit)
Needs WAY more testing, most of which I don't know how to do yet, because
I've never used this system. Fun!
Changes:
- Virus2 has been removed completely.
- Some symptoms have not been readded. Aka, none of them have been
readded, I just wanted to get this shit ported.
- Virology has been updated slightly to mirror -tg-'s boxstation, as the
virus2 machines are gone.
- Welcome back, disease1
- The centrifuge, vials, splicer, analyzer, growerthing, have all been
replaced by the PanD.E.M.I.C. 2220
- No symptoms have been completely removed; However, vision symptoms
have been disabled pending byond 510, and genetics symptoms have been
disabled until "when I figure out how to fix them".
- Advanced Mutation Toxin now uses a disease, which turns people from
species, to slime person, to slime. Slime people are instantly turned
to a slime.
- Diseased touch now give people appendicitis. Yes, they VANT YOUR...
appendix.
- Virology now has a fridge with the following in it:
- Antiviral Syringes
- 1 Rhinovirus culture
- 1 Flu culture
- 1 Bottle of Mutagen
- 1 Bottle of Plasma
- 1 Bottle of Synaptizine
- A few more things, which I can't remember and can't look at while writing
this commit. Sometimes, git hurts.
TODO:
- Test more shit and figure out how the PanD.E.M.I.C. works/is supposed to
work.
- Fix genetics symptoms.
- Give vampires a less shitty diseased touch.
- Add appendicitis event.
-
45 lines
1.2 KiB
Plaintext
45 lines
1.2 KiB
Plaintext
var/datum/controller/process/diseases/disease_master
|
|
|
|
/datum/controller/process/diseases
|
|
var/list/currentrun = list()
|
|
var/list/processing_diseases = list()
|
|
|
|
/datum/controller/process/diseases/setup()
|
|
name = "disease"
|
|
schedule_interval = 20 // every 2 seconds
|
|
start_delay = 7
|
|
log_startup_progress("Disease controller starting.")
|
|
if(disease_master)
|
|
qdel(disease_master) //only one mob master
|
|
disease_master = src
|
|
|
|
register_diseases() //register all pre-round diseases created
|
|
|
|
/datum/controller/process/diseases/statProcess()
|
|
..()
|
|
stat(null, "[processing_diseases.len] diseases")
|
|
|
|
|
|
/datum/controller/process/diseases/doWork()
|
|
src.currentrun = processing_diseases.Copy()
|
|
//cache for sanic speed (lists are references anyways)
|
|
var/list/currentrun = src.currentrun
|
|
|
|
while(currentrun.len)
|
|
var/datum/disease/thing = currentrun[1]
|
|
currentrun.Cut(1, 2)
|
|
if(thing)
|
|
try
|
|
thing.process()
|
|
catch(var/exception/e)
|
|
catchException(e, thing)
|
|
SCHECK
|
|
else
|
|
catchBadType(thing)
|
|
processing_diseases.Remove(thing)
|
|
|
|
/datum/controller/process/diseases/proc/register_diseases()
|
|
for(var/datum/disease/D in world)
|
|
if(!processing_diseases.Find(D))
|
|
D.register()
|