diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm
index aed5a01d1f..e79c477486 100755
--- a/code/controllers/subsystem/ticker.dm
+++ b/code/controllers/subsystem/ticker.dm
@@ -468,6 +468,20 @@ SUBSYSTEM_DEF(ticker)
var/num_survivors = 0
var/num_escapees = 0
var/num_shuttle_escapees = 0
+ var/list/successfulCrew = list()
+ var/list/miscreants = list()
+
+ for(var/datum/mind/crewMind in minds)
+ if(!crewMind.current || !crewMind.objectives.len)
+ continue
+ if(var/datum/objective/miscreant/MO in crewMind.objectives)
+ miscreants += "[crewMind.current.real_name] (Played by: [crewMind.key]). Objective: [MO.explanation_text]"
+ if(var/datum/objective/crew/CO in crewMind.objectives)
+ if(CO.check_completion())
+ to_chat(crewMind.current, "
Objective: [CO.explanation_text] Success!"
+ successfulCrew += "[crewMind.current.real_name] (Played by: [crewMind.key]). Objective: [CO.explanation_text]"
+ else
+ to_chat(crewMind.current, "
Objective: [CO.explanation_text] Failed."
to_chat(world, "
The round has ended.")
@@ -586,6 +600,22 @@ SUBSYSTEM_DEF(ticker)
CHECK_TICK
+ if (successfulCrew.len)
+ tochat(world, "The following crew members completed their Crew Objectives:")
+ for(var/i in successfulCrew)
+ tochat(world, "[i]")
+ else
+ tochat(world, "Nobody completed their Crew Objectives!")
+
+ CHECK_TICK
+
+ if (miscreants.len)
+ tochat(world, " The following crew members were miscreants:")
+ for(var/i in miscreants)
+ tochat(world, "[i]")
+
+ CHECK_TICK
+
mode.declare_station_goal_completion()
CHECK_TICK