Antag Panel / Check antagonists Refactor

This commit is contained in:
AnturK
2018-01-19 15:43:23 +01:00
committed by CitadelStationBot
parent c6f227fc18
commit 3dc89ba058
63 changed files with 1224 additions and 1427 deletions
+8 -10
View File
@@ -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
-6
View File
@@ -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
-1
View File
@@ -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)
-2
View File
@@ -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!
+1 -1
View File
@@ -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)