mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 12:41:09 +01:00
Administrator Cherrypick (#27405)
* Admin Verb Datums MkIII | Now with functional command bar (#82511) * Modular stuffs * Put some admin jump verbs back into the context menu | sorts area jump list again (#82647) ## About The Pull Request See title. ## Why It's Good For The Game Some admins wanted all the jump verbs back, aswell as making them not AGhost you. Also make the Jump To Area verb use a sorted list again * Hey what if admins were allowed to use the player panel (#82682) Re-adds the player panel verb to the verb panel. * Controller Overview UI (#82739) * Fixes a minor spelling mistake on the admin panel/verb list (#82747) ## About The Pull Request Corrects `inisimin` to `invisimin`. This addresses #82728, but only fixes one of the two issues mentioned ## Why It's Good For The Game -1 spelling mistake ## Changelog 🆑 spellcheck: 'inisimin' verb corrected to 'invisimin' /🆑 * Player Panel-age (#82757) * Admin Forced Mob Rename and Preference Update (#82715) --------- Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com> Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com> Co-authored-by: chel <64568243+iliyaxox@users.noreply.github.com>
This commit is contained in:
co-authored by
Zephyr
Useroth
chel
parent
8ecd4bf5b1
commit
a9ff046352
@@ -157,6 +157,15 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
|
||||
to_chat(src, "Become a BYOND member to access member-perks and features, as well as support the engine that makes this game possible. Only 10 bucks for 3 months! <a href=\"https://secure.byond.com/membership\">Click Here to find out more</a>.")
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/client/proc/is_localhost()
|
||||
var/static/localhost_addresses = list(
|
||||
"127.0.0.1",
|
||||
"::1",
|
||||
null,
|
||||
)
|
||||
return address in localhost_addresses
|
||||
|
||||
/*
|
||||
* Call back proc that should be checked in all paths where a client can send messages
|
||||
*
|
||||
@@ -254,32 +263,6 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
|
||||
GLOB.ahelp_tickets.ClientLogin(src)
|
||||
GLOB.interviews.client_login(src)
|
||||
GLOB.requests.client_login(src)
|
||||
var/connecting_admin = FALSE //because de-admined admins connecting should be treated like admins.
|
||||
//Admin Authorisation
|
||||
var/datum/admins/admin_datum = GLOB.admin_datums[ckey]
|
||||
if (!isnull(admin_datum))
|
||||
admin_datum.associate(src)
|
||||
connecting_admin = TRUE
|
||||
else if(GLOB.deadmins[ckey])
|
||||
add_verb(src, /client/proc/readmin)
|
||||
connecting_admin = TRUE
|
||||
//SKYRAT EDIT ADDITION //We will check the population here, because we need to know if the client is an admin or not.
|
||||
if(!check_population(connecting_admin))
|
||||
qdel(src)
|
||||
return
|
||||
// SKYRAT EDIT END
|
||||
if(CONFIG_GET(flag/autoadmin))
|
||||
if(!GLOB.admin_datums[ckey])
|
||||
var/list/autoadmin_ranks = ranks_from_rank_name(CONFIG_GET(string/autoadmin_rank))
|
||||
if (autoadmin_ranks.len == 0)
|
||||
to_chat(world, "Autoadmin rank not found")
|
||||
else
|
||||
new /datum/admins(autoadmin_ranks, ckey)
|
||||
if(CONFIG_GET(flag/enable_localhost_rank) && !connecting_admin)
|
||||
var/localhost_addresses = list("127.0.0.1", "::1")
|
||||
if(isnull(address) || (address in localhost_addresses))
|
||||
var/datum/admin_rank/localhost_rank = new("!localhost!", R_EVERYTHING, R_DBRANKS, R_EVERYTHING) //+EVERYTHING -DBRANKS *EVERYTHING
|
||||
new /datum/admins(list(localhost_rank), ckey, 1, 1)
|
||||
//preferences datum - also holds some persistent data for the client (because we may as well keep these datums to a minimum)
|
||||
prefs = GLOB.preferences_datums[ckey]
|
||||
if(prefs)
|
||||
@@ -352,6 +335,34 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
|
||||
|
||||
|
||||
. = ..() //calls mob.Login()
|
||||
|
||||
// Admin Verbs need the client's mob to exist. Must be after ..()
|
||||
var/connecting_admin = FALSE //because de-admined admins connecting should be treated like admins.
|
||||
//Admin Authorisation
|
||||
var/datum/admins/admin_datum = GLOB.admin_datums[ckey]
|
||||
if (!isnull(admin_datum))
|
||||
admin_datum.associate(src)
|
||||
connecting_admin = TRUE
|
||||
else if(GLOB.deadmins[ckey])
|
||||
add_verb(src, /client/proc/readmin)
|
||||
connecting_admin = TRUE
|
||||
//SKYRAT EDIT ADDITION //We will check the population here, because we need to know if the client is an admin or not.
|
||||
if(!check_population(connecting_admin))
|
||||
qdel(src)
|
||||
return
|
||||
// SKYRAT EDIT END
|
||||
if(CONFIG_GET(flag/autoadmin))
|
||||
if(!GLOB.admin_datums[ckey])
|
||||
var/list/autoadmin_ranks = ranks_from_rank_name(CONFIG_GET(string/autoadmin_rank))
|
||||
if (autoadmin_ranks.len == 0)
|
||||
to_chat(world, "Autoadmin rank not found")
|
||||
else
|
||||
new /datum/admins(autoadmin_ranks, ckey)
|
||||
|
||||
if(CONFIG_GET(flag/enable_localhost_rank) && !connecting_admin && is_localhost())
|
||||
var/datum/admin_rank/localhost_rank = new("!localhost!", R_EVERYTHING, R_DBRANKS, R_EVERYTHING) //+EVERYTHING -DBRANKS *EVERYTHING
|
||||
new /datum/admins(list(localhost_rank), ckey, 1, 1)
|
||||
|
||||
if (length(GLOB.stickybanadminexemptions))
|
||||
GLOB.stickybanadminexemptions -= ckey
|
||||
if (!length(GLOB.stickybanadminexemptions))
|
||||
@@ -1197,7 +1208,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
|
||||
return 0
|
||||
|
||||
if(!isnum(player_age) || player_age < 0)
|
||||
return 0
|
||||
return 0
|
||||
|
||||
if(!isnum(days_needed))
|
||||
return 0
|
||||
@@ -1207,13 +1218,10 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
|
||||
/// Attempts to make the client orbit the given object, for administrative purposes.
|
||||
/// If they are not an observer, will try to aghost them.
|
||||
/client/proc/admin_follow(atom/movable/target)
|
||||
var/can_ghost = TRUE
|
||||
|
||||
if (!isobserver(mob))
|
||||
can_ghost = admin_ghost()
|
||||
|
||||
if(!can_ghost)
|
||||
return FALSE
|
||||
if(!isobserver(mob))
|
||||
SSadmin_verbs.dynamic_invoke_verb(src, /datum/admin_verb/admin_ghost)
|
||||
if(!isobserver(mob))
|
||||
return
|
||||
|
||||
var/mob/dead/observer/observer = mob
|
||||
observer.ManualFollow(target)
|
||||
|
||||
@@ -144,33 +144,28 @@ GLOBAL_VAR_INIT(normal_ooc_colour, "#002eb8")
|
||||
set category = "Server"
|
||||
if(IsAdminAdvancedProcCall())
|
||||
return
|
||||
var/newColor = input(src, "Please select the new player OOC color.", "OOC color") as color|null
|
||||
|
||||
ADMIN_VERB(set_ooc_color, R_FUN, "Set Player OOC Color", "Modifies the global OOC color.", ADMIN_CATEGORY_SERVER)
|
||||
var/newColor = input(user, "Please select the new player OOC color.", "OOC color") as color|null
|
||||
if(isnull(newColor))
|
||||
return
|
||||
if(!check_rights(R_FUN))
|
||||
message_admins("[usr.key] has attempted to use the Set Player OOC Color verb!")
|
||||
log_admin("[key_name(usr)] tried to set player ooc color without authorization.")
|
||||
return
|
||||
var/new_color = sanitize_color(newColor)
|
||||
message_admins("[key_name_admin(usr)] has set the players' ooc color to [new_color].")
|
||||
log_admin("[key_name_admin(usr)] has set the player ooc color to [new_color].")
|
||||
message_admins("[key_name_admin(user)] has set the players' ooc color to [new_color].")
|
||||
log_admin("[key_name_admin(user)] has set the player ooc color to [new_color].")
|
||||
GLOB.OOC_COLOR = new_color
|
||||
|
||||
|
||||
/client/proc/reset_ooc()
|
||||
set name = "Reset Player OOC Color"
|
||||
set desc = "Returns player OOC Color to default"
|
||||
set category = "Server"
|
||||
if(IsAdminAdvancedProcCall())
|
||||
return
|
||||
if(tgui_alert(usr, "Are you sure you want to reset the OOC color of all players?", "Reset Player OOC Color", list("Yes", "No")) != "Yes")
|
||||
|
||||
ADMIN_VERB(reset_ooc_color, R_FUN, "Reset Player OOC Color", "Returns player OOC color to default.", ADMIN_CATEGORY_SERVER)
|
||||
if(tgui_alert(user, "Are you sure you want to reset the OOC color of all players?", "Reset Player OOC Color", list("Yes", "No")) != "Yes")
|
||||
return
|
||||
if(!check_rights(R_FUN))
|
||||
message_admins("[usr.key] has attempted to use the Reset Player OOC Color verb!")
|
||||
log_admin("[key_name(usr)] tried to reset player ooc color without authorization.")
|
||||
return
|
||||
message_admins("[key_name_admin(usr)] has reset the players' ooc color.")
|
||||
log_admin("[key_name_admin(usr)] has reset player ooc color.")
|
||||
message_admins("[key_name_admin(user)] has reset the players' ooc color.")
|
||||
log_admin("[key_name_admin(user)] has reset player ooc color.")
|
||||
GLOB.OOC_COLOR = null
|
||||
|
||||
//Checks admin notice
|
||||
|
||||
Reference in New Issue
Block a user