<commit_before>
/client/verb/who()
	set name = "Who"
	set category = "OOC"

	var/msg = "<b>Current Players:</b>\n"

	var/list/Lines = list()

	if(holder)
		for(var/client/C in clients)
			var/entry = "\t[C.key]"
			if(C.holder && C.holder.fakekey)
				entry += " <i>(as [C.holder.fakekey])</i>"
			entry += " - Playing as [C.mob.real_name]"
			switch(C.mob.stat)
				if(UNCONSCIOUS)
					entry += " - <font color='darkgray'><b>Unconscious</b></font>"
				if(DEAD)
					if(isobserver(C.mob))
						var/mob/dead/observer/O = C.mob
						if(O.started_as_observer)
							entry += " - <font color='gray'>Observing</font>"
						else
							entry += " - <font color='black'><b>DEAD</b></font>"
					else
						entry += " - <font color='black'><b>DEAD</b></font>"
			if(is_special_character(C.mob))
				entry += " - <b><font color='red'>Antagonist</font></b>"
			entry += " (<A HREF='?_src_=holder;adminmoreinfo=\ref[C.mob]'>?</A>)"
			Lines += entry
	else
		for(var/client/C in clients)
			if(C.holder && C.holder.fakekey)
				Lines += C.holder.fakekey
			else
				Lines += C.key

	for(var/line in sortList(Lines))
		msg += "[line]\n"

	msg += "<b>Total Players: [length(Lines)]</b>"
	src << msg

/client/verb/adminwho()
	set category = "Admin"
	set name = "Adminwho"

	var/msg = "<b>Current Admins:</b>\n"
	var/num_mods_online = 0
	if(holder)
		for(var/client/C in admins)
			if(C.holder.rank != "Moderator")
				msg += "\t[C] is a [C.holder.rank]"

				if(C.holder.fakekey)
					msg += " <i>(as [C.holder.fakekey])</i>"

				if(isobserver(C.mob))
					msg += " - Observing"
				else if(istype(C.mob,/mob/new_player))
					msg += " - Lobby"
				else
					msg += " - Playing"

				if(C.is_afk())
					msg += " (AFK)"
				msg += "\n"
			else
				num_mods_online++
	else
		for(var/client/C in admins)
			if(C.holder.rank != "Moderator")
				if(!C.holder.fakekey)
					msg += "\t[C] is a [C.holder.rank]\n"
			else
				num_mods_online++

	msg += "<b>There are [num_mods_online] moderators online</b>\n"
	src << msg

/client/verb/modwho()
	set category = "Admin"
	set name = "Modwho"

	var/msg = "<b>Current Moderators:</b>\n"
	var/num_admins_online = 0
	if(holder)
		for(var/client/C in admins)
			if(C.holder.rank == "Moderator")
				msg += "\t[C] is a [C.holder.rank]"

				if(isobserver(C.mob))
					msg += " - Observing"
				else if(istype(C.mob,/mob/new_player))
					msg += " - Lobby"
				else
					msg += " - Playing"

				if(C.is_afk())
					msg += " (AFK)"
				msg += "\n"
			else
				num_admins_online++
	else
		for(var/client/C in admins)
			if(C.holder.rank == "Moderator")
				msg += "\t[C] is a [C.holder.rank]\n"
			else
				num_admins_online++

	msg += "<b>There are [num_admins_online] admins online</b>\n"
	src << msg<commit_msg>added some info text to adminwho/modwho<commit_after>
/client/verb/who()
	set name = "Who"
	set category = "OOC"

	var/msg = "<b>Current Players:</b>\n"

	var/list/Lines = list()

	if(holder)
		for(var/client/C in clients)
			var/entry = "\t[C.key]"
			if(C.holder && C.holder.fakekey)
				entry += " <i>(as [C.holder.fakekey])</i>"
			entry += " - Playing as [C.mob.real_name]"
			switch(C.mob.stat)
				if(UNCONSCIOUS)
					entry += " - <font color='darkgray'><b>Unconscious</b></font>"
				if(DEAD)
					if(isobserver(C.mob))
						var/mob/dead/observer/O = C.mob
						if(O.started_as_observer)
							entry += " - <font color='gray'>Observing</font>"
						else
							entry += " - <font color='black'><b>DEAD</b></font>"
					else
						entry += " - <font color='black'><b>DEAD</b></font>"
			if(is_special_character(C.mob))
				entry += " - <b><font color='red'>Antagonist</font></b>"
			entry += " (<A HREF='?_src_=holder;adminmoreinfo=\ref[C.mob]'>?</A>)"
			Lines += entry
	else
		for(var/client/C in clients)
			if(C.holder && C.holder.fakekey)
				Lines += C.holder.fakekey
			else
				Lines += C.key

	for(var/line in sortList(Lines))
		msg += "[line]\n"

	msg += "<b>Total Players: [length(Lines)]</b>"
	src << msg

/client/verb/adminwho()
	set category = "Admin"
	set name = "Adminwho"

	var/msg = "<b>Current Admins:</b>\n"
	var/num_mods_online = 0
	if(holder)
		for(var/client/C in admins)
			if(C.holder.rank != "Moderator")
				msg += "\t[C] is a [C.holder.rank]"

				if(C.holder.fakekey)
					msg += " <i>(as [C.holder.fakekey])</i>"

				if(isobserver(C.mob))
					msg += " - Observing"
				else if(istype(C.mob,/mob/new_player))
					msg += " - Lobby"
				else
					msg += " - Playing"

				if(C.is_afk())
					msg += " (AFK)"
				msg += "\n"
			else
				num_mods_online++
	else
		for(var/client/C in admins)
			if(C.holder.rank != "Moderator")
				if(!C.holder.fakekey)
					msg += "\t[C] is a [C.holder.rank]\n"
			else
				num_mods_online++

	msg += "<b>There are also [num_mods_online] moderators online.</b> To view online moderators, type 'modwho'\n"
	src << msg

/client/verb/modwho()
	set category = "Admin"
	set name = "Modwho"

	var/msg = "<b>Current Moderators:</b>\n"
	var/num_admins_online = 0
	if(holder)
		for(var/client/C in admins)
			if(C.holder.rank == "Moderator")
				msg += "\t[C] is a [C.holder.rank]"

				if(isobserver(C.mob))
					msg += " - Observing"
				else if(istype(C.mob,/mob/new_player))
					msg += " - Lobby"
				else
					msg += " - Playing"

				if(C.is_afk())
					msg += " (AFK)"
				msg += "\n"
			else
				num_admins_online++
	else
		for(var/client/C in admins)
			if(C.holder.rank == "Moderator")
				msg += "\t[C] is a [C.holder.rank]\n"
			else
				num_admins_online++

	msg += "<b>There are also [num_admins_online] admins online.</b> To view online admins, type 'adminwho'\n"
	src << msg
{'fraction_non_alphanumeric': 0.19889206576125804, 'fraction_numerical': 0.0007147962830593281, 'mean_word_length': 2.7741065407956844, 'pattern_counts': {'":': 0, '<': 87, '<?xml version=': 0, '>': 75, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3181276', 'n_tokens_mistral': 2714, 'n_tokens_neox': 2243, 'n_words': 432}