Antag Panel / Check antagonists Refactor
This commit is contained in:
committed by
CitadelStationBot
parent
c6f227fc18
commit
3dc89ba058
@@ -4,7 +4,7 @@
|
||||
weight = 10
|
||||
max_occurrences = 1
|
||||
min_players = 20
|
||||
gamemode_blacklist = list("nuclear","wizard","revolution","abduction")
|
||||
gamemode_blacklist = list("nuclear","wizard","revolution")
|
||||
|
||||
/datum/round_event/ghost_role/abductor
|
||||
minimum_required = 2
|
||||
@@ -17,20 +17,18 @@
|
||||
if(candidates.len < 2)
|
||||
return NOT_ENOUGH_PLAYERS
|
||||
|
||||
var/datum/game_mode/abduction/GM
|
||||
if(SSticker.mode.config_tag == "abduction")
|
||||
GM = SSticker.mode
|
||||
else
|
||||
GM = new
|
||||
|
||||
var/mob/living/carbon/human/agent = makeBody(pick_n_take(candidates))
|
||||
var/mob/living/carbon/human/scientist = makeBody(pick_n_take(candidates))
|
||||
|
||||
var/team = GM.make_abductor_team(agent.mind, scientist.mind)
|
||||
if(!team)
|
||||
var/datum/team/abductor_team/T = new
|
||||
if(T.team_number > ABDUCTOR_MAX_TEAMS)
|
||||
return MAP_ERROR
|
||||
|
||||
log_game("[scientist.mind.key] (ckey) has been selected as [T.name] abductor scientist.")
|
||||
log_game("[agent.mind.key] (ckey) has been selected as [T.name] abductor agent.")
|
||||
|
||||
GM.post_setup_team(team)
|
||||
scientist.mind.add_antag_datum(ANTAG_DATUM_ABDUCTOR_SCIENTIST, T)
|
||||
agent.mind.add_antag_datum(ANTAG_DATUM_ABDUCTOR_AGENT, T)
|
||||
|
||||
spawned_mobs += list(agent, scientist)
|
||||
return SUCCESSFUL_SPAWN
|
||||
|
||||
@@ -46,17 +46,11 @@
|
||||
var/datum/objective/martyr/normiesgetout = new
|
||||
normiesgetout.owner = L.mind
|
||||
L.mind.special_role = "heartbreaker"
|
||||
SSticker.mode.traitors |= L.mind
|
||||
L.mind.objectives += normiesgetout
|
||||
|
||||
L.mind.add_antag_datum(/datum/antagonist/auto_custom)
|
||||
|
||||
/proc/forge_valentines_objective(mob/living/lover,mob/living/date)
|
||||
|
||||
SSticker.mode.traitors |= lover.mind
|
||||
lover.mind.special_role = "valentine"
|
||||
|
||||
|
||||
var/datum/objective/protect/protect_objective = new /datum/objective/protect
|
||||
protect_objective.owner = lover.mind
|
||||
protect_objective.target = date.mind
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
player_mind.transfer_to(S)
|
||||
player_mind.assigned_role = "Nightmare"
|
||||
player_mind.special_role = "Nightmare"
|
||||
SSticker.mode.traitors += player_mind
|
||||
player_mind.add_antag_datum(/datum/antagonist/auto_custom)
|
||||
S.set_species(/datum/species/shadow/nightmare)
|
||||
playsound(S, 'sound/magic/ethereal_exit.ogg', 50, 1, -1)
|
||||
|
||||
@@ -38,11 +38,10 @@
|
||||
for(var/mob/living/carbon/human/H in GLOB.carbon_list)
|
||||
if(H.mind)
|
||||
var/datum/mind/M = H.mind
|
||||
if(M.assigned_role && !(M in SSticker.mode.traitors))
|
||||
if(M.assigned_role && !(M.has_antag_datum(/datum/antagonist)))
|
||||
for(var/job in jobs_to_revolt)
|
||||
if(M.assigned_role == job)
|
||||
citizens += H
|
||||
SSticker.mode.traitors += M
|
||||
M.special_role = "separatist"
|
||||
M.add_antag_datum(/datum/antagonist/auto_custom)
|
||||
H.log_message("<font color='red'>Was made into a separatist, long live [nation]!</font>", INDIVIDUAL_ATTACK_LOG)
|
||||
|
||||
@@ -60,8 +60,6 @@
|
||||
/obj/item/greentext/process()
|
||||
if(new_holder && is_centcom_level(new_holder.z))//you're winner!
|
||||
to_chat(new_holder, "<font color='green'>At last it feels like victory is assured!</font>")
|
||||
if(!(new_holder in SSticker.mode.traitors))
|
||||
SSticker.mode.traitors += new_holder.mind
|
||||
new_holder.mind.special_role = "winner"
|
||||
var/datum/objective/O = new /datum/objective("Succeed")
|
||||
O.completed = 1 //YES!
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
var/datum/antagonist/wizard/master = M.has_antag_datum(/datum/antagonist/wizard)
|
||||
if(!master.wiz_team)
|
||||
master.create_wiz_team()
|
||||
var/datum/antagonist/wizard/apprentice/imposter/imposter = new(I.mind)
|
||||
var/datum/antagonist/wizard/apprentice/imposter/imposter = new()
|
||||
imposter.master = M
|
||||
imposter.wiz_team = master.wiz_team
|
||||
master.wiz_team.add_member(imposter)
|
||||
|
||||
Reference in New Issue
Block a user