Files
Paradise/code/modules/events/blob.dm
2020-07-15 12:53:17 +02:00

34 lines
1.3 KiB
Plaintext

/datum/event/blob
announceWhen = 180
endWhen = 240
var/successSpawn = FALSE //So we don't make a command report if nothing gets spawned.
/datum/event/blob/announce()
if(successSpawn)
GLOB.event_announcement.Announce("Confirmed outbreak of level 5 biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", 'sound/AI/outbreak5.ogg')
/datum/event/blob/start()
processing = FALSE //so it won't fire again in next tick
var/turf/T = pick(GLOB.blobstart)
if(!T)
return kill()
var/list/candidates = pollCandidates("Do you want to play as a blob infested mouse?", ROLE_BLOB, 1)
if(!candidates.len)
return kill()
var/list/vents = get_valid_vent_spawns()
if(!length(vents))
return
var/obj/vent = pick(vents)
var/mob/living/simple_animal/mouse/blobinfected/B = new(vent.loc)
var/mob/M = pick(candidates)
B.key = M.key
SSticker.mode.update_blob_icons_added(B.mind)
to_chat(B, "<span class='userdanger'>You are now a mouse, infected with blob spores. Find somewhere isolated... before you burst and become the blob! Use ventcrawl (alt-click on vents) to move around.</span>")
notify_ghosts("Infected Mouse has appeared in [get_area(B)].", source = B)
successSpawn = TRUE
processing = TRUE // Let it naturally end, if it runs successfully