mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-01-24 08:22:54 +00:00
40 lines
1.4 KiB
Plaintext
40 lines
1.4 KiB
Plaintext
/datum/event/disease_outbreak
|
|
announceWhen = 15
|
|
|
|
var/virus_type
|
|
|
|
/datum/event/disease_outbreak/setup()
|
|
announceWhen = rand(15, 30)
|
|
|
|
/datum/event/disease_outbreak/announce()
|
|
event_announcement.Announce("Confirmed outbreak of level 7 major viral biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", new_sound = 'sound/AI/outbreak7.ogg')
|
|
|
|
/datum/event/disease_outbreak/start()
|
|
if(!virus_type)
|
|
virus_type = pick(/datum/disease/advance/flu, /datum/disease/advance/cold, /datum/disease/brainrot, /datum/disease/magnitis, /datum/disease/beesease, /datum/disease/anxiety, /datum/disease/fake_gbs, /datum/disease/fluspanish, /datum/disease/pierrot_throat, /datum/disease/lycan)
|
|
|
|
for(var/mob/living/carbon/human/H in shuffle(GLOB.living_mob_list))
|
|
if(issmall(H)) //don't infect monkies; that's a waste
|
|
continue
|
|
if(!H.client)
|
|
continue
|
|
if(VIRUSIMMUNE in H.dna.species.species_traits) //don't let virus immune things get diseases they're not supposed to get.
|
|
continue
|
|
var/turf/T = get_turf(H)
|
|
if(!T)
|
|
continue
|
|
if(!is_station_level(T.z))
|
|
continue
|
|
var/foundAlready = FALSE // don't infect someone that already has the virus
|
|
for(var/thing in H.viruses)
|
|
foundAlready = TRUE
|
|
break
|
|
if(H.stat == DEAD || foundAlready)
|
|
continue
|
|
|
|
var/datum/disease/D
|
|
D = new virus_type()
|
|
D.carrier = TRUE
|
|
H.AddDisease(D)
|
|
break
|