Renames /datum/objective_team to /datum/team

This commit is contained in:
More Robust Than You
2017-12-18 07:30:31 -05:00
parent 8a7d68b0d5
commit 6b642d220f
26 changed files with 144 additions and 144 deletions

View File

@@ -47,7 +47,7 @@
antag_info["antagonist_name"] = A.name //For auto and custom roles antag_info["antagonist_name"] = A.name //For auto and custom roles
antag_info["objectives"] = list() antag_info["objectives"] = list()
antag_info["team"] = list() antag_info["team"] = list()
var/datum/objective_team/T = A.get_team() var/datum/team/T = A.get_team()
if(T) if(T)
antag_info["team"]["type"] = T.type antag_info["team"]["type"] = T.type
antag_info["team"]["name"] = T.name antag_info["team"]["name"] = T.name
@@ -331,7 +331,7 @@
all_teams |= A.get_team() all_teams |= A.get_team()
all_antagonists += A all_antagonists += A
for(var/datum/objective_team/T in all_teams) for(var/datum/team/T in all_teams)
result += T.roundend_report() result += T.roundend_report()
for(var/datum/antagonist/X in all_antagonists) for(var/datum/antagonist/X in all_antagonists)
if(X.get_team() == T) if(X.get_team() == T)

View File

@@ -2,7 +2,7 @@
name = "Abductor" name = "Abductor"
roundend_category = "abductors" roundend_category = "abductors"
job_rank = ROLE_ABDUCTOR job_rank = ROLE_ABDUCTOR
var/datum/objective_team/abductor_team/team var/datum/team/abductor_team/team
var/sub_role var/sub_role
var/outfit var/outfit
var/landmark_type var/landmark_type
@@ -20,7 +20,7 @@
landmark_type = /obj/effect/landmark/abductor/scientist landmark_type = /obj/effect/landmark/abductor/scientist
greet_text = "Use your stealth technology and equipment to incapacitate humans for your scientist to retrieve." greet_text = "Use your stealth technology and equipment to incapacitate humans for your scientist to retrieve."
/datum/antagonist/abductor/create_team(datum/objective_team/abductor_team/new_team) /datum/antagonist/abductor/create_team(datum/team/abductor_team/new_team)
if(!new_team) if(!new_team)
return return
if(!istype(new_team)) if(!istype(new_team))
@@ -73,20 +73,20 @@
A.scientist = TRUE A.scientist = TRUE
/datum/objective_team/abductor_team /datum/team/abductor_team
member_name = "abductor" member_name = "abductor"
var/team_number var/team_number
var/list/datum/mind/abductees = list() var/list/datum/mind/abductees = list()
/datum/objective_team/abductor_team/is_solo() /datum/team/abductor_team/is_solo()
return FALSE return FALSE
/datum/objective_team/abductor_team/proc/add_objective(datum/objective/O) /datum/team/abductor_team/proc/add_objective(datum/objective/O)
O.team = src O.team = src
O.update_explanation_text() O.update_explanation_text()
objectives += O objectives += O
/datum/objective_team/abductor_team/roundend_report() /datum/team/abductor_team/roundend_report()
var/list/result = list() var/list/result = list()
var/won = TRUE var/won = TRUE

View File

@@ -49,7 +49,7 @@ GLOBAL_LIST_EMPTY(antagonists)
return return
//Assign default team and creates one for one of a kind team antagonists //Assign default team and creates one for one of a kind team antagonists
/datum/antagonist/proc/create_team(datum/objective_team/team) /datum/antagonist/proc/create_team(datum/team/team)
return return
//Proc called when the datum is given to a mind. //Proc called when the datum is given to a mind.
@@ -84,7 +84,7 @@ GLOBAL_LIST_EMPTY(antagonists)
LAZYREMOVE(owner.antag_datums, src) LAZYREMOVE(owner.antag_datums, src)
if(!silent && owner.current) if(!silent && owner.current)
farewell() farewell()
var/datum/objective_team/team = get_team() var/datum/team/team = get_team()
if(team) if(team)
team.remove_member(owner) team.remove_member(owner)
qdel(src) qdel(src)

View File

@@ -2,12 +2,12 @@
name = "Brother" name = "Brother"
job_rank = ROLE_BROTHER job_rank = ROLE_BROTHER
var/special_role = "blood brother" var/special_role = "blood brother"
var/datum/objective_team/brother_team/team var/datum/team/brother_team/team
/datum/antagonist/brother/New(datum/mind/new_owner) /datum/antagonist/brother/New(datum/mind/new_owner)
return ..() return ..()
/datum/antagonist/brother/create_team(datum/objective_team/brother_team/new_team) /datum/antagonist/brother/create_team(datum/team/brother_team/new_team)
if(!new_team) if(!new_team)
return return
if(!istype(new_team)) if(!istype(new_team))
@@ -57,15 +57,15 @@
SSticker.mode.update_brother_icons_added(owner) SSticker.mode.update_brother_icons_added(owner)
/datum/objective_team/brother_team /datum/team/brother_team
name = "brotherhood" name = "brotherhood"
member_name = "blood brother" member_name = "blood brother"
var/meeting_area var/meeting_area
/datum/objective_team/brother_team/is_solo() /datum/team/brother_team/is_solo()
return FALSE return FALSE
/datum/objective_team/brother_team/proc/update_name() /datum/team/brother_team/proc/update_name()
var/list/last_names = list() var/list/last_names = list()
for(var/datum/mind/M in members) for(var/datum/mind/M in members)
var/list/split_name = splittext(M.name," ") var/list/split_name = splittext(M.name," ")
@@ -73,7 +73,7 @@
name = last_names.Join(" & ") name = last_names.Join(" & ")
/datum/objective_team/brother_team/roundend_report() /datum/team/brother_team/roundend_report()
var/list/parts = list() var/list/parts = list()
parts += "<span class='header'>The blood brothers of [name] were:</span>" parts += "<span class='header'>The blood brothers of [name] were:</span>"
@@ -95,14 +95,14 @@
return "<div class='panel redborder'>[parts.Join("<br>")]</div>" return "<div class='panel redborder'>[parts.Join("<br>")]</div>"
/datum/objective_team/brother_team/proc/add_objective(datum/objective/O, needs_target = FALSE) /datum/team/brother_team/proc/add_objective(datum/objective/O, needs_target = FALSE)
O.team = src O.team = src
if(needs_target) if(needs_target)
O.find_target() O.find_target()
O.update_explanation_text() O.update_explanation_text()
objectives += O objectives += O
/datum/objective_team/brother_team/proc/forge_brother_objectives() /datum/team/brother_team/proc/forge_brother_objectives()
objectives = list() objectives = list()
var/is_hijacker = prob(10) var/is_hijacker = prob(10)
for(var/i = 1 to max(1, CONFIG_GET(number/brother_objectives_amount) + (members.len > 2) - is_hijacker)) for(var/i = 1 to max(1, CONFIG_GET(number/brother_objectives_amount) + (members.len > 2) - is_hijacker))
@@ -113,7 +113,7 @@
else if(!locate(/datum/objective/escape) in objectives) else if(!locate(/datum/objective/escape) in objectives)
add_objective(new/datum/objective/escape) add_objective(new/datum/objective/escape)
/datum/objective_team/brother_team/proc/forge_single_objective() /datum/team/brother_team/proc/forge_single_objective()
if(prob(50)) if(prob(50))
if(LAZYLEN(active_ais()) && prob(100/GLOB.joined_player_list.len)) if(LAZYLEN(active_ais()) && prob(100/GLOB.joined_player_list.len))
add_objective(new/datum/objective/destroy, TRUE) add_objective(new/datum/objective/destroy, TRUE)

