mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-26 09:03:37 +00:00
* START * aaaaa * Update assaultops.dm * aaa * Logic Systematic Sense * Logic v2 * Update assaultops.dm * Update assaultops.dm * Update assaultops.dm * Updates. * Update assaultops.dm * a * Update radial.dmi * Docs * Update assaultops.dm * Update one_click_antag.dm * shuttle! * Update syndicate_cruiser.dmm * Update syndicate_cruiser.dmm * aaaa * Update shuttle.dm * Update syndicate_cruiser.dmm * aaa * SMMS+Centcom * Shuttles now get decals! * Update to shuttle, centcom level! * Update CentCom_Skyrat.dmm * New objectives+win conditions * a * Merge branch 'master' into assaultops * system updates + prison area * Desc fix * Delete assaultops_dynamic.dm * a * Update assaultops.dm * Make Ass Team * Update assaultops.dm * fixes * Update syndicate_cruiser.dmm * watch! * Update assaultops.dm * Merge branch 'master' into assaultops * super datumized * aaaa * nothing to see here * Massive map changes. * Update CentCom_Skyrat.dmm * Update CentCom_Skyrat.dmm * Update syndicate_cruiser.dmm * Merge branch 'master' into assaultops * Merge branch 'master' into assaultops * aaaa * Update large_doors.dm * aaa * Update assaultops_gamemode.dm * Update assaultops_datum.dm * aa * spawners! * aaa * Update assaultops_outfits.dm * Update assaultops_spawners.dm * Update assaultops_spawners.dm * Update assaultops_spawners.dm * Update CentCom_Skyrat.dmm * Update CentCom_Skyrat.dmm * a * Base alarm! * Update base_alarm.dm * a * aa * Update CentCom_Skyrat.dmm * Update CentCom_Skyrat.dmm * Update CentCom_Skyrat.dmm * aaa * Update areas.dm * aaaa * Update CentCom_Skyrat.dmm * Update CentCom_Skyrat.dmm * WOOO MORE SHIT! * Update CentCom_Skyrat.dmm * Update CentCom_Skyrat.dmm * aa * Update CentCom_Skyrat.dmm * Update CentCom_Skyrat.dmm * Update CentCom_Skyrat.dmm * Update CentCom_Skyrat.dmm * Update syndicate_frigate.dmm * a * Update CentCom_Skyrat.dmm * Assault Ops Card Stuff (#2803) * Automatic changelog generation for PR #2803 [ci skip] * Assault Ops Map Tweaks (#2861) * Update CentCom_Skyrat.dmm * Update syndicate_frigate.dmm * Update CentCom_Skyrat.dmm * Update CentCom_Skyrat.dmm * modularmaps * duisables mining * Removes the gosh darn Orbital Mech Pad (#2917) Co-authored-by: BluBerry016 <50649185+unit0016@users.noreply.github.com> Co-authored-by: SkyratBot <59378654+SkyratBot@users.noreply.github.com>
55 lines
1.8 KiB
Plaintext
55 lines
1.8 KiB
Plaintext
/datum/admins/proc/makeAssaultTeam()
|
|
var/datum/game_mode/assaultops/temp = new
|
|
var/list/mob/dead/observer/candidates = pollGhostCandidates("Do you wish to be considered for an assault team being sent in?", ROLE_ASSAULTOPS, temp)
|
|
var/list/mob/dead/observer/chosen = list()
|
|
var/mob/dead/observer/theghost = null
|
|
var/numagents = 5
|
|
|
|
if(candidates.len)
|
|
var/agentcount = 0
|
|
|
|
for(var/i = 0, i<numagents,i++)
|
|
shuffle_inplace(candidates) //More shuffles means more randoms
|
|
for(var/mob/j in candidates)
|
|
if(!j || !j.client)
|
|
candidates.Remove(j)
|
|
continue
|
|
|
|
theghost = j
|
|
candidates.Remove(theghost)
|
|
chosen += theghost
|
|
agentcount++
|
|
break
|
|
//Making sure we have atleast 3 Nuke agents, because less than that is kinda bad
|
|
if(agentcount < 3)
|
|
return FALSE
|
|
|
|
//Let's find the spawn locations
|
|
var/leader_chosen = FALSE
|
|
var/datum/team/assaultops/assault_team
|
|
for(var/mob/c in chosen)
|
|
var/mob/living/carbon/human/new_character=makeBody(c)
|
|
if(!leader_chosen)
|
|
leader_chosen = TRUE
|
|
var/datum/antagonist/assaultops/N = new_character.mind.add_antag_datum(/datum/antagonist/assaultops/leader)
|
|
assault_team = N.assault_team
|
|
else
|
|
new_character.mind.add_antag_datum(/datum/antagonist/assaultops,assault_team)
|
|
return TRUE
|
|
else
|
|
return FALSE
|
|
|
|
/datum/antagonist/assaultops/admin_add(datum/mind/new_owner,mob/admin)
|
|
new_owner.assigned_role = ROLE_SYNDICATE
|
|
new_owner.add_antag_datum(src)
|
|
message_admins("[key_name_admin(admin)] has assault op'ed [key_name_admin(new_owner)].")
|
|
log_admin("[key_name(admin)] has assault op'ed [key_name(new_owner)].")
|
|
|
|
/datum/antagonist/assaultops/get_admin_commands()
|
|
. = ..()
|
|
.["Send to base"] = CALLBACK(src,.proc/admin_send_to_base)
|
|
|
|
/datum/antagonist/assaultops/proc/admin_send_to_base(mob/admin)
|
|
owner.current.forceMove(pick(get_turf(GLOB.assaultop_start)))
|
|
|