diff --git a/code/__HELPERS/roundend.dm b/code/__HELPERS/roundend.dm
index 07b7054aba9..66303bf884e 100644
--- a/code/__HELPERS/roundend.dm
+++ b/code/__HELPERS/roundend.dm
@@ -47,7 +47,7 @@
antag_info["antagonist_name"] = A.name //For auto and custom roles
antag_info["objectives"] = list()
antag_info["team"] = list()
- var/datum/objective_team/T = A.get_team()
+ var/datum/team/T = A.get_team()
if(T)
antag_info["team"]["type"] = T.type
antag_info["team"]["name"] = T.name
@@ -331,7 +331,7 @@
all_teams |= A.get_team()
all_antagonists += A
- for(var/datum/objective_team/T in all_teams)
+ for(var/datum/team/T in all_teams)
result += T.roundend_report()
for(var/datum/antagonist/X in all_antagonists)
if(X.get_team() == T)
diff --git a/code/datums/antagonists/abductor.dm b/code/datums/antagonists/abductor.dm
index 3b8935d9fa7..a98acf054e8 100644
--- a/code/datums/antagonists/abductor.dm
+++ b/code/datums/antagonists/abductor.dm
@@ -2,7 +2,7 @@
name = "Abductor"
roundend_category = "abductors"
job_rank = ROLE_ABDUCTOR
- var/datum/objective_team/abductor_team/team
+ var/datum/team/abductor_team/team
var/sub_role
var/outfit
var/landmark_type
@@ -20,7 +20,7 @@
landmark_type = /obj/effect/landmark/abductor/scientist
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)
return
if(!istype(new_team))
@@ -73,20 +73,20 @@
A.scientist = TRUE
-/datum/objective_team/abductor_team
- member_name = "abductor"
+/datum/team/abductor_team
+ member_name = "abductor"
var/team_number
var/list/datum/mind/abductees = list()
-/datum/objective_team/abductor_team/is_solo()
+/datum/team/abductor_team/is_solo()
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.update_explanation_text()
objectives += O
-/datum/objective_team/abductor_team/roundend_report()
+/datum/team/abductor_team/roundend_report()
var/list/result = list()
var/won = TRUE
@@ -127,7 +127,7 @@
var/datum/objective/abductee/O = new objtype()
objectives += O
owner.objectives += objectives
-
+
/datum/antagonist/abductee/apply_innate_effects(mob/living/mob_override)
SSticker.mode.update_abductor_icons_added(mob_override ? mob_override.mind : owner)
diff --git a/code/datums/antagonists/antag_datum.dm b/code/datums/antagonists/antag_datum.dm
index 6b5a573eff6..9b5dbb6d758 100644
--- a/code/datums/antagonists/antag_datum.dm
+++ b/code/datums/antagonists/antag_datum.dm
@@ -49,7 +49,7 @@ GLOBAL_LIST_EMPTY(antagonists)
return
//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
//Proc called when the datum is given to a mind.
@@ -84,7 +84,7 @@ GLOBAL_LIST_EMPTY(antagonists)
LAZYREMOVE(owner.antag_datums, src)
if(!silent && owner.current)
farewell()
- var/datum/objective_team/team = get_team()
+ var/datum/team/team = get_team()
if(team)
team.remove_member(owner)
qdel(src)
@@ -155,6 +155,6 @@ GLOBAL_LIST_EMPTY(antagonists)
else
already_registered_objectives |= A.objectives
objectives = owner.objectives - already_registered_objectives
-
+
//This one is created by admin tools for custom objectives
/datum/antagonist/custom
\ No newline at end of file
diff --git a/code/datums/antagonists/brother.dm b/code/datums/antagonists/brother.dm
index dd3bdef9d2b..b06c75e4fa3 100644
--- a/code/datums/antagonists/brother.dm
+++ b/code/datums/antagonists/brother.dm
@@ -2,12 +2,12 @@
name = "Brother"
job_rank = ROLE_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)
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)
return
if(!istype(new_team))
@@ -57,15 +57,15 @@
SSticker.mode.update_brother_icons_added(owner)
-/datum/objective_team/brother_team
+/datum/team/brother_team
name = "brotherhood"
member_name = "blood brother"
var/meeting_area
-/datum/objective_team/brother_team/is_solo()
+/datum/team/brother_team/is_solo()
return FALSE
-/datum/objective_team/brother_team/proc/update_name()
+/datum/team/brother_team/proc/update_name()
var/list/last_names = list()
for(var/datum/mind/M in members)
var/list/split_name = splittext(M.name," ")
@@ -73,7 +73,7 @@
name = last_names.Join(" & ")
-/datum/objective_team/brother_team/roundend_report()
+/datum/team/brother_team/roundend_report()
var/list/parts = list()
parts += ""
@@ -95,14 +95,14 @@
return "
[parts.Join("
")]
"
-/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
if(needs_target)
O.find_target()
O.update_explanation_text()
objectives += O
-/datum/objective_team/brother_team/proc/forge_brother_objectives()
+/datum/team/brother_team/proc/forge_brother_objectives()
objectives = list()
var/is_hijacker = prob(10)
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)
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(LAZYLEN(active_ais()) && prob(100/GLOB.joined_player_list.len))
add_objective(new/datum/objective/destroy, TRUE)
diff --git a/code/datums/antagonists/clockcult.dm b/code/datums/antagonists/clockcult.dm
index f760516c409..48f9b534255 100644
--- a/code/datums/antagonists/clockcult.dm
+++ b/code/datums/antagonists/clockcult.dm
@@ -4,7 +4,7 @@
roundend_category = "clock cultists"
job_rank = ROLE_SERVANT_OF_RATVAR
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
/datum/antagonist/clockcult/silent
@@ -17,14 +17,14 @@
/datum/antagonist/clockcult/get_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)
//TODO blah blah same as the others, allow multiple
for(var/datum/antagonist/clockcult/H in GLOB.antagonists)
if(H.clock_team)
clock_team = H.clock_team
return
- clock_team = new /datum/objective_team/clockcult
+ clock_team = new /datum/team/clockcult
return
if(make_team && !istype(new_team))
stack_trace("Wrong team type passed to [type] initialization.")
@@ -185,19 +185,19 @@
. = ..()
-/datum/objective_team/clockcult
+/datum/team/clockcult
name = "Clockcult"
var/list/objective
var/datum/mind/eminence
-/datum/objective_team/clockcult/proc/check_clockwork_victory()
+/datum/team/clockcult/proc/check_clockwork_victory()
if(GLOB.clockwork_gateway_activated)
return TRUE
return FALSE
-/datum/objective_team/clockcult/roundend_report()
+/datum/team/clockcult/roundend_report()
var/list/parts = list()
-
+
if(check_clockwork_victory())
parts += "Ratvar's servants defended the Ark until its activation!"
else
@@ -213,5 +213,5 @@
if(members.len)
parts += ""
parts += printplayerlist(members - eminence)
-
+
return "[parts.Join("
")]
"
\ No newline at end of file
diff --git a/code/datums/antagonists/cult.dm b/code/datums/antagonists/cult.dm
index d630b63444f..df6aab45b00 100644
--- a/code/datums/antagonists/cult.dm
+++ b/code/datums/antagonists/cult.dm
@@ -9,19 +9,19 @@
var/ignore_implant = FALSE
var/give_equipment = FALSE
- var/datum/objective_team/cult/cult_team
+ var/datum/team/cult/cult_team
/datum/antagonist/cult/get_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)
//todo remove this and allow admin buttons to create more than one cult
for(var/datum/antagonist/cult/H in GLOB.antagonists)
if(H.cult_team)
cult_team = H.cult_team
return
- cult_team = new /datum/objective_team/cult
+ cult_team = new /datum/team/cult
cult_team.setup_objectives()
return
if(!istype(new_team))
@@ -59,7 +59,7 @@
SSticker.mode.cult += owner // Only add after they've been given objectives
SSticker.mode.update_cult_icons_added(owner)
current.log_message("Has been converted to the cult of Nar'Sie!", INDIVIDUAL_ATTACK_LOG)
-
+
if(cult_team.blood_target && cult_team.blood_target_image && current.client)
current.client.images += cult_team.blood_target_image
@@ -183,28 +183,28 @@
current.update_action_buttons_icon()
current.remove_status_effect(/datum/status_effect/cult_master)
-/datum/objective_team/cult
+/datum/team/cult
name = "Cult"
var/blood_target
var/image/blood_target_image
var/blood_target_reset_timer
-
+
var/cult_vote_called = FALSE
var/cult_mastered = 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
var/list/target_candidates = list()
var/datum/objective/sacrifice/sac_objective = new
sac_objective.team = src
-
+
for(var/mob/living/carbon/human/player in GLOB.player_list)
if(player.mind && !player.mind.has_antag_datum(ANTAG_DATUM_CULT) && !is_convertable_to_cult(player) && player.stat != DEAD)
target_candidates += player.mind
-
+
if(target_candidates.len == 0)
message_admins("Cult Sacrifice: Could not find unconvertable target, checking for convertable target.")
for(var/mob/living/carbon/human/player in GLOB.player_list)
@@ -214,7 +214,7 @@
if(LAZYLEN(target_candidates))
sac_objective.target = pick(target_candidates)
sac_objective.update_explanation_text()
-
+
var/datum/job/sacjob = SSjob.GetJob(sac_objective.target.assigned_role)
var/datum/preferences/sacface = sac_objective.target.current.client.prefs
var/icon/reshape = get_flat_human_icon(null, sacjob, sacface)
@@ -235,7 +235,7 @@
summon_objective.team = src
objectives += summon_objective
-/datum/objective/sacrifice
+/datum/objective/sacrifice
var/sacced = FALSE
var/sac_image
@@ -268,13 +268,13 @@
/datum/objective/eldergod/check_completion()
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)
if(!O.check_completion())
return FALSE
return TRUE
-/datum/objective_team/cult/roundend_report()
+/datum/team/cult/roundend_report()
var/list/parts = list()
if(check_cult_victory())
@@ -291,9 +291,9 @@
else
parts += "Objective #[count]: [objective.explanation_text] Fail."
count++
-
+
if(members.len)
parts += ""
parts += printplayerlist(members)
-
+
return "[parts.Join("
")]
"
\ No newline at end of file
diff --git a/code/datums/antagonists/monkey.dm b/code/datums/antagonists/monkey.dm
index e988b98ddd4..b1c5642a392 100644
--- a/code/datums/antagonists/monkey.dm
+++ b/code/datums/antagonists/monkey.dm
@@ -7,7 +7,7 @@
name = "Monkey"
job_rank = ROLE_MONKEY
roundend_category = "monkeys"
- var/datum/objective_team/monkey/monkey_team
+ var/datum/team/monkey/monkey_team
/datum/antagonist/monkey/on_gain()
. = ..()
@@ -38,13 +38,13 @@
if(D)
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)
for(var/datum/antagonist/monkey/N in get_antagonists(/datum/antagonist/monkey, TRUE))
if(N.monkey_team)
monkey_team = N.monkey_team
return
- monkey_team = new /datum/objective_team/monkey
+ monkey_team = new /datum/team/monkey
monkey_team.update_objectives()
return
if(!istype(new_team))
@@ -96,45 +96,45 @@
return TRUE
return FALSE
-/datum/objective_team/monkey
+/datum/team/monkey
name = "Monkeys"
-/datum/objective_team/monkey/proc/update_objectives()
+/datum/team/monkey/proc/update_objectives()
objectives = list()
var/datum/objective/monkey/O = new /datum/objective/monkey()
O.team = src
objectives += O
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()
for(var/mob/living/carbon/monkey/M in GLOB.alive_mob_list)
if(M.HasDisease(D))
return TRUE
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()
for(var/mob/living/carbon/monkey/M in GLOB.alive_mob_list)
if(M.HasDisease(D) && (M.onCentCom() || M.onSyndieBase()))
return TRUE
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()
for(var/mob/living/carbon/human/M in GLOB.alive_mob_list)
if(M.HasDisease(D) && (M.onCentCom() || M.onSyndieBase()))
return TRUE
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()
for(var/mob/living/carbon/human/M in GLOB.alive_mob_list)
if(M.HasDisease(D))
return TRUE
return FALSE
-/datum/objective_team/monkey/proc/get_result()
+/datum/team/monkey/proc/get_result()
if(infected_monkeys_escaped())
return MONKEYS_ESCAPED
if(infected_monkeys_alive())
@@ -143,7 +143,7 @@
return DISEASE_LIVED
return MONKEYS_DIED
-/datum/objective_team/monkey/roundend_report()
+/datum/team/monkey/roundend_report()
var/list/parts = list()
switch(get_result())
if(MONKEYS_ESCAPED)
diff --git a/code/datums/antagonists/nukeop.dm b/code/datums/antagonists/nukeop.dm
index 30d00ac3dd3..8b7fc7826f1 100644
--- a/code/datums/antagonists/nukeop.dm
+++ b/code/datums/antagonists/nukeop.dm
@@ -12,7 +12,7 @@
name = "Nuclear Operative"
roundend_category = "syndicate operatives" //just in case
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/send_to_spawnpoint = TRUE //Should the user be moved to default spawnpoint.
var/nukeop_outfit = /datum/outfit/syndicate
@@ -39,7 +39,7 @@
if(!ishuman(owner.current))
return
var/mob/living/carbon/human/H = owner.current
-
+
H.set_species(/datum/species/human) //Plasamen burn up otherwise, and lizards are vulnerable to asimov AIs
H.equipOutfit(nukeop_outfit)
@@ -103,14 +103,14 @@
/datum/antagonist/nukeop/leader/move_to_spawnpoint()
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(!always_new_team)
for(var/datum/antagonist/nukeop/N in GLOB.antagonists)
if(N.nuke_team)
nuke_team = N.nuke_team
return
- nuke_team = new /datum/objective_team/nuclear
+ nuke_team = new /datum/team/nuclear
nuke_team.update_objectives()
assign_nuke() //This is bit ugly
return
@@ -158,7 +158,7 @@
return
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
name = "[syndicate_name] Team"
for(var/I in members)
@@ -201,40 +201,40 @@
stack_trace("Station self destruct ot found during lone op team creation.")
nuke_team.memorized_code = null
-/datum/objective_team/nuclear
+/datum/team/nuclear
var/syndicate_name
var/obj/machinery/nuclearbomb/tracked_nuke
var/core_objective = /datum/objective/nuclear
var/memorized_code
-/datum/objective_team/nuclear/New()
+/datum/team/nuclear/New()
..()
syndicate_name = syndicate_name()
-/datum/objective_team/nuclear/proc/update_objectives()
+/datum/team/nuclear/proc/update_objectives()
if(core_objective)
var/datum/objective/O = new core_objective
O.team = src
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)
if(!D.onCentCom())
return FALSE
return TRUE
-/datum/objective_team/nuclear/proc/operatives_dead()
+/datum/team/nuclear/proc/operatives_dead()
for(var/I in members)
var/datum/mind/operative_mind = I
if(ishuman(operative_mind.current) && (operative_mind.current.stat != DEAD))
return FALSE
return TRUE
-/datum/objective_team/nuclear/proc/syndies_escaped()
+/datum/team/nuclear/proc/syndies_escaped()
var/obj/docking_port/mobile/S = SSshuttle.getShuttle("syndicate")
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/disk_rescued = disk_rescued()
var/syndies_didnt_escape = !syndies_escaped()
@@ -262,10 +262,10 @@
else
return //Undefined result
-/datum/objective_team/nuclear/roundend_report()
+/datum/team/nuclear/roundend_report()
var/list/parts = list()
parts += ""
-
+
switch(get_result())
if(NUKE_RESULT_FLUKE)
parts += "Humiliating Syndicate Defeat"
@@ -316,7 +316,7 @@
text += "(Syndicates used [TC_uses] TC) [purchases]"
if(TC_uses == 0 && SSticker.mode.station_was_nuked && !operatives_dead())
text += "[icon2html('icons/badass.dmi', world, "badass")]"
-
+
parts += text
return "[parts.Join("
")]
"
diff --git a/code/datums/antagonists/pirate.dm b/code/datums/antagonists/pirate.dm
index be7eabb2a0a..9bf20a4bf58 100644
--- a/code/datums/antagonists/pirate.dm
+++ b/code/datums/antagonists/pirate.dm
@@ -2,7 +2,7 @@
name = "Space Pirate"
job_rank = ROLE_TRAITOR
roundend_category = "space pirates"
- var/datum/objective_team/pirate/crew
+ var/datum/team/pirate/crew
/datum/antagonist/pirate/greet()
to_chat(owner, "You are a Space Pirate!")
@@ -12,14 +12,14 @@
/datum/antagonist/pirate/get_team()
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)
for(var/datum/antagonist/pirate/P in GLOB.antagonists)
if(P.crew)
crew = P.crew
return
if(!new_team)
- crew = new /datum/objective_team/pirate
+ crew = new /datum/team/pirate
crew.forge_objectives()
return
if(!istype(new_team))
@@ -36,10 +36,10 @@
owner.objectives -= crew.objectives
. = ..()
-/datum/objective_team/pirate
+/datum/team/pirate
name = "Pirate crew"
-/datum/objective_team/pirate/proc/forge_objectives()
+/datum/team/pirate/proc/forge_objectives()
var/datum/objective/loot/getbooty = new()
getbooty.team = src
getbooty.storage_area = locate(/area/shuttle/pirate/vault) in GLOB.sortedAreas
@@ -105,11 +105,11 @@ GLOBAL_LIST_INIT(pirate_loot_cache, typecacheof(list(
/datum/objective/loot/check_completion()
return ..() || get_loot_value() >= target_value
-/datum/objective_team/pirate/roundend_report()
+/datum/team/pirate/roundend_report()
var/list/parts = list()
parts += ""
-
+
var/all_dead = TRUE
for(var/datum/mind/M in members)
if(considered_alive(M))
@@ -125,5 +125,5 @@ GLOBAL_LIST_INIT(pirate_loot_cache, typecacheof(list(
parts += "The pirate crew was successful!"
else
parts += "The pirate crew has failed."
-
+
return "[parts.Join("
")]
"
\ No newline at end of file
diff --git a/code/datums/antagonists/revolution.dm b/code/datums/antagonists/revolution.dm
index 365e3a44efe..3209b9221c7 100644
--- a/code/datums/antagonists/revolution.dm
+++ b/code/datums/antagonists/revolution.dm
@@ -6,7 +6,7 @@
roundend_category = "revolutionaries" // if by some miracle revolutionaries without revolution happen
job_rank = ROLE_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)
. = ..()
@@ -43,14 +43,14 @@
to_chat(owner, "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!")
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)
//For now only one revolution at a time
for(var/datum/antagonist/rev/head/H in GLOB.antagonists)
if(H.rev_team)
rev_team = H.rev_team
return
- rev_team = new /datum/objective_team/revolution
+ rev_team = new /datum/team/revolution
rev_team.update_objectives()
rev_team.update_heads()
return
@@ -78,7 +78,7 @@
old_owner.add_antag_datum(new_revhead,old_team)
new_revhead.silent = FALSE
to_chat(old_owner, "You have proved your devotion to revolution! You are a head revolutionary now!")
-
+
/datum/antagonist/rev/head
name = "Head Revolutionary"
@@ -164,7 +164,7 @@
if(remove_clumsy && owner.assigned_role == "Clown")
to_chat(owner, "Your training has allowed you to overcome your clownish nature, allowing you to wield weapons without harming yourself.")
H.dna.remove_mutation(CLOWNMUT)
-
+
if(give_flash)
var/obj/item/device/assembly/flash/T = new(H)
var/list/slots = list (
@@ -177,17 +177,17 @@
to_chat(H, "The Syndicate were unfortunately unable to get you a flash.")
else
to_chat(H, "The flash in your [where] will help you to persuade the crew to join your cause.")
-
+
if(give_hud)
var/obj/item/organ/cyberimp/eyes/hud/security/syndicate/S = new(H)
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.")
-/datum/objective_team/revolution
+/datum/team/revolution
name = "Revolution"
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()
for(var/datum/objective/mutiny/O in objectives)
untracked_heads -= O.target
@@ -199,16 +199,16 @@
objectives += new_target
for(var/datum/mind/M in members)
M.objectives |= objectives
-
+
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()
for(var/datum/mind/M in members)
if(M.has_antag_datum(/datum/antagonist/rev/head))
. += M
-/datum/objective_team/revolution/proc/update_heads()
+/datum/team/revolution/proc/update_heads()
if(SSticker.HasRoundStarted())
var/list/datum/mind/head_revolutionaries = head_revolutionaries()
var/list/datum/mind/heads = SSjob.get_all_heads()
@@ -229,7 +229,7 @@
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)
return
diff --git a/code/datums/antagonists/wizard.dm b/code/datums/antagonists/wizard.dm
index 7f23215d6c5..e856a6642f6 100644
--- a/code/datums/antagonists/wizard.dm
+++ b/code/datums/antagonists/wizard.dm
@@ -11,7 +11,7 @@
var/strip = TRUE //strip before equipping
var/allow_rename = TRUE
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/outfit_type = /datum/outfit/wizard
var/wiz_age = WIZARD_AGE_MIN /* Wizards by nature cannot be too young. */
@@ -33,7 +33,7 @@
/datum/antagonist/wizard/proc/unregister()
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)
return
if(!istype(new_team))
@@ -43,7 +43,7 @@
/datum/antagonist/wizard/get_team()
return wiz_team
-/datum/objective_team/wizard
+/datum/team/wizard
name = "wizard team"
var/datum/antagonist/wizard/master_wizard
@@ -307,18 +307,18 @@
parts += "The wizard was successful!"
else
parts += "The wizard has failed!"
-
+
if(owner.spell_list.len>0)
parts += "[owner.name] used the following spells: "
var/list/spell_names = list()
for(var/obj/effect/proc_holder/spell/S in owner.spell_list)
spell_names += S.name
parts += spell_names.Join(", ")
-
+
return parts.Join("
")
//Wizard with apprentices report
-/datum/objective_team/wizard/roundend_report()
+/datum/team/wizard/roundend_report()
var/list/parts = list()
parts += ""
@@ -326,5 +326,5 @@
parts += " "
parts += ""
parts += printplayerlist(members - master_wizard.owner)
-
+
return "[parts.Join("
")]
"
\ No newline at end of file
diff --git a/code/datums/mind.dm b/code/datums/mind.dm
index 3dc1f74cb26..4e059f80767 100644
--- a/code/datums/mind.dm
+++ b/code/datums/mind.dm
@@ -144,7 +144,7 @@
return
LAZYADD(antag_datums, A)
A.create_team(team)
- var/datum/objective_team/antag_team = A.get_team()
+ var/datum/team/antag_team = A.get_team()
if(antag_team)
antag_team.add_member(src)
A.on_gain()
@@ -328,7 +328,7 @@
N.send_to_spawnpoint = FALSE
N.nukeop_outfit = null
add_antag_datum(N,converter.nuke_team)
-
+
enslaved_to = creator
@@ -777,13 +777,13 @@
objective = locate(href_list["obj_edit"])
if (!objective)
return
-
+
for(var/datum/antagonist/A in antag_datums)
if(objective in A.objectives)
target_antag = A
objective_pos = A.objectives.Find(objective)
break
-
+
if(!target_antag) //Shouldn't happen
stack_trace("objective without antagonist found")
objective_pos = objectives.Find(objective)
@@ -939,7 +939,7 @@
var/datum/objective/objective = locate(href_list["obj_delete"])
if(!istype(objective))
return
-
+
for(var/datum/antagonist/A in antag_datums)
if(objective in A.objectives)
A.objectives -= objective
diff --git a/code/game/gamemodes/objective_team.dm b/code/game/gamemodes/antag_team.dm
similarity index 70%
rename from code/game/gamemodes/objective_team.dm
rename to code/game/gamemodes/antag_team.dm
index 1483f356d2b..372ee26dfad 100644
--- a/code/game/gamemodes/objective_team.dm
+++ b/code/game/gamemodes/antag_team.dm
@@ -1,11 +1,11 @@
//A barebones antagonist team.
-/datum/objective_team
+/datum/team
var/list/datum/mind/members = list()
var/name = "team"
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.
-/datum/objective_team/New(starting_members)
+/datum/team/New(starting_members)
. = ..()
if(starting_members)
if(islist(starting_members))
@@ -14,17 +14,17 @@
else
add_member(starting_members)
-/datum/objective_team/proc/is_solo()
+/datum/team/proc/is_solo()
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
-/datum/objective_team/proc/remove_member(datum/mind/member)
+/datum/team/proc/remove_member(datum/mind/member)
members -= member
//Display members/victory/failure/objectives for the team
-/datum/objective_team/proc/roundend_report()
+/datum/team/proc/roundend_report()
var/list/report = list()
report += "[name]:"
diff --git a/code/game/gamemodes/brother/traitor_bro.dm b/code/game/gamemodes/brother/traitor_bro.dm
index 978f871ba2a..609f5bb6ab5 100644
--- a/code/game/gamemodes/brother/traitor_bro.dm
+++ b/code/game/gamemodes/brother/traitor_bro.dm
@@ -1,6 +1,6 @@
/datum/game_mode
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
name = "traitor+brothers"
@@ -13,7 +13,7 @@
Blood Brothers: Accomplish your objectives.\n\
Crew: 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/min_team_size = 2
traitors_required = FALSE //Only teams are possible
@@ -36,7 +36,7 @@
for(var/j = 1 to num_teams)
if(possible_brothers.len < min_team_size || antag_candidates.len <= required_enemies)
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
for(var/k = 1 to team_size)
var/datum/mind/bro = pick(possible_brothers)
@@ -49,7 +49,7 @@
return ..()
/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)
meeting_areas -= team.meeting_area
team.forge_brother_objectives()
diff --git a/code/game/gamemodes/clock_cult/clock_cult.dm b/code/game/gamemodes/clock_cult/clock_cult.dm
index 1baabbebecc..f5484e91f51 100644
--- a/code/game/gamemodes/clock_cult/clock_cult.dm
+++ b/code/game/gamemodes/clock_cult/clock_cult.dm
@@ -112,8 +112,8 @@ Credit where due:
var/servants_to_serve = list()
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/datum/objective_team/clockcult/main_clockcult
+
+ var/datum/team/clockcult/main_clockcult
/datum/game_mode/clockwork_cult/pre_setup()
if(CONFIG_GET(flag/protect_roles_from_antagonist))
diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm
index 67e22257729..697a5c8eba7 100644
--- a/code/game/gamemodes/cult/cult.dm
+++ b/code/game/gamemodes/cult/cult.dm
@@ -6,13 +6,13 @@
/proc/iscultist(mob/living/M)
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)
if(mind == sac_objective.target)
return TRUE
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))
return FALSE
if(M.mind)
@@ -54,7 +54,7 @@
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()
@@ -96,7 +96,7 @@
var/datum/antagonist/cult/new_cultist = new(cult_mind)
new_cultist.give_equipment = equip
-
+
if(cult_mind.add_antag_datum(new_cultist))
if(stun)
cult_mind.current.Unconscious(100)
diff --git a/code/game/gamemodes/cult/cult_comms.dm b/code/game/gamemodes/cult/cult_comms.dm
index d3416038b0e..b809f2419c9 100644
--- a/code/game/gamemodes/cult/cult_comms.dm
+++ b/code/game/gamemodes/cult/cult_comms.dm
@@ -97,7 +97,7 @@
var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
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)
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
@@ -276,7 +276,7 @@
return FALSE
var/datum/antagonist/cult/C = caller.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
-
+
if(target in view(7, get_turf(ranged_ability_user)))
C.cult_team.blood_target = target
var/area/A = get_area(target)
@@ -297,7 +297,7 @@
return TRUE
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)
if(B.current && B.current.stat != DEAD && B.current.client)
if(team.blood_target)
diff --git a/code/game/gamemodes/miniantags/abduction/abduction.dm b/code/game/gamemodes/miniantags/abduction/abduction.dm
index 12987124acf..f9e8f8d7525 100644
--- a/code/game/gamemodes/miniantags/abduction/abduction.dm
+++ b/code/game/gamemodes/miniantags/abduction/abduction.dm
@@ -10,7 +10,7 @@
required_players = 15
maximum_players = 50
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/static/team_count = 0
@@ -37,7 +37,7 @@
if(team_number > max_teams)
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.name = "Mothership [pick(GLOB.possible_changeling_IDs)]" //TODO Ensure unique and actual alieny names
team.add_objective(new/datum/objective/experiment)
@@ -65,12 +65,12 @@
return team
/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)
return ..()
//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)
if(M.assigned_role == "Abductor Scientist")
M.add_antag_datum(ANTAG_DATUM_ABDUCTOR_SCIENTIST, team)
@@ -79,7 +79,7 @@
/datum/game_mode/abduction/check_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)
if(O.check_completion())
SSshuttle.emergency.request(null, set_coefficient = 0.5)
@@ -103,9 +103,9 @@
/datum/objective/experiment/check_completion()
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
- var/datum/objective_team/abductor_team/T = team
+ var/datum/team/abductor_team/T = team
if(E.team_number == T.team_number)
return E.points >= target_amount
return FALSE
diff --git a/code/game/gamemodes/miniantags/monkey/monkey.dm b/code/game/gamemodes/miniantags/monkey/monkey.dm
index 682552e2d14..7e6d92d927d 100644
--- a/code/game/gamemodes/miniantags/monkey/monkey.dm
+++ b/code/game/gamemodes/miniantags/monkey/monkey.dm
@@ -22,7 +22,7 @@
var/players_per_carrier = 30
- var/datum/objective_team/monkey/monkey_team
+ var/datum/team/monkey/monkey_team
diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm
index f3dee003034..f131046cacb 100644
--- a/code/game/gamemodes/nuclear/nuclear.dm
+++ b/code/game/gamemodes/nuclear/nuclear.dm
@@ -17,7 +17,7 @@
var/nukes_left = 1 // Call 3714-PRAY right now and order more nukes! Limited offer!
var/list/pre_nukeops = list()
- var/datum/objective_team/nuclear/nuke_team
+ var/datum/team/nuclear/nuke_team
/datum/game_mode/nuclear/pre_setup()
var/n_agents = min(round(num_players() / 10), antag_candidates.len, agents_possible)
diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm
index 0c25895ab3b..1b48425b4fa 100644
--- a/code/game/gamemodes/objective.dm
+++ b/code/game/gamemodes/objective.dm
@@ -1,6 +1,6 @@
/datum/objective
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/team_explanation_text //For when there are multiple owners.
var/datum/mind/target = null //If they are focused on a particular person.
diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm
index cbfdb98c693..f20e16b36b2 100644
--- a/code/game/gamemodes/revolution/revolution.dm
+++ b/code/game/gamemodes/revolution/revolution.dm
@@ -26,7 +26,7 @@
var/finished = 0
var/check_counter = 0
var/max_headrevs = 3
- var/datum/objective_team/revolution/revolution
+ var/datum/team/revolution/revolution
var/list/datum/mind/headrev_candidates = list()
///////////////////////////
diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm
index af31f471da2..22b60d130e5 100644
--- a/code/modules/admin/player_panel.dm
+++ b/code/modules/admin/player_panel.dm
@@ -524,7 +524,7 @@
if(SSticker.mode.brother_teams.len > 0)
dat += "
| Brothers | | |
"
- 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)
var/mob/M = brother.current
if(M)
@@ -611,7 +611,7 @@
dat += "PM | "
dat += "
"
-
+
var/list/pirates = get_antagonists(/datum/antagonist/pirate)
if(pirates.len > 0)
dat += "
| Pirates | |
"
diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm
index 2c59ce21f20..ece3775872f 100644
--- a/code/modules/admin/verbs/one_click_antag.dm
+++ b/code/modules/admin/verbs/one_click_antag.dm
@@ -240,7 +240,7 @@
//Let's find the spawn locations
var/leader_chosen = FALSE
- var/datum/objective_team/nuclear/nuke_team
+ var/datum/team/nuclear/nuke_team
for(var/mob/c in chosen)
var/mob/living/carbon/human/new_character=makeBody(c)
if(!leader_chosen)
@@ -308,13 +308,13 @@
//Assign antag status and the mission
SSticker.mode.traitors += Commando.mind
Commando.mind.special_role = "deathsquad"
-
+
var/datum/objective/missionobj = new
missionobj.owner = Commando.mind
missionobj.explanation_text = mission
missionobj.completed = 1
Commando.mind.objectives += missionobj
-
+
Commando.mind.add_antag_datum(/datum/antagonist/auto_custom)
//Greet the commando
@@ -363,13 +363,13 @@
//Assign antag status and the mission
SSticker.mode.traitors += newmob.mind
newmob.mind.special_role = "official"
-
+
var/datum/objective/missionobj = new
missionobj.owner = newmob.mind
missionobj.explanation_text = mission
missionobj.completed = 1
newmob.mind.objectives += missionobj
-
+
newmob.mind.add_antag_datum(/datum/antagonist/auto_custom)
if(CONFIG_GET(flag/enforce_human_authority))
@@ -471,7 +471,7 @@
//Assign antag status and the mission
SSticker.mode.traitors += ERTOperative.mind
ERTOperative.mind.special_role = "ERT"
-
+
var/datum/objective/missionobj = new
missionobj.owner = ERTOperative.mind
missionobj.explanation_text = mission
diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm
index 9801e986146..15b76d26412 100644
--- a/code/modules/power/singularity/narsie.dm
+++ b/code/modules/power/singularity/narsie.dm
@@ -50,7 +50,7 @@
var/list/all_cults = list()
for(var/datum/antagonist/cult/C in GLOB.antagonists)
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)
T.blood_target = src
var/datum/objective/eldergod/summon_objective = locate() in T.objectives
diff --git a/tgstation.dme b/tgstation.dme
index cce449562f6..fbd63700778 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -449,11 +449,11 @@
#include "code\game\area\areas\ruins\space.dm"
#include "code\game\gamemodes\antag_hud.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\game_mode.dm"
#include "code\game\gamemodes\objective.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\overmind.dm"
#include "code\game\gamemodes\blob\powers.dm"