View File

@@ -4,7 +4,7 @@
roundend_category = "clock cultists" roundend_category = "clock cultists"
job_rank = ROLE_SERVANT_OF_RATVAR job_rank = ROLE_SERVANT_OF_RATVAR
var/datum/action/innate/hierophant/hierophant_network = new() var/datum/action/innate/hierophant/hierophant_network = new()
var/datum/objective_team/clockcult/clock_team var/datum/team/clockcult/clock_team
var/make_team = TRUE //This should be only false for tutorial scarabs var/make_team = TRUE //This should be only false for tutorial scarabs
/datum/antagonist/clockcult/silent /datum/antagonist/clockcult/silent
@@ -17,14 +17,14 @@
/datum/antagonist/clockcult/get_team() /datum/antagonist/clockcult/get_team()
return clock_team return clock_team
/datum/antagonist/clockcult/create_team(datum/objective_team/clockcult/new_team) /datum/antagonist/clockcult/create_team(datum/team/clockcult/new_team)
if(!new_team && make_team) if(!new_team && make_team)
//TODO blah blah same as the others, allow multiple //TODO blah blah same as the others, allow multiple
for(var/datum/antagonist/clockcult/H in GLOB.antagonists) for(var/datum/antagonist/clockcult/H in GLOB.antagonists)
if(H.clock_team) if(H.clock_team)
clock_team = H.clock_team clock_team = H.clock_team
return return
clock_team = new /datum/objective_team/clockcult clock_team = new /datum/team/clockcult
return return
if(make_team && !istype(new_team)) if(make_team && !istype(new_team))
stack_trace("Wrong team type passed to [type] initialization.") stack_trace("Wrong team type passed to [type] initialization.")
@@ -185,17 +185,17 @@
. = ..() . = ..()
/datum/objective_team/clockcult /datum/team/clockcult
name = "Clockcult" name = "Clockcult"
var/list/objective var/list/objective
var/datum/mind/eminence var/datum/mind/eminence
/datum/objective_team/clockcult/proc/check_clockwork_victory() /datum/team/clockcult/proc/check_clockwork_victory()
if(GLOB.clockwork_gateway_activated) if(GLOB.clockwork_gateway_activated)
return TRUE return TRUE
return FALSE return FALSE
/datum/objective_team/clockcult/roundend_report() /datum/team/clockcult/roundend_report()
var/list/parts = list() var/list/parts = list()
if(check_clockwork_victory()) if(check_clockwork_victory())

View File

@@ -9,19 +9,19 @@
var/ignore_implant = FALSE var/ignore_implant = FALSE
var/give_equipment = FALSE var/give_equipment = FALSE
var/datum/objective_team/cult/cult_team var/datum/team/cult/cult_team
/datum/antagonist/cult/get_team() /datum/antagonist/cult/get_team()
return cult_team return cult_team
/datum/antagonist/cult/create_team(datum/objective_team/cult/new_team) /datum/antagonist/cult/create_team(datum/team/cult/new_team)
if(!new_team) if(!new_team)
//todo remove this and allow admin buttons to create more than one cult //todo remove this and allow admin buttons to create more than one cult
for(var/datum/antagonist/cult/H in GLOB.antagonists) for(var/datum/antagonist/cult/H in GLOB.antagonists)
if(H.cult_team) if(H.cult_team)
cult_team = H.cult_team cult_team = H.cult_team
return return
cult_team = new /datum/objective_team/cult cult_team = new /datum/team/cult
cult_team.setup_objectives() cult_team.setup_objectives()
return return
if(!istype(new_team)) if(!istype(new_team))
@@ -183,7 +183,7 @@
current.update_action_buttons_icon() current.update_action_buttons_icon()
current.remove_status_effect(/datum/status_effect/cult_master) current.remove_status_effect(/datum/status_effect/cult_master)
/datum/objective_team/cult /datum/team/cult
name = "Cult" name = "Cult"
var/blood_target var/blood_target
@@ -195,7 +195,7 @@
var/reckoning_complete = FALSE var/reckoning_complete = FALSE
/datum/objective_team/cult/proc/setup_objectives() /datum/team/cult/proc/setup_objectives()
//SAC OBJECTIVE , todo: move this to objective internals //SAC OBJECTIVE , todo: move this to objective internals
var/list/target_candidates = list() var/list/target_candidates = list()
var/datum/objective/sacrifice/sac_objective = new var/datum/objective/sacrifice/sac_objective = new
@@ -268,13 +268,13 @@
/datum/objective/eldergod/check_completion() /datum/objective/eldergod/check_completion()
return summoned || completed return summoned || completed
/datum/objective_team/cult/proc/check_cult_victory() /datum/team/cult/proc/check_cult_victory()
for(var/datum/objective/O in objectives) for(var/datum/objective/O in objectives)
if(!O.check_completion()) if(!O.check_completion())
return FALSE return FALSE
return TRUE return TRUE
/datum/objective_team/cult/roundend_report() /datum/team/cult/roundend_report()
var/list/parts = list() var/list/parts = list()
if(check_cult_victory()) if(check_cult_victory())

