Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion code/datums/datumvars.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1466,7 +1466,7 @@
var/log_msg = "[key_name(usr)] dealt [amount] amount of [Text] damage to [key_name(L)]"
message_admins("[key_name(usr)] dealt [amount] amount of [Text] damage to [ADMIN_LOOKUPFLW(L)]")
log_admin(log_msg)
admin_ticket_log(L, "<font color='blue'>[log_msg]</font>")
admin_ticket_log(L, log_msg)
vv_update_display(L, Text, "[newamt]")
else if(href_list["copyoutfit"])
if(!check_rights(R_SPAWN))
Expand Down
59 changes: 59 additions & 0 deletions code/modules/admin/admin.dm
Original file line number Diff line number Diff line change
Expand Up @@ -761,6 +761,9 @@
set desc = "Edit mobs's memory and role"
set name = "Show Traitor Panel"

if(!check_rights(R_ADMIN))
return

if(!istype(M))
to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE)
return
Expand Down Expand Up @@ -979,6 +982,62 @@

return 1

/datum/admins/proc/adminmoreinfo(mob/M)
if(!ismob(M))
to_chat(usr, "This can only be used on instances of type /mob.", confidential=TRUE)
return

var/location_description = ""
var/special_role_description = ""
var/health_description = ""
var/gender_description = ""
var/turf/T = get_turf(M)

//Location
if(isturf(T))
if(isarea(T.loc))
location_description = "([M.loc == T ? "at coordinates " : "in [M.loc] at coordinates "] [T.x], [T.y], [T.z] in area <b>[T.loc]</b>)"
else
location_description = "([M.loc == T ? "at coordinates " : "in [M.loc] at coordinates "] [T.x], [T.y], [T.z])"

//Job + antagonist
if(M.mind)
special_role_description = "Role: <b>[M.mind.assigned_role]</b>; Antagonist: <font color='red'><b>[M.mind.special_role]</b></font>"
else
special_role_description = "Role: <i>Mind datum missing</i> Antagonist: <i>Mind datum missing</i>"

//Health
if(isliving(M))
var/mob/living/L = M
var/status
switch (M.stat)
if(CONSCIOUS)
status = "Alive"
if(SOFT_CRIT)
status = "<font color='orange'><b>Dying</b></font>"
if(UNCONSCIOUS)
status = "<font color='orange'><b>[L.InCritical() ? "Unconscious and Dying" : "Unconscious"]</b></font>"
if(DEAD)
status = "<font color='red'><b>Dead</b></font>"
health_description = "Status = [status]"
health_description += "<BR>Oxy: [L.getOxyLoss()] - Tox: [L.getToxLoss()] - Fire: [L.getFireLoss()] - Brute: [L.getBruteLoss()] - Clone: [L.getCloneLoss()] - Brain: [L.getOrganLoss(ORGAN_SLOT_BRAIN)] - Stamina: [L.getStaminaLoss()]"
else
health_description = "This mob type has no health to speak of."

//Gender
switch(M.gender)
if(MALE,FEMALE)
gender_description = "[M.gender]"
else
gender_description = "<font color='red'><b>[M.gender]</b></font>"

to_chat(src.owner, "<b>Info about [M.name]:</b> ", confidential=TRUE)
to_chat(src.owner, "Mob type = [M.type]; Gender = [gender_description] Damage = [health_description]", confidential=TRUE)
to_chat(src.owner, "Name = <b>[M.name]</b>; Real_name = [M.real_name]; Mind_name = [M.mind?"[M.mind.name]":""]; Key = <b>[M.key]</b>;", confidential=TRUE)
to_chat(src.owner, "Location = [location_description];", confidential=TRUE)
to_chat(src.owner, "[special_role_description]", confidential=TRUE)
to_chat(src.owner, ADMIN_FULLMONTY_NONAME(M), confidential=TRUE)

