Added slave collars, slave console and modified comms console

This commit is contained in:
James
2021-12-02 17:01:23 +00:00
parent 91ea4b41a7
commit f3726aba32
25 changed files with 1138 additions and 382 deletions
+8
View File
@@ -113,6 +113,14 @@
else
message_admins("[key_name_admin(usr)] tried to create a nuke team. Unfortunately, there were not enough candidates available.")
log_admin("[key_name(usr)] failed to create a nuke team.")
if("slaver")
message_admins("[key_name(usr)] is creating a slaver trader crew...")
if(src.makeSlaverTeam())
message_admins("[key_name(usr)] created a slave trader crew.")
log_admin("[key_name(usr)] created a slave trader crew.")
else
message_admins("[key_name_admin(usr)] tried to create a slave trader crew. Unfortunately, there were not enough candidates available.")
log_admin("[key_name(usr)] failed to create a slave trader crew.")
if("ninja")
message_admins("[key_name(usr)] spawned a ninja.")
log_admin("[key_name(usr)] spawned a ninja.")
@@ -19,6 +19,7 @@
<a href='?src=[REF(src)];[HrefToken()];makeAntag=blob'>Make Blob</a><br>
<a href='?src=[REF(src)];[HrefToken()];makeAntag=wizard'>Make Wizard (Requires Ghosts)</a><br>
<a href='?src=[REF(src)];[HrefToken()];makeAntag=nukeops'>Make Nuke Team (Requires Ghosts)</a><br>
<a href='?src=[REF(src)];[HrefToken()];makeAntag=slaver'>Make Slave Trader Crew (Requires Ghosts)</a><br>
<a href='?src=[REF(src)];[HrefToken()];makeAntag=centcom'>Make CentCom Response Team (Requires Ghosts)</a><br>
<a href='?src=[REF(src)];[HrefToken()];makeAntag=abductors'>Make Abductor Team (Requires Ghosts)</a><br>
<a href='?src=[REF(src)];[HrefToken()];makeAntag=revenant'>Make Revenant (Requires Ghost)</a><br>
@@ -254,6 +255,50 @@
return 0
//Abductors
///datum/admins/proc/makeAbductorTeam()
// new /datum/round_event/ghost_role/abductor
// return 1
/datum/admins/proc/makeSlaverTeam()
var/list/mob/candidates = pollGhostCandidates("Do you wish to be considered for the slave trader crew entering the sector?", ROLE_SLAVER)
var/list/mob/chosen = list()
var/mob/theghost = null
if(candidates.len)
var/numslavers = 5
var/slavercount = 0
for(var/i = 0, i<numslavers,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
slavercount++
break
//Making sure we have atleast 1 slaver
if(slavercount < 1)
return 0
//Let's find the spawn locations
var/leader_chosen = FALSE
var/datum/team/slavers/slaver_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/slaver/S = new_character.mind.add_antag_datum(/datum/antagonist/slaver/leader)
slaver_team = S.slaver_team
else
new_character.mind.add_antag_datum(/datum/antagonist/slaver,slaver_team)
return 1
else
return 0
+4
View File
@@ -465,6 +465,10 @@ Traitors and the like can also be revived with the previous role mostly intact.
new_character.forceMove(pick(GLOB.nukeop_start))
var/datum/antagonist/nukeop/N = new_character.mind.has_antag_datum(/datum/antagonist/nukeop,TRUE)
N.equip_op()
if(ROLE_SLAVER)
new_character.forceMove(pick(GLOB.slaver_start))
var/datum/antagonist/slaver/S = new_character.mind.has_antag_datum(/datum/antagonist/slaver,TRUE)
S.equip_slaver()
if(ROLE_NINJA)
var/list/ninja_spawn = list()
for(var/obj/effect/landmark/carpspawn/L in GLOB.landmarks_list)