Files
Bubberstation/code/modules/events/blob.dm
SkyratBot 6abef4bbb9 [MIRROR] No more blobs after shuttle passes point of no return (#722)
* No more blobs after shuttle passes point of no return (#53488)

* DIE BLOB DIE

* define for PONR

* Update code/__DEFINES/shuttles.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

Co-authored-by: Rohesie <rohesie@gmail.com>

* No more blobs after shuttle passes point of no return

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-09-09 08:32:10 +02:00

37 lines
1.2 KiB
Plaintext

/datum/round_event_control/blob
name = "Blob"
typepath = /datum/round_event/ghost_role/blob
weight = 10
max_occurrences = 1
min_players = 20
gamemode_blacklist = list("blob") //Just in case a blob survives that long
/datum/round_event_control/blob/canSpawnEvent(players, gamemode)
if(EMERGENCY_PAST_POINT_OF_NO_RETURN) // no blobs if the shuttle is past the point of no return
return FALSE
return ..()
/datum/round_event/ghost_role/blob
announceChance = 0
role_name = "blob overmind"
fakeable = TRUE
/datum/round_event/ghost_role/blob/announce(fake)
priority_announce("Confirmed outbreak of level 5 biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", 'sound/ai/outbreak5.ogg')
/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