mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-21 11:07:12 +01:00
* Ghost bar initial changes * more changes * we ball again brothers * we are (once again) SO back * Update code/modules/admin/verbs/debug.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> * Update code/_onclick/hud/alert.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> * Update code/_onclick/hud/alert.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> * Update code/modules/ruins/ghost_bar.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/modules/ruins/ghost_bar.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/modules/ruins/ghost_bar.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/modules/ruins/ghost_bar.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/modules/ruins/ghost_bar.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/game/objects/items/weapons/cards_ids.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * deck of cards and shittt * global placement * Update code/modules/ruins/ghost_bar.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * readded * hotfix * zamn * fixes * greyfix * last of the fixes * can't stop me baby * bam --------- Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
54 lines
1.7 KiB
Plaintext
54 lines
1.7 KiB
Plaintext
/datum/event/abductor
|
|
|
|
/datum/event/abductor/start()
|
|
INVOKE_ASYNC(src, PROC_REF(try_makeAbductorTeam))
|
|
|
|
/datum/event/abductor/proc/try_makeAbductorTeam()
|
|
if(!makeAbductorTeam())
|
|
message_admins("Abductor event failed to find players. Retrying in 30s.")
|
|
addtimer(CALLBACK(src, PROC_REF(makeAbductorTeam)), 30 SECONDS)
|
|
|
|
/datum/event/abductor/proc/makeAbductorTeam()
|
|
var/list/mob/dead/observer/candidates = SSghost_spawns.poll_candidates("Do you wish to be considered for an Abductor Team?", ROLE_ABDUCTOR, TRUE)
|
|
|
|
if(candidates.len >= 2)
|
|
//Oh god why we can't have static functions
|
|
var/number = SSticker.mode.abductor_teams + 1
|
|
|
|
var/datum/game_mode/abduction/temp
|
|
if(SSticker.mode.config_tag == "abduction")
|
|
temp = SSticker.mode
|
|
else
|
|
temp = new
|
|
|
|
var/mob/agent_mind = pick(candidates)
|
|
candidates -= agent_mind
|
|
var/mob/scientist_mind = pick(candidates)
|
|
|
|
var/mob/living/carbon/human/agent=makeBody(agent_mind)
|
|
var/mob/living/carbon/human/scientist=makeBody(scientist_mind)
|
|
|
|
agent_mind = agent.mind
|
|
scientist_mind = scientist.mind
|
|
|
|
temp.scientists.len = number
|
|
temp.agents.len = number
|
|
temp.abductors.len = 2*number
|
|
temp.team_objectives.len = number
|
|
temp.team_names.len = number
|
|
temp.scientists[number] = scientist_mind
|
|
temp.agents[number] = agent_mind
|
|
temp.abductors |= list(agent_mind,scientist_mind)
|
|
temp.make_abductor_team(number,preset_scientist=scientist_mind,preset_agent=agent_mind)
|
|
temp.post_setup_team(number)
|
|
dust_if_respawnable(agent_mind)
|
|
dust_if_respawnable(scientist)
|
|
|
|
SSticker.mode.abductor_teams++
|
|
|
|
if(SSticker.mode.config_tag != "abduction")
|
|
SSticker.mode.abductors |= temp.abductors
|
|
return 1
|
|
else
|
|
return 0
|