diff --git a/code/game/gamemodes/abduction/abduction.dm b/code/game/gamemodes/abduction/abduction.dm index eef2b6f6db2..9623e545f3d 100644 --- a/code/game/gamemodes/abduction/abduction.dm +++ b/code/game/gamemodes/abduction/abduction.dm @@ -267,6 +267,7 @@ return ..() /datum/game_mode/abduction/declare_completion() + world << "
The Abductors were:" for(var/team_number=1,team_number<=teams,team_number++) var/obj/machinery/abductor/console/console = get_team_console(team_number) var/datum/objective/objective = team_objectives[team_number] @@ -282,7 +283,7 @@ world << "[team_name] team failed its mission! " world << "Team Members: [agent.name]([agent.ckey])
[scientist.name]([scientist.ckey])" - world << "Abductees:" + world << "
The Abductees were:" display_abductees(console) ..() @@ -293,20 +294,24 @@ for(var/mob/living/abductee in abductees) if(!abductee.mind) continue - world << "[abductee.name]([abductee.ckey]))" - var/count = 1 - for(var/datum/objective/objective in abductee.mind.objectives) - if(objective.check_completion()) - world << "
Objective #[count]: [objective.explanation_text] Success!" - else - world << "
Objective #[count]: [objective.explanation_text] Fail." - count++ + world << printplayer(abductee.mind) + world << printobjectives(abductee.mind) /datum/game_mode/proc/auto_declare_completion_abduction() if(abductors.len) - world << "Abductors:" + world << "
The Abductors were:" for(var/datum/mind/M in abductors) world << "Abductor [M.current ? M.current.name : "Abductor"]([M.key])" + world << printobjectives(M) + world << "
The Abductees were:" + var/list/full_history = list() + for(var/obj/machinery/abductor/console/C in machines) + full_history |= C.experiment.history + for(var/mob/living/abductee in full_history) + if(!abductee.mind) + continue + world << printplayer(abductee.mind) + world << printobjectives(abductee.mind) return //Landmarks diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 1dea0f2834d..83c10f02e99 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -487,6 +487,17 @@ proc/display_roundstart_logout_report() return text +/datum/game_mode/proc/printobjectives(var/datum/mind/ply) + var/text = "" + var/count = 1 + for(var/datum/objective/objective in ply.objectives) + if(objective.check_completion()) + text += "
Objective #[count]: [objective.explanation_text] Success!" + else + text += "
Objective #[count]: [objective.explanation_text] Fail." + count++ + return text + //If the configuration option is set to require players to be logged as old enough to play certain jobs, then this proc checks that they are, otherwise it just returns 1 /datum/game_mode/proc/age_check(client/C) if(get_remaining_days(C) == 0)