View File

@@ -7,7 +7,7 @@
name = "Monkey" name = "Monkey"
job_rank = ROLE_MONKEY job_rank = ROLE_MONKEY
roundend_category = "monkeys" roundend_category = "monkeys"
var/datum/objective_team/monkey/monkey_team var/datum/team/monkey/monkey_team
/datum/antagonist/monkey/on_gain() /datum/antagonist/monkey/on_gain()
. = ..() . = ..()
@@ -38,13 +38,13 @@
if(D) if(D)
D.cure() D.cure()
/datum/antagonist/monkey/create_team(datum/objective_team/monkey/new_team) /datum/antagonist/monkey/create_team(datum/team/monkey/new_team)
if(!new_team) if(!new_team)
for(var/datum/antagonist/monkey/N in get_antagonists(/datum/antagonist/monkey, TRUE)) for(var/datum/antagonist/monkey/N in get_antagonists(/datum/antagonist/monkey, TRUE))
if(N.monkey_team) if(N.monkey_team)
monkey_team = N.monkey_team monkey_team = N.monkey_team
return return
monkey_team = new /datum/objective_team/monkey monkey_team = new /datum/team/monkey
monkey_team.update_objectives() monkey_team.update_objectives()
return return
if(!istype(new_team)) if(!istype(new_team))
@@ -99,45 +99,45 @@
return TRUE return TRUE
return FALSE return FALSE
/datum/objective_team/monkey /datum/team/monkey
name = "Monkeys" name = "Monkeys"
/datum/objective_team/monkey/proc/update_objectives() /datum/team/monkey/proc/update_objectives()
objectives = list() objectives = list()
var/datum/objective/monkey/O = new /datum/objective/monkey() var/datum/objective/monkey/O = new /datum/objective/monkey()
O.team = src O.team = src
objectives += O objectives += O
return return
/datum/objective_team/monkey/proc/infected_monkeys_alive() /datum/team/monkey/proc/infected_monkeys_alive()
var/datum/disease/D = new /datum/disease/transformation/jungle_fever() var/datum/disease/D = new /datum/disease/transformation/jungle_fever()
for(var/mob/living/carbon/monkey/M in GLOB.alive_mob_list) for(var/mob/living/carbon/monkey/M in GLOB.alive_mob_list)
if(M.HasDisease(D)) if(M.HasDisease(D))
return TRUE return TRUE
return FALSE return FALSE
/datum/objective_team/monkey/proc/infected_monkeys_escaped() /datum/team/monkey/proc/infected_monkeys_escaped()
var/datum/disease/D = new /datum/disease/transformation/jungle_fever() var/datum/disease/D = new /datum/disease/transformation/jungle_fever()
for(var/mob/living/carbon/monkey/M in GLOB.alive_mob_list) for(var/mob/living/carbon/monkey/M in GLOB.alive_mob_list)
if(M.HasDisease(D) && (M.onCentCom() || M.onSyndieBase())) if(M.HasDisease(D) && (M.onCentCom() || M.onSyndieBase()))
return TRUE return TRUE
return FALSE return FALSE
/datum/objective_team/monkey/proc/infected_humans_escaped() /datum/team/monkey/proc/infected_humans_escaped()
var/datum/disease/D = new /datum/disease/transformation/jungle_fever() var/datum/disease/D = new /datum/disease/transformation/jungle_fever()
for(var/mob/living/carbon/human/M in GLOB.alive_mob_list) for(var/mob/living/carbon/human/M in GLOB.alive_mob_list)
if(M.HasDisease(D) && (M.onCentCom() || M.onSyndieBase())) if(M.HasDisease(D) && (M.onCentCom() || M.onSyndieBase()))
return TRUE return TRUE
return FALSE return FALSE
/datum/objective_team/monkey/proc/infected_humans_alive() /datum/team/monkey/proc/infected_humans_alive()
var/datum/disease/D = new /datum/disease/transformation/jungle_fever() var/datum/disease/D = new /datum/disease/transformation/jungle_fever()
for(var/mob/living/carbon/human/M in GLOB.alive_mob_list) for(var/mob/living/carbon/human/M in GLOB.alive_mob_list)
if(M.HasDisease(D)) if(M.HasDisease(D))
return TRUE return TRUE
return FALSE return FALSE
/datum/objective_team/monkey/proc/get_result() /datum/team/monkey/proc/get_result()
if(infected_monkeys_escaped()) if(infected_monkeys_escaped())
return MONKEYS_ESCAPED return MONKEYS_ESCAPED
if(infected_monkeys_alive()) if(infected_monkeys_alive())
@@ -146,7 +146,7 @@
return DISEASE_LIVED return DISEASE_LIVED
return MONKEYS_DIED return MONKEYS_DIED
/datum/objective_team/monkey/roundend_report() /datum/team/monkey/roundend_report()
var/list/parts = list() var/list/parts = list()
switch(get_result()) switch(get_result())
if(MONKEYS_ESCAPED) if(MONKEYS_ESCAPED)

View File

