From 9ccfe7e310603a48c3efbfe6de85120f54307ff6 Mon Sep 17 00:00:00 2001 From: cib Date: Mon, 24 Dec 2012 21:03:26 +0100 Subject: [PATCH] Crew manifest now shows whether a crew member is SSD. --- code/defines/obj.dm | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/code/defines/obj.dm b/code/defines/obj.dm index 739354707bb..29bffd5f3cf 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -56,6 +56,7 @@ var/list/civ = new() var/list/bot = new() var/list/misc = new() + var/list/isactive = new() var/dat = {" - + "} var/even = 0 @@ -77,6 +78,17 @@ var/rank = t.fields["rank"] var/real_rank = t.fields["real_rank"] + var/active = 0 + for(var/mob/M in player_list) if(M.name == name) + // For dead ones, have a chance to get their status wrong + if(M.stat == 2) + active = M.x % 2 // Should be good enough, avoids their status flipping constantly + break + else if(M.client && M.client.inactivity <= 10 * 60 * 10) + active = 1 + break + isactive[name] = active ? "Active" : "SSD" + //world << "[name]: [rank]" if(real_rank in command_positions) @@ -106,44 +118,44 @@ if(heads.len > 0) dat += "" for(name in heads) - dat += "" + dat += "" even = !even if(sec.len > 0) dat += "" for(name in sec) - dat += "" + dat += "" even = !even if(eng.len > 0) dat += "" for(name in eng) - dat += "" + dat += "" even = !even if(med.len > 0) dat += "" for(name in med) - dat += "" + dat += "" even = !even if(sci.len > 0) dat += "" for(name in sci) - dat += "" + dat += "" even = !even if(civ.len > 0) dat += "" for(name in civ) - dat += "" + dat += "" even = !even // in case somebody is insane and added them to the manifest, why not if(bot.len > 0) dat += "" for(name in bot) - dat += "" + dat += "" even = !even // misc guys if(misc.len > 0) dat += "" for(name in misc) - dat += "" + dat += "" even = !even
NameRank
NameRankActivity
Heads
[name][heads[name]]
[name][heads[name]]isactive[name]
Security
[name][sec[name]]
[name][sec[name]]isactive[name]
Engineering
[name][eng[name]]
[name][eng[name]]isactive[name]
Medical
[name][med[name]]
[name][med[name]]isactive[name]
Science
[name][sci[name]]
[name][sci[name]]isactive[name]
Civilian
[name][civ[name]]
[name][civ[name]]isactive[name]
Silicon
[name][bot[name]]
[name][bot[name]]isactive[name]
Miscellaneous
[name][misc[name]]
[name][misc[name]]isactive[name]