anchor.diff:  		if(heads.len > 0)
   			dat += "<tr><th colspan=2>Heads</th></tr>"
   			for(name in heads)
  -				dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[heads[name]]</td></tr>"
  +				dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[heads[name]]</td><td>isactive[name]</td></tr>"
   				even = !even
   		if(sec.len > 0)
   			dat += "<tr><th colspan=2>Security</th></tr>"
   			for(name in sec)
  -				dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[sec[name]]</td></tr>"
  +				dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[sec[name]]</td><td>isactive[name]</td></tr>"
   				even = !even
   		if(eng.len > 0)
   			dat += "<tr><th colspan=2>Engineering</th></tr>"
   			for(name in eng)
  -				dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[eng[name]]</td></tr>"
  +				dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[eng[name]]</td><td>isactive[name]</td></tr>"
   				even = !even
   		if(med.len > 0)
   			dat += "<tr><th colspan=2>Medical</th></tr>"
   			for(name in med)
  -				dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[med[name]]</td></tr>"
  +				dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[med[name]]</td><td>isactive[name]</td></tr>"
   				even = !even
   		if(sci.len > 0)
   			dat += "<tr><th colspan=2>Science</th></tr>"
   			for(name in sci)
  -				dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[sci[name]]</td></tr>"
  +				dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[sci[name]]</td><td>isactive[name]</td></tr>"
   				even = !even
   		if(civ.len > 0)
   			dat += "<tr><th colspan=2>Civilian</th></tr>"
   			for(name in civ)
  -				dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[civ[name]]</td></tr>"
  +				dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[civ[name]]</td><td>isactive[name]</td></tr>"
   				even = !even
   		// in case somebody is insane and added them to the manifest, why not
   		if(bot.len > 0)
   			dat += "<tr><th colspan=2>Silicon</th></tr>"
   			for(name in bot)
  -				dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[bot[name]]</td></tr>"
  +				dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[bot[name]]</td><td>isactive[name]</td></tr>"
   				even = !even
   		// misc guys
   		if(misc.len > 0)
   			dat += "<tr><th colspan=2>Miscellaneous</th></tr>"
   			for(name in misc)
  -				dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[misc[name]]</td></tr>"
  +				dat += "<tr[even ? " class='alt'" : ""]><td>[name]</td><td>[misc[name]]</td><td>isactive[name]</td></tr>"
   				even = !even
   
   
  
positive.code: 			.manifest tr.alt td {[monochrome?"border-top-width: 2px":"background-color: #DEF"]}
  		</style></head>
  		<table class="manifest">
  		<tr class='head'><th>Name</th><th>Rank</th></tr>
  		"}
  		var/even = 0
  
  
negative.code: 			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)
  