mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-09 07:48:55 +00:00
38 lines
1.3 KiB
Plaintext
Executable File
38 lines
1.3 KiB
Plaintext
Executable File
/datum/round_event_control/abductor
|
|
name = "Abductors"
|
|
typepath = /datum/round_event/ghost_role/abductor
|
|
weight = 3
|
|
max_occurrences = 1
|
|
min_players = 30
|
|
earliest_start = 30 MINUTES
|
|
dynamic_should_hijack = TRUE
|
|
category = EVENT_CATEGORY_INVASION
|
|
description = "One or more abductor teams spawns, and they plan to experiment on the crew."
|
|
|
|
/datum/round_event/ghost_role/abductor
|
|
minimum_required = 2
|
|
role_name = "abductor team"
|
|
fakeable = FALSE //Nothing to fake here
|
|
|
|
/datum/round_event/ghost_role/abductor/spawn_role()
|
|
var/list/mob/dead/observer/candidates = get_candidates(ROLE_ABDUCTOR, null, ROLE_ABDUCTOR)
|
|
|
|
if(candidates.len < 2)
|
|
return NOT_ENOUGH_PLAYERS
|
|
|
|
var/mob/living/carbon/human/agent = makeBody(pick_n_take(candidates))
|
|
var/mob/living/carbon/human/scientist = makeBody(pick_n_take(candidates))
|
|
|
|
var/datum/team/abductor_team/T = new
|
|
if(T.team_number > ABDUCTOR_MAX_TEAMS)
|
|
return MAP_ERROR
|
|
|
|
log_game("[key_name(scientist)] has been selected as [T.name] abductor scientist.")
|
|
log_game("[key_name(agent)] has been selected as [T.name] abductor agent.")
|
|
|
|
scientist.mind.add_antag_datum(/datum/antagonist/abductor/scientist, T)
|
|
agent.mind.add_antag_datum(/datum/antagonist/abductor/agent, T)
|
|
|
|
spawned_mobs += list(agent, scientist)
|
|
return SUCCESSFUL_SPAWN
|