/obj/admins/proc/player_panel_new()//The new one if (!usr.client.holder) return var/dat = "
| Name/Real Name | Type | Assigned Job | Info | Options | Traitor? | IP: | to this if wanting to add back in IP checking //add(IP: [M.lastKnownIP]) | if you want to know their ip to the lists below var/list/mobs = get_sorted_mobs() var/i = 1 for(var/mob/M in mobs) if(M.ckey) var/color = "#e6e6e6" i++ if(i%2 == 0) color = "#f2f2f2" var/real = (M.real_name == M.original_name ? "[M.name]/[M.real_name]" : "[M.original_name] (as [M.name]/[M.real_name])") var/turf/T = get_turf(M) var/client_key = (M.key? M.key : "No key") dat += "|||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| [real] [M.client ? M.client : "No client ([client_key])"] at ([T.x], [T.y], [T.z]) | " // Adds current name
if(isobserver(M))
dat += "Ghost | " else if(isalien(M)) dat += "Alien | " else if(islarva(M)) dat += "Alien larva | " else if(istajaran(M)) dat += "Tajaran | " else if(ishuman(M)) dat += "[M.job] | " else if(ismetroid(M)) dat += "Metroid | " else if(ismonkey(M)) dat += "Monkey | " else if(isAI(M)) dat += "AI | " else if(ispAI(M)) dat += "pAI | " else if(isrobot(M)) dat += "Cyborg | " else if(isanimal(M)) dat += "Animal | " else if(iscorgi(M)) dat += "Corgi | " else if(istype(M,/mob/new_player)) dat += "New Player | " else dat += "\red ERROR | \black" if(M.mind && M.mind.assigned_role && istype(M, /mob/living/carbon/human)) // Adds a column to Player Panel that shows their current job. var/mob/living/carbon/human/H = M if (H.wear_id) var/obj/item/weapon/card/id/id if(istype(H.wear_id, /obj/item/device/pda)) var/obj/item/device/pda/PDA = H.wear_id if(!isnull(PDA.id)) // The PDA may contain no ID id = PDA.id // The ID is contained inside the PDA else id = H.wear_id // The ID was on the ID slot if(!id) // Happens when there's no ID in the PDA located on the wear_id slot dat += "[M.mind.assigned_role] (No ID) | " else if(isnull(id.assignment)) // Preventing runtime errors blocking the player panel if(istype(id, /obj/item/weapon/card/id/syndicate)) dat += "Antagonist | " else usr << "ERROR: Inform the coders that an [id.name] was checked for its assignment variable, and it was null." dat += "ERROR | " else if(M.mind.assigned_role == id.assignment) // Polymorph dat += "[M.mind.assigned_role] | " else dat += "[M.mind.assigned_role] ([id.assignment])" else dat += " | [M.mind.assigned_role] (No ID) | " else dat += "No Assigned Role | " var/muting = "Mute unavailable - no client" if(M.client) muting = {"Mute: [(M.client.muted ? "Muted" : "Voiced")] | Complete mute: [(M.client.muted ? "Completely Muted" : "Voiced")] "} dat += {"[player_has_info(M.ckey) ? "Info" : "N/A"] | PM |
PP |
VV |
TP |
SM |
JMP
[muting] Warn | Boot | Ban | Jobban |
"}
switch(is_special_character(M))
if(0)
dat += {"Traitor? | "} if(1) dat += {"Traitor? | "} if(2) dat += {"Traitor? | "} dat += "
| Name/Real Name | IP/CID | Info | Options | Traitor? | IP: | to this if wanting to add back in IP checkingType | Assigned Job | Traitor? | //add(IP: [M.lastKnownIP]) | if you want to know their ip to the lists below var/list/mobs = get_sorted_mobs() var/i = 1 for(var/mob/M in mobs) if(M.ckey) var/color = "#e6e6e6" i++ if(i%2 == 0) color = "#f2f2f2" var/real = (M.real_name == M.original_name ? "[M.name]/[M.real_name]" : "[M.original_name] (as [M.name]/[M.real_name])") var/turf/T = get_turf(M) var/client_key = (M.key? M.key : "No key") dat += "||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| [real] [M.client ? M.client : "No client ([client_key])"] at ([T.x], [T.y], [T.z]) | " // Adds current name
/* if(isobserver(M))
dat += "Ghost | " else if(isalien(M)) dat += "Alien | " else if(islarva(M)) dat += "Alien larva | " else if(istajaran(M)) dat += "Tajaran | " else if(ishuman(M)) dat += "[M.job] | " else if(ismetroid(M)) dat += "Metroid | " else if(ismonkey(M)) dat += "Monkey | " else if(isAI(M)) dat += "AI | " else if(ispAI(M)) dat += "pAI | " else if(isrobot(M)) dat += "Cyborg | " else if(isanimal(M)) dat += "Animal | " else if(iscorgi(M)) dat += "Corgi | " else if(istype(M,/mob/new_player)) dat += "New Player | " else dat += "\red ERROR | \black" if(M.mind && M.mind.assigned_role && istype(M, /mob/living/carbon/human)) // Adds a column to Player Panel that shows their current job. var/mob/living/carbon/human/H = M if (H.wear_id) var/obj/item/weapon/card/id/id if(istype(H.wear_id, /obj/item/device/pda)) var/obj/item/device/pda/PDA = H.wear_id if(!isnull(PDA.id)) // The PDA may contain no ID id = PDA.id // The ID is contained inside the PDA else id = H.wear_id // The ID was on the ID slot if(!id) // Happens when there's no ID in the PDA located on the wear_id slot dat += "[M.mind.assigned_role] (No ID) | " else if(isnull(id.assignment)) // Preventing runtime errors blocking the player panel if(istype(id, /obj/item/weapon/card/id/syndicate)) dat += "Antagonist | " else usr << "ERROR: Inform the coders that an [id.name] was checked for its assignment variable, and it was null." dat += "ERROR | " else if(M.mind.assigned_role == id.assignment) // Polymorph dat += "[M.mind.assigned_role] | " else dat += "[M.mind.assigned_role] ([id.assignment])" else dat += " | [M.mind.assigned_role] (No ID) | " else dat += "No Assigned Role | " */ dat += {"IP: [M.client ? M.client.address : "Disconnected"] CID: [M.client ? M.client.computer_id : "Disconnected"] |
"}
dat += {"[player_has_info(M.ckey) ? "Info" : "N/A"] | PM | "} switch(is_special_character(M)) if(0) dat += {"Loyal | "} if(1) dat += {"Antag | "} if(2) dat += {"Mode-Antag | "} dat += "
| Name | Real Name | Assigned Job | Key | Options | PM | Traitor? | IP: | to this if wanting to add back in IP checking //add(IP: [M.lastKnownIP]) | if you want to know their ip to the lists below var/list/mobs = get_sorted_mobs() for(var/mob/M in mobs) if(!M.ckey) continue dat += "|||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| [M.name] | " if(isAI(M)) dat += "AI | " else if(isrobot(M)) dat += "Cyborg | " else if(ishuman(M)) dat += "[M.real_name] | " else if(istype(M, /mob/living/silicon/pai)) dat += "pAI | " else if(istype(M, /mob/new_player)) dat += "New Player | " else if(isobserver(M)) dat += "Ghost | " else if(ismonkey(M)) dat += "Monkey | " else if(isalien(M)) dat += "Alien | " else dat += "Unknown | " if(istype(M,/mob/living/carbon/human)) var/mob/living/carbon/human/H = M if(H.mind && H.mind.assigned_role) dat += "[H.mind.assigned_role] | " else dat += "NA | " dat += {"[(M.client ? "[M.client]" : "No client")] | X | PM | "} switch(is_special_character(M)) if(0) dat += {"Traitor? | "} if(1) dat += {"Traitor? | "} if(2) dat += {"Traitor? | "} dat += "
| Syndicates | |
| [M.real_name][M.client ? "" : " (logged out)"][M.stat == 2 ? " (DEAD)" : ""] | " dat += "PM |
| Nuclear Operative not found! |
| Nuclear Disk(s) |
| [N.name], " var/atom/disk_loc = N.loc while(!istype(disk_loc, /turf)) if(istype(disk_loc, /mob)) var/mob/M = disk_loc dat += "carried by [M.real_name] " if(istype(disk_loc, /obj)) var/obj/O = disk_loc dat += "in \a [O.name] " disk_loc = disk_loc.loc dat += "in [disk_loc.loc] at ([disk_loc.x], [disk_loc.y], [disk_loc.z]) |
| Revolutionaries | |
| Head Revolutionary not found! | |
| [M.real_name] (Leader)[M.client ? "" : " (logged out)"][M.stat == 2 ? " (DEAD)" : ""] | " dat += "PM |
| [M.real_name][M.client ? "" : " (logged out)"][M.stat == 2 ? " (DEAD)" : ""] | " dat += "PM |
| Target(s) | Location | |
| [M.real_name][M.client ? "" : " (logged out)"][M.stat == 2 ? " (DEAD)" : ""] | " dat += "PM | " var/turf/mob_loc = get_turf(M) dat += "[mob_loc.loc] |
| Head not found! |
| Changelings | ||
| [M.real_name][M.client ? "" : " (logged out)"][M.stat == 2 ? " (DEAD)" : ""] | " dat += "PM | " dat += "Show Objective |
| Changeling not found! |
| Memes | ||
| [M.key][M.client ? "" : " (logged out)"][M.stat == 2 ? " (DEAD)" : ""] | " dat += "PM | " dat += "Show Objective | Attuned: " for(var/mob/attuned in M.indoctrinated) if(attuned.key) dat += "[attuned.real_name]([attuned.key]) " else dat += "[attuned.real_name] " else dat += " |
| Changeling not found! |
| Wizards | ||
| [M.real_name][M.client ? "" : " (logged out)"][M.stat == 2 ? " (DEAD)" : ""] | " dat += "PM | " dat += "Show Objective |
| Wizard not found! |
| Cultists | |
| [M.real_name][M.client ? "" : " (logged out)"][M.stat == 2 ? " (DEAD)" : ""] | " dat += "PM |
| Traitors | ||
| [M.real_name][M.client ? "" : " (logged out)"][M.stat == 2 ? " (DEAD)" : ""] | " dat += "PM | " dat += "Show Objective |
| Traitor not found! |