Files
Paradise/code/modules/events/viral_infection.dm
T

31 lines
1.0 KiB
Plaintext

datum/event/viral_infection
severity = 1
datum/event/viral_infection/setup()
announceWhen = rand(0, 3000)
endWhen = announceWhen + 1
severity = rand(1, 3)
datum/event/viral_infection/announce()
command_announcement.Announce("Confirmed outbreak of level five viral biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", new_sound = 'sound/AI/outbreak5.ogg')
datum/event/viral_infection/start()
var/list/candidates = list() //list of candidate keys
for(var/mob/living/carbon/human/G in player_list)
if(G.client && G.stat != DEAD)
candidates += G
if(!candidates.len) return
candidates = shuffle(candidates)//Incorporating Donkie's list shuffle
var/datum/disease2/disease/D = new /datum/disease2/disease
D.makerandom()
D.infectionchance = 1
message_admins("Viral Infection: releasing strain [D.uniqueID]")
while(severity > 0 && candidates.len)
var/mob/living/carbon/human/H = candidates[1]
H.virus2["[D.uniqueID]"] = D
candidates.Remove(candidates[1])
severity--