@@ -12,7 +12,7 @@
name = "Nuclear Operative" name = "Nuclear Operative"
roundend_category = "syndicate operatives" //just in case roundend_category = "syndicate operatives" //just in case
job_rank = ROLE_OPERATIVE job_rank = ROLE_OPERATIVE
var/datum/objective_team/nuclear/nuke_team var/datum/team/nuclear/nuke_team
var/always_new_team = FALSE //If not assigned a team by default ops will try to join existing ones, set this to TRUE to always create new team. var/always_new_team = FALSE //If not assigned a team by default ops will try to join existing ones, set this to TRUE to always create new team.
var/send_to_spawnpoint = TRUE //Should the user be moved to default spawnpoint. var/send_to_spawnpoint = TRUE //Should the user be moved to default spawnpoint.
var/nukeop_outfit = /datum/outfit/syndicate var/nukeop_outfit = /datum/outfit/syndicate
@@ -103,14 +103,14 @@
/datum/antagonist/nukeop/leader/move_to_spawnpoint() /datum/antagonist/nukeop/leader/move_to_spawnpoint()
owner.current.forceMove(pick(GLOB.nukeop_leader_start)) owner.current.forceMove(pick(GLOB.nukeop_leader_start))
/datum/antagonist/nukeop/create_team(datum/objective_team/nuclear/new_team) /datum/antagonist/nukeop/create_team(datum/team/nuclear/new_team)
if(!new_team) if(!new_team)
if(!always_new_team) if(!always_new_team)
for(var/datum/antagonist/nukeop/N in GLOB.antagonists) for(var/datum/antagonist/nukeop/N in GLOB.antagonists)
if(N.nuke_team) if(N.nuke_team)
nuke_team = N.nuke_team nuke_team = N.nuke_team
return return
nuke_team = new /datum/objective_team/nuclear nuke_team = new /datum/team/nuclear
nuke_team.update_objectives() nuke_team.update_objectives()
assign_nuke() //This is bit ugly assign_nuke() //This is bit ugly
return return
@@ -158,7 +158,7 @@
return return
nuke_team.rename_team(ask_name()) nuke_team.rename_team(ask_name())
/datum/objective_team/nuclear/proc/rename_team(new_name) /datum/team/nuclear/proc/rename_team(new_name)
syndicate_name = new_name syndicate_name = new_name
name = "[syndicate_name] Team" name = "[syndicate_name] Team"
for(var/I in members) for(var/I in members)
@@ -201,40 +201,40 @@
stack_trace("Station self destruct ot found during lone op team creation.") stack_trace("Station self destruct ot found during lone op team creation.")
nuke_team.memorized_code = null nuke_team.memorized_code = null
/datum/objective_team/nuclear /datum/team/nuclear
var/syndicate_name var/syndicate_name
var/obj/machinery/nuclearbomb/tracked_nuke var/obj/machinery/nuclearbomb/tracked_nuke
var/core_objective = /datum/objective/nuclear var/core_objective = /datum/objective/nuclear
var/memorized_code var/memorized_code
/datum/objective_team/nuclear/New() /datum/team/nuclear/New()
..() ..()
syndicate_name = syndicate_name() syndicate_name = syndicate_name()
/datum/objective_team/nuclear/proc/update_objectives() /datum/team/nuclear/proc/update_objectives()
if(core_objective) if(core_objective)
var/datum/objective/O = new core_objective var/datum/objective/O = new core_objective
O.team = src O.team = src
objectives += O objectives += O
/datum/objective_team/nuclear/proc/disk_rescued() /datum/team/nuclear/proc/disk_rescued()
for(var/obj/item/disk/nuclear/D in GLOB.poi_list) for(var/obj/item/disk/nuclear/D in GLOB.poi_list)
if(!D.onCentCom()) if(!D.onCentCom())
return FALSE return FALSE
return TRUE return TRUE
/datum/objective_team/nuclear/proc/operatives_dead() /datum/team/nuclear/proc/operatives_dead()
for(var/I in members) for(var/I in members)
var/datum/mind/operative_mind = I var/datum/mind/operative_mind = I
if(ishuman(operative_mind.current) && (operative_mind.current.stat != DEAD)) if(ishuman(operative_mind.current) && (operative_mind.current.stat != DEAD))
return FALSE return FALSE
return TRUE return TRUE
/datum/objective_team/nuclear/proc/syndies_escaped() /datum/team/nuclear/proc/syndies_escaped()
var/obj/docking_port/mobile/S = SSshuttle.getShuttle("syndicate") var/obj/docking_port/mobile/S = SSshuttle.getShuttle("syndicate")
return (S && (S.z == ZLEVEL_CENTCOM || S.z == ZLEVEL_TRANSIT)) return (S && (S.z == ZLEVEL_CENTCOM || S.z == ZLEVEL_TRANSIT))
/datum/objective_team/nuclear/proc/get_result() /datum/team/nuclear/proc/get_result()
var/evacuation = SSshuttle.emergency.mode == SHUTTLE_ENDGAME var/evacuation = SSshuttle.emergency.mode == SHUTTLE_ENDGAME
var/disk_rescued = disk_rescued() var/disk_rescued = disk_rescued()
var/syndies_didnt_escape = !syndies_escaped() var/syndies_didnt_escape = !syndies_escaped()
@@ -262,7 +262,7 @@
else else
return //Undefined result return //Undefined result
/datum/objective_team/nuclear/roundend_report() /datum/team/nuclear/roundend_report()
var/list/parts = list() var/list/parts = list()
parts += "<span class='header'>[syndicate_name] Operatives:</span>" parts += "<span class='header'>[syndicate_name] Operatives:</span>"

View File

