diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm
index 17e85c9fb18..12d9278205a 100644
--- a/code/game/gamemodes/game_mode.dm
+++ b/code/game/gamemodes/game_mode.dm
@@ -151,7 +151,11 @@
var/list/area/escape_locations = list(/area/shuttle/escape/centcom, /area/shuttle/escape_pod1/centcom, /area/shuttle/escape_pod2/centcom, /area/shuttle/escape_pod3/centcom, /area/shuttle/escape_pod5/centcom)
+ var/pltext = "Player list:"
+
for(var/mob/M in player_list)
+ if(M.mind)
+ pltext += printplayer(M.mind)
if(M.client)
clients++
if(ishuman(M))
@@ -179,6 +183,15 @@
if(isobserver(M))
ghosts++
+ var/text = "A round of [src.name] has ended."
+ if(surviving_total > 0)
+ text += "
There [surviving_total>1 ? "were [surviving_total] survivors" : "was one survivor"]"
+ text += " ([escaped_total>0 ? escaped_total : "none"] [emergency_shuttle.evac ? "escaped" : "transferred"]) and [ghosts] ghosts.
"
+ else
+ text += "There were no survivors ([ghosts] ghosts)."
+ text += "
" + pltext //print player list after the general info
+ world << text
+
if(clients > 0)
feedback_set("round_end_clients",clients)
if(ghosts > 0)
@@ -515,7 +528,7 @@ proc/get_nt_opposed()
/datum/game_mode/proc/printplayer(var/datum/mind/ply)
var/role = ply.assigned_role == "MODE" ? "\improper[ply.special_role]" : "\improper[ply.assigned_role]"
- var/text = "
[ply.name]([ply.key]) as \a [role] ("
+ var/text = "
[ply.name] ([ply.key]) as \a [role] ("
if(ply.current)
if(ply.current.stat == DEAD)
text += "died"