/client/proc/adminGreet(logout)
if(SSticker.HasRoundStarted())
var/string
Expand Down
2 changes: 1 addition & 1 deletion code/modules/admin/admin_verbs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -393,7 +393,7 @@ GLOBAL_PROTECT(admin_verbs_hideable)
/client/proc/check_antagonists()
set name = "Check Antagonists"
set category = "Admin"
if(holder)
if(check_rights(R_ADMIN))
// yogs start
log_admin("[key_name(usr)] checked antagonists.") //for tsar~
if((!isobserver(usr) && SSticker.HasRoundStarted()) || !check_rights(R_VAREDIT))
Expand Down
57 changes: 1 addition & 56 deletions code/modules/admin/topic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1285,60 +1285,7 @@

else if(href_list["adminmoreinfo"])
var/mob/M = locate(href_list["adminmoreinfo"]) in GLOB.mob_list
if(!ismob(M))
to_chat(usr, "This can only be used on instances of type /mob.", confidential=TRUE)
return

var/location_description = ""
var/special_role_description = ""
var/health_description = ""
var/gender_description = ""
var/turf/T = get_turf(M)

//Location
if(isturf(T))
if(isarea(T.loc))
location_description = "([M.loc == T ? "at coordinates " : "in [M.loc] at coordinates "] [T.x], [T.y], [T.z] in area <b>[T.loc]</b>)"
else
location_description = "([M.loc == T ? "at coordinates " : "in [M.loc] at coordinates "] [T.x], [T.y], [T.z])"

//Job + antagonist
if(M.mind)
special_role_description = "Role: <b>[M.mind.assigned_role]</b>; Antagonist: <font color='red'><b>[M.mind.special_role]</b></font>"
else
special_role_description = "Role: <i>Mind datum missing</i> Antagonist: <i>Mind datum missing</i>"

//Health
if(isliving(M))
var/mob/living/L = M
var/status
switch (M.stat)
if(CONSCIOUS)
status = "Alive"
if(SOFT_CRIT)
status = "<font color='orange'><b>Dying</b></font>"
if(UNCONSCIOUS)
status = "<font color='orange'><b>[L.InCritical() ? "Unconscious and Dying" : "Unconscious"]</b></font>"
if(DEAD)
status = "<font color='red'><b>Dead</b></font>"
health_description = "Status = [status]"
health_description += "<BR>Oxy: [L.getOxyLoss()] - Tox: [L.getToxLoss()] - Fire: [L.getFireLoss()] - Brute: [L.getBruteLoss()] - Clone: [L.getCloneLoss()] - Brain: [L.getOrganLoss(ORGAN_SLOT_BRAIN)] - Stamina: [L.getStaminaLoss()]"
else
health_description = "This mob type has no health to speak of."

//Gender
switch(M.gender)
if(MALE,FEMALE)
gender_description = "[M.gender]"
else
gender_description = "<font color='red'><b>[M.gender]</b></font>"

to_chat(src.owner, "<b>Info about [M.name]:</b> ", confidential=TRUE)
to_chat(src.owner, "Mob type = [M.type]; Gender = [gender_description] Damage = [health_description]", confidential=TRUE)
to_chat(src.owner, "Name = <b>[M.name]</b>; Real_name = [M.real_name]; Mind_name = [M.mind?"[M.mind.name]":""]; Key = <b>[M.key]</b>;", confidential=TRUE)
to_chat(src.owner, "Location = [location_description];", confidential=TRUE)
to_chat(src.owner, "[special_role_description]", confidential=TRUE)
to_chat(src.owner, ADMIN_FULLMONTY_NONAME(M), confidential=TRUE)
adminmoreinfo(M)

else if(href_list["addjobslot"])
if(!check_rights(R_ADMIN))
Expand Down Expand Up @@ -1966,8 +1913,6 @@
src.access_news_network()

else if(href_list["check_antagonist"])
if(!check_rights(R_ADMIN))
return
usr.client.check_antagonists()

else if(href_list["kick_all_from_lobby"])
Expand Down
Loading