@@ -2,7 +2,7 @@
name = "Space Pirate" name = "Space Pirate"
job_rank = ROLE_TRAITOR job_rank = ROLE_TRAITOR
roundend_category = "space pirates" roundend_category = "space pirates"
var/datum/objective_team/pirate/crew var/datum/team/pirate/crew
/datum/antagonist/pirate/greet() /datum/antagonist/pirate/greet()
to_chat(owner, "<span class='boldannounce'>You are a Space Pirate!</span>") to_chat(owner, "<span class='boldannounce'>You are a Space Pirate!</span>")
@@ -12,14 +12,14 @@
/datum/antagonist/pirate/get_team() /datum/antagonist/pirate/get_team()
return crew return crew
/datum/antagonist/pirate/create_team(datum/objective_team/pirate/new_team) /datum/antagonist/pirate/create_team(datum/team/pirate/new_team)
if(!new_team) if(!new_team)
for(var/datum/antagonist/pirate/P in GLOB.antagonists) for(var/datum/antagonist/pirate/P in GLOB.antagonists)
if(P.crew) if(P.crew)
crew = P.crew crew = P.crew
return return
if(!new_team) if(!new_team)
crew = new /datum/objective_team/pirate crew = new /datum/team/pirate
crew.forge_objectives() crew.forge_objectives()
return return
if(!istype(new_team)) if(!istype(new_team))
@@ -36,10 +36,10 @@
owner.objectives -= crew.objectives owner.objectives -= crew.objectives
. = ..() . = ..()
/datum/objective_team/pirate /datum/team/pirate
name = "Pirate crew" name = "Pirate crew"
/datum/objective_team/pirate/proc/forge_objectives() /datum/team/pirate/proc/forge_objectives()
var/datum/objective/loot/getbooty = new() var/datum/objective/loot/getbooty = new()
getbooty.team = src getbooty.team = src
getbooty.storage_area = locate(/area/shuttle/pirate/vault) in GLOB.sortedAreas getbooty.storage_area = locate(/area/shuttle/pirate/vault) in GLOB.sortedAreas
@@ -105,7 +105,7 @@ GLOBAL_LIST_INIT(pirate_loot_cache, typecacheof(list(
/datum/objective/loot/check_completion() /datum/objective/loot/check_completion()
return ..() || get_loot_value() >= target_value return ..() || get_loot_value() >= target_value
/datum/objective_team/pirate/roundend_report() /datum/team/pirate/roundend_report()
var/list/parts = list() var/list/parts = list()
parts += "<span class='header'>Space Pirates were:</span>" parts += "<span class='header'>Space Pirates were:</span>"

View File

@@ -6,7 +6,7 @@
roundend_category = "revolutionaries" // if by some miracle revolutionaries without revolution happen roundend_category = "revolutionaries" // if by some miracle revolutionaries without revolution happen
job_rank = ROLE_REV job_rank = ROLE_REV
var/hud_type = "rev" var/hud_type = "rev"
var/datum/objective_team/revolution/rev_team var/datum/team/revolution/rev_team
/datum/antagonist/rev/can_be_owned(datum/mind/new_owner) /datum/antagonist/rev/can_be_owned(datum/mind/new_owner)
. = ..() . = ..()
@@ -43,14 +43,14 @@
to_chat(owner, "<span class='userdanger'>You are now a revolutionary! Help your cause. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons. Help them kill the heads to win the revolution!</span>") to_chat(owner, "<span class='userdanger'>You are now a revolutionary! Help your cause. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons. Help them kill the heads to win the revolution!</span>")
owner.announce_objectives() owner.announce_objectives()
/datum/antagonist/rev/create_team(datum/objective_team/revolution/new_team) /datum/antagonist/rev/create_team(datum/team/revolution/new_team)
if(!new_team) if(!new_team)
//For now only one revolution at a time //For now only one revolution at a time
for(var/datum/antagonist/rev/head/H in GLOB.antagonists) for(var/datum/antagonist/rev/head/H in GLOB.antagonists)
if(H.rev_team) if(H.rev_team)
rev_team = H.rev_team rev_team = H.rev_team
return return
rev_team = new /datum/objective_team/revolution rev_team = new /datum/team/revolution
rev_team.update_objectives() rev_team.update_objectives()
rev_team.update_heads() rev_team.update_heads()
return return
@@ -183,11 +183,11 @@
S.Insert(H, special = FALSE, drop_if_replaced = FALSE) S.Insert(H, special = FALSE, drop_if_replaced = FALSE)
to_chat(H, "Your eyes have been implanted with a cybernetic security HUD which will help you keep track of who is mindshield-implanted, and therefore unable to be recruited.") to_chat(H, "Your eyes have been implanted with a cybernetic security HUD which will help you keep track of who is mindshield-implanted, and therefore unable to be recruited.")
/datum/objective_team/revolution /datum/team/revolution
name = "Revolution" name = "Revolution"
var/max_headrevs = 3 var/max_headrevs = 3
/datum/objective_team/revolution/proc/update_objectives(initial = FALSE) /datum/team/revolution/proc/update_objectives(initial = FALSE)
var/untracked_heads = SSjob.get_all_heads() var/untracked_heads = SSjob.get_all_heads()
for(var/datum/objective/mutiny/O in objectives) for(var/datum/objective/mutiny/O in objectives)
untracked_heads -= O.target untracked_heads -= O.target
@@ -202,13 +202,13 @@
addtimer(CALLBACK(src,.proc/update_objectives),HEAD_UPDATE_PERIOD,TIMER_UNIQUE) addtimer(CALLBACK(src,.proc/update_objectives),HEAD_UPDATE_PERIOD,TIMER_UNIQUE)
/datum/objective_team/revolution/proc/head_revolutionaries() /datum/team/revolution/proc/head_revolutionaries()
. = list() . = list()
for(var/datum/mind/M in members) for(var/datum/mind/M in members)
if(M.has_antag_datum(/datum/antagonist/rev/head)) if(M.has_antag_datum(/datum/antagonist/rev/head))
. += M . += M
/datum/objective_team/revolution/proc/update_heads() /datum/team/revolution/proc/update_heads()
if(SSticker.HasRoundStarted()) if(SSticker.HasRoundStarted())
var/list/datum/mind/head_revolutionaries = head_revolutionaries() var/list/datum/mind/head_revolutionaries = head_revolutionaries()
var/list/datum/mind/heads = SSjob.get_all_heads() var/list/datum/mind/heads = SSjob.get_all_heads()
@@ -229,7 +229,7 @@
addtimer(CALLBACK(src,.proc/update_heads),HEAD_UPDATE_PERIOD,TIMER_UNIQUE) addtimer(CALLBACK(src,.proc/update_heads),HEAD_UPDATE_PERIOD,TIMER_UNIQUE)
/datum/objective_team/revolution/roundend_report() /datum/team/revolution/roundend_report()
if(!members.len) if(!members.len)
return return

View File

@@ -11,7 +11,7 @@
var/strip = TRUE //strip before equipping var/strip = TRUE //strip before equipping
var/allow_rename = TRUE var/allow_rename = TRUE
var/hud_version = "wizard" var/hud_version = "wizard"
var/datum/objective_team/wizard/wiz_team //Only created if wizard summons apprentices var/datum/team/wizard/wiz_team //Only created if wizard summons apprentices
var/move_to_lair = TRUE var/move_to_lair = TRUE
var/outfit_type = /datum/outfit/wizard var/outfit_type = /datum/outfit/wizard
var/wiz_age = WIZARD_AGE_MIN /* Wizards by nature cannot be too young. */ var/wiz_age = WIZARD_AGE_MIN /* Wizards by nature cannot be too young. */
@@ -33,7 +33,7 @@
/datum/antagonist/wizard/proc/unregister() /datum/antagonist/wizard/proc/unregister()
SSticker.mode.wizards -= src SSticker.mode.wizards -= src
/datum/antagonist/wizard/create_team(datum/objective_team/wizard/new_team) /datum/antagonist/wizard/create_team(datum/team/wizard/new_team)
if(!new_team) if(!new_team)
return return
if(!istype(new_team)) if(!istype(new_team))
@@ -43,7 +43,7 @@
/datum/antagonist/wizard/get_team() /datum/antagonist/wizard/get_team()
return wiz_team return wiz_team
/datum/objective_team/wizard /datum/team/wizard
name = "wizard team" name = "wizard team"
var/datum/antagonist/wizard/master_wizard var/datum/antagonist/wizard/master_wizard
@@ -318,7 +318,7 @@
return parts.Join("<br>") return parts.Join("<br>")
//Wizard with apprentices report //Wizard with apprentices report
/datum/objective_team/wizard/roundend_report() /datum/team/wizard/roundend_report()
var/list/parts = list() var/list/parts = list()
parts += "<span class='header'>Wizards/witches of [master_wizard.owner.name] team were:</span>" parts += "<span class='header'>Wizards/witches of [master_wizard.owner.name] team were:</span>"

View File

@@ -144,7 +144,7 @@
return return
LAZYADD(antag_datums, A) LAZYADD(antag_datums, A)
A.create_team(team) A.create_team(team)
var/datum/objective_team/antag_team = A.get_team() var/datum/team/antag_team = A.get_team()
if(antag_team) if(antag_team)
antag_team.add_member(src) antag_team.add_member(src)
A.on_gain() A.on_gain()

View File

@@ -1,11 +1,11 @@
//A barebones antagonist team. //A barebones antagonist team.
/datum/objective_team /datum/team
var/list/datum/mind/members = list() var/list/datum/mind/members = list()
var/name = "team" var/name = "team"
var/member_name = "member" var/member_name = "member"
var/list/objectives = list() //common objectives, these won't be added or removed automatically, subtypes handle this, this is here for bookkeeping purposes. var/list/objectives = list() //common objectives, these won't be added or removed automatically, subtypes handle this, this is here for bookkeeping purposes.
/datum/objective_team/New(starting_members) /datum/team/New(starting_members)
. = ..() . = ..()
if(starting_members) if(starting_members)
if(islist(starting_members)) if(islist(starting_members))
@@ -14,17 +14,17 @@
else else
add_member(starting_members) add_member(starting_members)
/datum/objective_team/proc/is_solo() /datum/team/proc/is_solo()
return members.len == 1 return members.len == 1
/datum/objective_team/proc/add_member(datum/mind/new_member) /datum/team/proc/add_member(datum/mind/new_member)
members |= new_member members |= new_member
/datum/objective_team/proc/remove_member(datum/mind/member) /datum/team/proc/remove_member(datum/mind/member)
members -= member members -= member
//Display members/victory/failure/objectives for the team //Display members/victory/failure/objectives for the team
/datum/objective_team/proc/roundend_report() /datum/team/proc/roundend_report()
var/list/report = list() var/list/report = list()
report += "<b>[name]:</b>" report += "<b>[name]:</b>"

View File

@@ -1,6 +1,6 @@
/datum/game_mode /datum/game_mode
var/list/datum/mind/brothers = list() var/list/datum/mind/brothers = list()
var/list/datum/objective_team/brother_team/brother_teams = list() var/list/datum/team/brother_team/brother_teams = list()
/datum/game_mode/traitor/bros /datum/game_mode/traitor/bros
name = "traitor+brothers" name = "traitor+brothers"
@@ -13,7 +13,7 @@
<span class='danger'>Blood Brothers</span>: Accomplish your objectives.\n\ <span class='danger'>Blood Brothers</span>: Accomplish your objectives.\n\
<span class='notice'>Crew</span>: Do not let the traitors or brothers succeed!" <span class='notice'>Crew</span>: Do not let the traitors or brothers succeed!"
var/list/datum/objective_team/brother_team/pre_brother_teams = list() var/list/datum/team/brother_team/pre_brother_teams = list()
var/const/team_amount = 2 //hard limit on brother teams if scaling is turned off var/const/team_amount = 2 //hard limit on brother teams if scaling is turned off
var/const/min_team_size = 2 var/const/min_team_size = 2
traitors_required = FALSE //Only teams are possible traitors_required = FALSE //Only teams are possible
@@ -36,7 +36,7 @@
for(var/j = 1 to num_teams) for(var/j = 1 to num_teams)
if(possible_brothers.len < min_team_size || antag_candidates.len <= required_enemies) if(possible_brothers.len < min_team_size || antag_candidates.len <= required_enemies)
break break
var/datum/objective_team/brother_team/team = new var/datum/team/brother_team/team = new
var/team_size = prob(10) ? min(3, possible_brothers.len) : 2 var/team_size = prob(10) ? min(3, possible_brothers.len) : 2
for(var/k = 1 to team_size) for(var/k = 1 to team_size)
var/datum/mind/bro = pick(possible_brothers) var/datum/mind/bro = pick(possible_brothers)
@@ -49,7 +49,7 @@
return ..() return ..()
/datum/game_mode/traitor/bros/post_setup() /datum/game_mode/traitor/bros/post_setup()
for(var/datum/objective_team/brother_team/team in pre_brother_teams) for(var/datum/team/brother_team/team in pre_brother_teams)
team.meeting_area = pick(meeting_areas) team.meeting_area = pick(meeting_areas)
meeting_areas -= team.meeting_area meeting_areas -= team.meeting_area
team.forge_brother_objectives() team.forge_brother_objectives()

View File

@@ -113,7 +113,7 @@ Credit where due:
var/roundstart_player_count var/roundstart_player_count
var/ark_time //In minutes, how long the Ark waits before activation; this is equal to 30 + (number of players / 5) (max 40 mins.) var/ark_time //In minutes, how long the Ark waits before activation; this is equal to 30 + (number of players / 5) (max 40 mins.)
var/datum/objective_team/clockcult/main_clockcult var/datum/team/clockcult/main_clockcult
/datum/game_mode/clockwork_cult/pre_setup() /datum/game_mode/clockwork_cult/pre_setup()
if(CONFIG_GET(flag/protect_roles_from_antagonist)) if(CONFIG_GET(flag/protect_roles_from_antagonist))

View File

@@ -6,13 +6,13 @@
/proc/iscultist(mob/living/M) /proc/iscultist(mob/living/M)
return istype(M) && M.mind && M.mind.has_antag_datum(ANTAG_DATUM_CULT) return istype(M) && M.mind && M.mind.has_antag_datum(ANTAG_DATUM_CULT)
/datum/objective_team/cult/proc/is_sacrifice_target(datum/mind/mind) /datum/team/cult/proc/is_sacrifice_target(datum/mind/mind)
for(var/datum/objective/sacrifice/sac_objective in objectives) for(var/datum/objective/sacrifice/sac_objective in objectives)
if(mind == sac_objective.target) if(mind == sac_objective.target)
return TRUE return TRUE
return FALSE return FALSE
/proc/is_convertable_to_cult(mob/living/M,datum/objective_team/cult/specific_cult) /proc/is_convertable_to_cult(mob/living/M,datum/team/cult/specific_cult)
if(!istype(M)) if(!istype(M))
return FALSE return FALSE
if(M.mind) if(M.mind)
@@ -54,7 +54,7 @@
var/list/cultists_to_cult = list() //the cultists we'll convert var/list/cultists_to_cult = list() //the cultists we'll convert
var/datum/objective_team/cult/main_cult var/datum/team/cult/main_cult
/datum/game_mode/cult/pre_setup() /datum/game_mode/cult/pre_setup()

View File

@@ -97,7 +97,7 @@
var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE) var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
pollCultists(owner,C.cult_team) pollCultists(owner,C.cult_team)
/proc/pollCultists(var/mob/living/Nominee,datum/objective_team/cult/team) //Cult Master Poll /proc/pollCultists(var/mob/living/Nominee,datum/team/cult/team) //Cult Master Poll
if(world.time < CULT_POLL_WAIT) if(world.time < CULT_POLL_WAIT)
to_chat(Nominee, "It would be premature to select a leader while everyone is still settling in, try again in [DisplayTimeText(CULT_POLL_WAIT-world.time)].") to_chat(Nominee, "It would be premature to select a leader while everyone is still settling in, try again in [DisplayTimeText(CULT_POLL_WAIT-world.time)].")
return return
@@ -297,7 +297,7 @@
return TRUE return TRUE
return FALSE return FALSE
/proc/reset_blood_target(datum/objective_team/cult/team) /proc/reset_blood_target(datum/team/cult/team)
for(var/datum/mind/B in team.members) for(var/datum/mind/B in team.members)
if(B.current && B.current.stat != DEAD && B.current.client) if(B.current && B.current.stat != DEAD && B.current.client)
if(team.blood_target) if(team.blood_target)

View File

@@ -10,7 +10,7 @@
required_players = 15 required_players = 15
maximum_players = 50 maximum_players = 50
var/max_teams = 4 var/max_teams = 4
var/list/datum/objective_team/abductor_team/abductor_teams = list() var/list/datum/team/abductor_team/abductor_teams = list()
var/finished = FALSE var/finished = FALSE
var/static/team_count = 0 var/static/team_count = 0
@@ -37,7 +37,7 @@
if(team_number > max_teams) if(team_number > max_teams)
return //or should it try to stuff them in anway ? return //or should it try to stuff them in anway ?
var/datum/objective_team/abductor_team/team = new var/datum/team/abductor_team/team = new
team.team_number = team_number team.team_number = team_number
team.name = "Mothership [pick(GLOB.possible_changeling_IDs)]" //TODO Ensure unique and actual alieny names team.name = "Mothership [pick(GLOB.possible_changeling_IDs)]" //TODO Ensure unique and actual alieny names
team.add_objective(new/datum/objective/experiment) team.add_objective(new/datum/objective/experiment)
@@ -65,12 +65,12 @@
return team return team
/datum/game_mode/abduction/post_setup() /datum/game_mode/abduction/post_setup()
for(var/datum/objective_team/abductor_team/team in abductor_teams) for(var/datum/team/abductor_team/team in abductor_teams)
post_setup_team(team) post_setup_team(team)
return ..() return ..()
//Used for create antag buttons //Used for create antag buttons
/datum/game_mode/abduction/proc/post_setup_team(datum/objective_team/abductor_team/team) /datum/game_mode/abduction/proc/post_setup_team(datum/team/abductor_team/team)
for(var/datum/mind/M in team.members) for(var/datum/mind/M in team.members)
if(M.assigned_role == "Abductor Scientist") if(M.assigned_role == "Abductor Scientist")
M.add_antag_datum(ANTAG_DATUM_ABDUCTOR_SCIENTIST, team) M.add_antag_datum(ANTAG_DATUM_ABDUCTOR_SCIENTIST, team)
@@ -79,7 +79,7 @@
/datum/game_mode/abduction/check_finished() /datum/game_mode/abduction/check_finished()
if(!finished) if(!finished)
for(var/datum/objective_team/abductor_team/team in abductor_teams) for(var/datum/team/abductor_team/team in abductor_teams)
for(var/datum/objective/O in team.objectives) for(var/datum/objective/O in team.objectives)
if(O.check_completion()) if(O.check_completion())
SSshuttle.emergency.request(null, set_coefficient = 0.5) SSshuttle.emergency.request(null, set_coefficient = 0.5)
@@ -103,9 +103,9 @@
/datum/objective/experiment/check_completion() /datum/objective/experiment/check_completion()
for(var/obj/machinery/abductor/experiment/E in GLOB.machines) for(var/obj/machinery/abductor/experiment/E in GLOB.machines)
if(!istype(team, /datum/objective_team/abductor_team)) if(!istype(team, /datum/team/abductor_team))
return FALSE return FALSE
var/datum/objective_team/abductor_team/T = team var/datum/team/abductor_team/T = team
if(E.team_number == T.team_number) if(E.team_number == T.team_number)
return E.points >= target_amount return E.points >= target_amount
return FALSE return FALSE

View File

@@ -22,7 +22,7 @@
var/players_per_carrier = 30 var/players_per_carrier = 30
var/datum/objective_team/monkey/monkey_team var/datum/team/monkey/monkey_team

View File

@@ -17,7 +17,7 @@
var/nukes_left = 1 // Call 3714-PRAY right now and order more nukes! Limited offer! var/nukes_left = 1 // Call 3714-PRAY right now and order more nukes! Limited offer!
var/list/pre_nukeops = list() var/list/pre_nukeops = list()
var/datum/objective_team/nuclear/nuke_team var/datum/team/nuclear/nuke_team
/datum/game_mode/nuclear/pre_setup() /datum/game_mode/nuclear/pre_setup()
var/n_agents = min(round(num_players() / 10), antag_candidates.len, agents_possible) var/n_agents = min(round(num_players() / 10), antag_candidates.len, agents_possible)

View File

@@ -1,6 +1,6 @@
/datum/objective /datum/objective
var/datum/mind/owner //The primary owner of the objective. !!SOMEWHAT DEPRECATED!! Prefer using 'team' for new code. var/datum/mind/owner //The primary owner of the objective. !!SOMEWHAT DEPRECATED!! Prefer using 'team' for new code.
var/datum/objective_team/team //An alternative to 'owner': a team. Use this when writing new code. var/datum/team/team //An alternative to 'owner': a team. Use this when writing new code.
var/explanation_text = "Nothing" //What that person is supposed to do. var/explanation_text = "Nothing" //What that person is supposed to do.
var/team_explanation_text //For when there are multiple owners. var/team_explanation_text //For when there are multiple owners.
var/datum/mind/target = null //If they are focused on a particular person. var/datum/mind/target = null //If they are focused on a particular person.

View File

@@ -26,7 +26,7 @@
var/finished = 0 var/finished = 0
var/check_counter = 0 var/check_counter = 0
var/max_headrevs = 3 var/max_headrevs = 3
var/datum/objective_team/revolution/revolution var/datum/team/revolution/revolution
var/list/datum/mind/headrev_candidates = list() var/list/datum/mind/headrev_candidates = list()
/////////////////////////// ///////////////////////////

View File

@@ -524,7 +524,7 @@
if(SSticker.mode.brother_teams.len > 0) if(SSticker.mode.brother_teams.len > 0)
dat += "<br><table cellspacing=5><tr><td><B>Brothers</B></td><td></td><td></td></tr>" dat += "<br><table cellspacing=5><tr><td><B>Brothers</B></td><td></td><td></td></tr>"
for(var/datum/objective_team/brother_team/team in SSticker.mode.brother_teams) for(var/datum/team/brother_team/team in SSticker.mode.brother_teams)
for(var/datum/mind/brother in team.members) for(var/datum/mind/brother in team.members)
var/mob/M = brother.current var/mob/M = brother.current
if(M) if(M)

View File

@@ -240,7 +240,7 @@
//Let's find the spawn locations //Let's find the spawn locations
var/leader_chosen = FALSE var/leader_chosen = FALSE
var/datum/objective_team/nuclear/nuke_team var/datum/team/nuclear/nuke_team
for(var/mob/c in chosen) for(var/mob/c in chosen)
var/mob/living/carbon/human/new_character=makeBody(c) var/mob/living/carbon/human/new_character=makeBody(c)
if(!leader_chosen) if(!leader_chosen)

View File

@@ -50,7 +50,7 @@
var/list/all_cults = list() var/list/all_cults = list()
for(var/datum/antagonist/cult/C in GLOB.antagonists) for(var/datum/antagonist/cult/C in GLOB.antagonists)
all_cults |= C.cult_team all_cults |= C.cult_team
for(var/datum/objective_team/cult/T in all_cults) for(var/datum/team/cult/T in all_cults)
deltimer(T.blood_target_reset_timer) deltimer(T.blood_target_reset_timer)
T.blood_target = src T.blood_target = src
var/datum/objective/eldergod/summon_objective = locate() in T.objectives var/datum/objective/eldergod/summon_objective = locate() in T.objectives

View File

@@ -448,11 +448,11 @@
#include "code\game\area\areas\ruins\space.dm" #include "code\game\area\areas\ruins\space.dm"
#include "code\game\gamemodes\antag_hud.dm" #include "code\game\gamemodes\antag_hud.dm"
#include "code\game\gamemodes\antag_spawner.dm" #include "code\game\gamemodes\antag_spawner.dm"
#include "code\game\gamemodes\antag_team.dm"
#include "code\game\gamemodes\events.dm" #include "code\game\gamemodes\events.dm"
#include "code\game\gamemodes\game_mode.dm" #include "code\game\gamemodes\game_mode.dm"
#include "code\game\gamemodes\objective.dm" #include "code\game\gamemodes\objective.dm"
#include "code\game\gamemodes\objective_items.dm" #include "code\game\gamemodes\objective_items.dm"
#include "code\game\gamemodes\objective_team.dm"
#include "code\game\gamemodes\blob\blob_report.dm" #include "code\game\gamemodes\blob\blob_report.dm"
#include "code\game\gamemodes\blob\overmind.dm" #include "code\game\gamemodes\blob\overmind.dm"
#include "code\game\gamemodes\blob\powers.dm" #include "code\game\gamemodes\blob\powers.dm"