diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 9c3b69676e..850cb6d124 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -493,7 +493,7 @@ Turf and target are seperate in case you want to teleport some distance from a t return -M -/proc/key_name(var/whom, var/include_link = null, var/include_name = 1) +/proc/key_name(var/whom, var/include_link = null, var/include_name = 1, var/highlight_special_characters = 1) var/mob/M var/client/C var/key @@ -538,7 +538,8 @@ Turf and target are seperate in case you want to teleport some distance from a t else if(M.name) name = M.name - if(include_link && is_special_character(M)) + + if(include_link && is_special_character(M) && highlight_special_characters) . += "/([name])" //Orange else . += "/([name])" diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index be28f26ab3..d494e52391 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -1099,7 +1099,29 @@ var/global/floorIsLava = 0 if(istype(H)) H.regenerate_icons() -proc/get_options_bar(whom, detail = 2, name = 0, link = 1) + +/* + helper proc to test if someone is a mentor or not. Got tired of writing this same check all over the place. +*/ +/client/verb/check_mentor() + set category = "Admin" + set name = "Test ur shit" + set desc = "This shouldn't be here" + + src << is_mentor() + +/proc/is_mentor(client/C) + + if(!istype(C)) + return 0 + if(!C.holder) + return 0 + + if(C.holder.rights == R_MENTOR) + return 1 + return 0 + +/proc/get_options_bar(whom, detail = 2, name = 0, link = 1) if(!whom) return "(*null*)" var/mob/M @@ -1136,7 +1158,7 @@ proc/get_options_bar(whom, detail = 2, name = 0, link = 1) var/admin_shuttle_location = 0 // 0 = centcom 13, 1 = station -proc/move_admin_shuttle() +/proc/move_admin_shuttle() var/area/fromArea var/area/toArea if (admin_shuttle_location == 1) @@ -1156,7 +1178,7 @@ proc/move_admin_shuttle() var/ferry_location = 0 // 0 = centcom , 1 = station -proc/move_ferry() +/proc/move_ferry() var/area/fromArea var/area/toArea if (ferry_location == 1) @@ -1176,7 +1198,7 @@ proc/move_ferry() var/alien_ship_location = 1 // 0 = base , 1 = mine -proc/move_alien_ship() +/proc/move_alien_ship() var/area/fromArea var/area/toArea if (alien_ship_location == 1) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index b668c3fa33..21a3047ce3 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -360,9 +360,16 @@ var/list/admin_verbs_mentor = list( if(istype(mob,/mob/dead/observer)) //re-enter var/mob/dead/observer/ghost = mob - ghost.can_reenter_corpse = 1 //just in-case. - ghost.reenter_corpse() + if(!is_mentor(usr.client)) + ghost.can_reenter_corpse = 1 + if(ghost.can_reenter_corpse) + ghost.reenter_corpse() + else + ghost << "Error: Aghost: Can't reenter corpse, mentors that use adminHUD while aghosting are not permitted to enter their corpse again" + return + feedback_add_details("admin_verb","P") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + else if(istype(mob,/mob/new_player)) src << "Error: Aghost: Can't admin-ghost whilst in the lobby. Join or Observe first." else diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm index 87ed478705..cbd3b2a047 100644 --- a/code/modules/admin/player_panel.dm +++ b/code/modules/admin/player_panel.dm @@ -322,6 +322,7 @@ /datum/admins/proc/player_panel_old() if (!usr.client.holder) return + var/dat = "
| Name | Real Name | Assigned Job | Key | Options | PM | Traitor? | IP: | to this if wanting to add back in IP checking @@ -364,13 +365,25 @@X | PM | "} - switch(is_special_character(M)) - if(0) - dat += {"Traitor? | "} - if(1) - dat += {"Traitor? | "} - if(2) - dat += {"Traitor? | "} + + + + if(usr.client) + var/client/C = usr.client + if(is_mentor(C)) + dat += {"N/A | "} + else + switch(is_special_character(M)) + if(0) + dat += {"Traitor? | "} + if(1) + dat += {"Traitor? | "} + if(2) + dat += {"Traitor? | "} + else + dat += {"N/A | "} + + dat += "
|---|