reworks game preferences (characters v2 staging) (#6310)

Co-authored-by: silicons <no@you.cat>
Co-authored-by: LordME <58342752+TheLordME@users.noreply.github.com>
This commit is contained in:
silicons
2024-04-08 12:44:30 +02:00
committed by GitHub
co-authored by silicons LordME
parent 9f1b911556
commit 39bc14bb4a
427 changed files with 3981 additions and 2842 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
/client/verb/show_station_minimap()
set category = "OOC"
set category = VERB_CATEGORY_OOC
set name = "Show Station Minimap"
set desc = "Shows a minimap of the currently loaded station map."
+27 -11
View File
@@ -1,6 +1,20 @@
// todo: most of the things in here should probably be re-thought category wise;
// verticality for one is more graphics/visuals
// but isn't a preference because it's something you need to actively see at some times but not others..
/client/verb/toggle_verticality_visibility()
set name = "Toggle Verticality Plane"
set desc = "Toggle if you see ceiling overlays and similar."
set category = VERB_CATEGORY_OOC
var/atom/movable/screen/plane_master/plane = global_planes.by_plane_type(/atom/movable/screen/plane_master/verticality)
plane.alpha = plane.alpha == 255? 0 : 255
to_chat(src, SPAN_NOTICE("You now [plane.alpha == 255? "see" : "no longer see"] verticality overlays."))
/client/verb/motd()
set name = "MOTD"
set category = "OOC"
set category = VERB_CATEGORY_OOC
set desc ="Check the Message of the Day"
var/motd = config.motd
@@ -45,7 +59,7 @@
/client/verb/ooc(msg as text)
set name = "OOC" //Gave this shit a shorter name so you only have to time out "ooc" rather than "ooc message" to use it --NeoFite
set category = "OOC"
set category = VERB_CATEGORY_OOC
if(!reject_on_initialization_block())
return
@@ -56,7 +70,7 @@
to_chat(src, "Guests may not use OOC.")
return
if(!is_preference_enabled(/datum/client_preference/show_ooc))
if(!get_preference_toggle(/datum/game_preference_toggle/chat/ooc))
to_chat(src, "<span class='warning'>You have OOC muted.</span>")
return
@@ -103,7 +117,7 @@
return
if(!is_preference_enabled(/datum/client_preference/show_ooc))
if(!get_preference_toggle(/datum/game_preference_toggle/chat/ooc))
to_chat(src, "<span class='warning'>You have OOC muted.</span>")
return
@@ -126,11 +140,13 @@
if(holder.rights & R_ADMIN)
ooc_style = "admin"
var/effective_color = holder && preferences.get_entry(/datum/game_preference_entry/simple_color/admin_ooc_color)
for(var/client/target in GLOB.clients)
if(!target.initialized)
continue
if(target.is_preference_enabled(/datum/client_preference/show_ooc))
if(target.get_preference_toggle(/datum/game_preference_toggle/chat/ooc))
if(target.is_key_ignored(key)) // If we're ignored by this person, then do nothing.
continue
var/display_name = src.key
@@ -140,8 +156,8 @@
display_name = "[holder.fakekey]/([src.key])"
else
display_name = holder.fakekey
if(holder && !holder.fakekey && (holder.rights & R_ADMIN) && CONFIG_GET(flag/allow_admin_ooccolor)) // keeping this for the badmins
to_chat(target, "<span class='prefix [ooc_style]'><span class='ooc'><font color='[prefs.ooccolor]'>" + "OOC: " + "<EM>[display_name]: </EM><span class='linkify'>[msg]</span></span></span></font>")
if(effective_color) // keeping this for the badmins
to_chat(target, "<span class='prefix [ooc_style]'><span class='ooc'><font color='[effective_color]'>" + "OOC: " + "<EM>[display_name]: </EM><span class='linkify'>[msg]</span></span></span></font>")
else
to_chat(target, "<span class='ooc'><span class='[ooc_style]'><span class='message'>OOC: <EM>[display_name]: </EM><span class='linkify'>[msg]</span></span></span></span>")
@@ -153,7 +169,7 @@
/client/verb/looc(msg as text)
set name = "LOOC"
set desc = "Local OOC, seen only by those in view."
set category = "OOC"
set category = VERB_CATEGORY_OOC
if(!reject_on_initialization_block())
return
@@ -175,7 +191,7 @@
if(!msg)
return
if(!is_preference_enabled(/datum/client_preference/show_looc))
if(!get_preference_toggle(/datum/game_preference_toggle/chat/looc))
to_chat(src, "<span class='danger'>You have LOOC muted.</span>")
return
@@ -221,7 +237,7 @@
// Everyone in normal viewing range of the LOOC
for(var/mob/viewer in m_viewers)
if(viewer.client && viewer.client.is_preference_enabled(/datum/client_preference/show_looc))
if(viewer.client && viewer.client.get_preference_toggle(/datum/game_preference_toggle/chat/looc))
receivers |= viewer.client
else if(istype(viewer,/mob/observer/eye)) // For AI eyes and the like
var/mob/observer/eye/E = viewer
@@ -230,7 +246,7 @@
// Admins with RLOOC displayed who weren't already in
for(var/client/admin in GLOB.admins)
if(!(admin in receivers) && admin.is_preference_enabled(/datum/client_preference/holder/show_rlooc))
if(!(admin in receivers) && admin.get_preference_toggle(/datum/game_preference_toggle/admin/global_looc))
r_receivers |= admin
msg = emoji_parse(msg)
@@ -1,34 +0,0 @@
/client/verb/bunker_auto_authorize()
set name = "Auto Authorize Panic Bunker"
set desc = "Authorizes your account in the panic bunker of any servers connected to this function."
set category = "OOC"
world.send_cross_server_bunker_overrides(key, src)
/world/proc/send_cross_server_bunker_overrides(key, client/C)
var/comms_key = CONFIG_GET(string/comms_key)
if(!comms_key)
return
var/list/message = list()
message["ckey"] = key
message["source"] = "[CONFIG_GET(string/cross_comms_name)]"
message["key"] = comms_key
message["auto_bunker_override"] = TRUE
var/list/servers = CONFIG_GET(keyed_list/cross_server_bunker_override)
if(!length(servers))
to_chat(C, "<span class='boldwarning'>AUTOBUNKER: No servers are configured to receive from this one.</span>")
return
var/logtext = "[key] ([key_name(C)]) has initiated an autobunker authentication with linked servers."
message_admins(logtext)
log_admin(logtext)
for(var/name in servers)
var/returned = world.Export("[servers[name]]?[list2params(message)]")
switch(returned)
if("Bad Key")
to_chat(C, "<span class='boldwarning'>AUTOBuNKER: [name] failed to authenticate with this server.</span>")
if("Function Disabled")
to_chat(C, "<span class='boldwarning'>AUTOBUNKER: [name] has autobunker receive disabled.</span>")
if("Success")
to_chat(C, "<span class='boldwarning'>AUTOBUNKER: Successfully authenticated with [name]. Panic bunker bypass granted to [key].</span>.")
else
to_chat(C, "<span class='boldwarning'>AUTOBUNKER: Unknown error ([name]).</span>")
-11
View File
@@ -1,11 +0,0 @@
/client/verb/character_setup()
set name = "Character Setup"
set category = "Preferences"
prefs?.ShowChoices(usr)
/client/verb/preferences()
set name = "Game Options"
set category = "Preferences"
prefs?.ShowChoices(usr)
@@ -1,3 +1,28 @@
//? Setup Panels
/client/verb/character_setup()
set name = "Character Setup"
set category = VERB_CATEGORY_SYSTEM
prefs?.ShowChoices(usr)
/client/verb/preferences()
set name = "Game Preferences"
set category = VERB_CATEGORY_SYSTEM
preferences.ui_interact(mob)
//? Sound Management
/client/verb/stop_client_sounds()
set name = "Stop Sounds"
set category = VERB_CATEGORY_SYSTEM
set desc = "Stop Current Sounds"
usr << sound(null)
usr.client?.tgui_panel?.stop_music()
//? Ping System
/client/verb/update_ping(time as num)
set instant = TRUE
set name = ".update_ping"
@@ -18,5 +43,5 @@
/client/verb/ping()
set name = "Ping"
set category = "OOC"
set category = VERB_CATEGORY_SYSTEM
winset(src, null, "command=.display_ping+[world.time+world.tick_lag*TICK_USAGE_REAL/100]")
+1 -7
View File
@@ -1,7 +1 @@
/client/verb/toggle_verticality_visibility()
set name = "Toggle Verticality Plane"
set desc = "Toggle if you see ceiling overlays and similar."
var/atom/movable/screen/plane_master/plane = global_planes.by_plane_type(/atom/movable/screen/plane_master/verticality)
plane.alpha = plane.alpha == 255? 0 : 255
to_chat(src, SPAN_NOTICE("You now [plane.alpha == 255? "see" : "no longer see"] verticality overlays."))
// this section left intentionally blank for now