mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-10 01:19:02 +00:00
40 lines
1.6 KiB
Plaintext
40 lines
1.6 KiB
Plaintext
/datum/round_event_control/blob
|
|
name = "Blob"
|
|
typepath = /datum/round_event/ghost_role/blob
|
|
weight = 10
|
|
max_occurrences = 1
|
|
|
|
min_players = 40
|
|
|
|
gamemode_blacklist = list("blob") //Just in case a blob survives that long
|
|
|
|
/datum/round_event/ghost_role/blob
|
|
announceWhen = -1
|
|
role_name = "blob overmind"
|
|
fakeable = TRUE
|
|
|
|
/datum/round_event/ghost_role/blob/announce(fake)
|
|
if(prob(75))
|
|
priority_announce("Confirmed outbreak of level 5 biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", 'sound/ai/outbreak5.ogg')
|
|
else
|
|
priority_announce("A report has been downloaded and printed out at all communications consoles.", "Incoming Classified Message", 'sound/ai/commandreport.ogg') // CITADEL EDIT metabreak
|
|
for(var/obj/machinery/computer/communications/C in GLOB.machines)
|
|
if(!(C.stat & (BROKEN|NOPOWER)) && is_station_level(C.z))
|
|
var/obj/item/paper/P = new(C.loc)
|
|
P.name = "level 5 biohazard"
|
|
P.info = "Confirmed outbreak of level 5 biohazard aboard [station_name()]. All personnel must contain the outbreak."
|
|
P.update_icon()
|
|
|
|
/datum/round_event/ghost_role/blob/spawn_role()
|
|
if(!GLOB.blobstart.len)
|
|
return MAP_ERROR
|
|
var/list/candidates = get_candidates(ROLE_BLOB, null, ROLE_BLOB)
|
|
if(!candidates.len)
|
|
return NOT_ENOUGH_PLAYERS
|
|
var/mob/dead/observer/new_blob = pick(candidates)
|
|
var/mob/camera/blob/BC = new_blob.become_overmind()
|
|
spawned_mobs += BC
|
|
message_admins("[ADMIN_LOOKUPFLW(BC)] has been made into a blob overmind by an event.")
|
|
log_game("[key_name(BC)] was spawned as a blob overmind by an event.")
|
|
return SUCCESSFUL_SPAWN
|