Merge branch 'master' into protRig

This commit is contained in:
Kashargul
2024-11-12 20:35:51 +01:00
committed by GitHub
438 changed files with 7322 additions and 4529 deletions
+5
View File
@@ -106,6 +106,11 @@
var/last_asset_job = 0
var/last_completed_asset_job = 0
///Last ping of the client
var/lastping = 0
///Average ping of the client
var/avgping = 0
///world.time they connected
var/connection_time
///world.realtime they connected
+6 -6
View File
@@ -512,13 +512,13 @@
/client/verb/character_setup()
set name = "Character Setup"
set category = "Preferences"
set category = "Preferences.Character"
if(prefs)
prefs.ShowChoices(usr)
/client/verb/game_options()
set name = "Game Options"
set category = "Preferences"
set category = "Preferences.Game"
if(prefs)
prefs.tgui_interact(usr)
@@ -620,7 +620,7 @@
/client/verb/toggle_fullscreen()
set name = "Toggle Fullscreen"
set category = "OOC"
set category = "OOC.Client Settings"
fullscreen = !fullscreen
@@ -641,7 +641,7 @@
/client/verb/toggle_verb_panel()
set name = "Toggle Verbs"
set category = "OOC"
set category = "OOC.Client Settings"
show_verb_panel = !show_verb_panel
@@ -650,7 +650,7 @@
/*
/client/verb/toggle_status_bar()
set name = "Toggle Status Bar"
set category = "OOC"
set category = "OOC.Client Settings"
show_status_bar = !show_status_bar
@@ -662,7 +662,7 @@
/client/verb/show_active_playtime()
set name = "Active Playtime"
set category = "IC"
set category = "OOC.Game"
if(!play_hours.len)
to_chat(src, span_warning("Persistent playtime disabled!"))
+2 -3
View File
@@ -5,11 +5,10 @@
/client/verb/spinleft()
set name = "Spin View CCW"
set category = "OOC"
set category = "OOC.Game"
dir = turn(dir, 90)
/client/verb/spinright()
set name = "Spin View CW"
set category = "OOC"
set category = "OOC.Game"
dir = turn(dir, -90)
@@ -11,6 +11,7 @@
pref.all_underwear_metadata = check_list_copy(save_data["all_underwear_metadata"])
for(var/i in pref.all_underwear_metadata)
pref.all_underwear_metadata[i] = path2text_list(pref.all_underwear_metadata[i])
pref.headset = save_data["headset"]
pref.backbag = save_data["backbag"]
pref.pdachoice = save_data["pdachoice"]
pref.communicator_visibility = save_data["communicator_visibility"]
@@ -23,6 +24,7 @@
for(var/i in pref.all_underwear_metadata)
underwear[i] = check_list_copy(pref.all_underwear_metadata[i])
save_data["all_underwear_metadata"] = underwear
save_data["headset"] = pref.headset
save_data["backbag"] = pref.backbag
save_data["pdachoice"] = pref.pdachoice
save_data["communicator_visibility"] = pref.communicator_visibility
@@ -72,6 +74,10 @@ var/global/list/valid_ringtones = list(
pref.all_underwear -= underwear_category_name
// TODO - Looks like this is duplicating the work of sanitize_character() if so, remove
if(pref.headset > GLOB.headsetlist.len || pref.headset < 1)
pref.headset = 1 //Same as above
character.headset = pref.headset
if(pref.backbag > backbaglist.len || pref.backbag < 1)
pref.backbag = 2 //Same as above
character.backbag = pref.backbag
@@ -107,6 +113,7 @@ var/global/list/valid_ringtones = list(
for(var/underwear_metadata in pref.all_underwear_metadata)
if(!(underwear_metadata in pref.all_underwear))
pref.all_underwear_metadata -= underwear_metadata
pref.headset = sanitize_integer(pref.headset, 1, GLOB.headsetlist.len, initial(pref.headset))
pref.backbag = sanitize_integer(pref.backbag, 1, backbaglist.len, initial(pref.backbag))
pref.pdachoice = sanitize_integer(pref.pdachoice, 1, pdachoicelist.len, initial(pref.pdachoice))
pref.ringtone = sanitize(pref.ringtone, 20)
@@ -123,6 +130,7 @@ var/global/list/valid_ringtones = list(
. += " <a href='?src=\ref[src];underwear=[UWC.name];tweak=\ref[gt]'>[gt.get_contents(get_metadata(UWC.name, gt))]</a>"
. += "<br>"
. += "Headset Type: <a href='?src=\ref[src];change_headset=1'><b>[GLOB.headsetlist[pref.headset]]</b></a><br>"
. += "Backpack Type: <a href='?src=\ref[src];change_backpack=1'><b>[backbaglist[pref.backbag]]</b></a><br>"
. += "PDA Type: <a href='?src=\ref[src];change_pda=1'><b>[pdachoicelist[pref.pdachoice]]</b></a><br>"
. += "Communicator Visibility: <a href='?src=\ref[src];toggle_comm_visibility=1'><b>[(pref.communicator_visibility) ? "Yes" : "No"]</b></a><br>"
@@ -149,6 +157,12 @@ var/global/list/valid_ringtones = list(
/datum/category_item/player_setup_item/general/equipment/OnTopic(var/href,var/list/href_list, var/mob/user)
if(href_list["change_headset"])
var/new_headset = tgui_input_list(user, "Choose your character's style of headset:", "Character Preference", GLOB.headsetlist, GLOB.headsetlist[pref.headset])
if(!isnull(new_headset) && CanUseTopic(user))
pref.headset = GLOB.headsetlist.Find(new_headset)
return TOPIC_REFRESH_UPDATE_PREVIEW
if(href_list["change_backpack"])
var/new_backbag = tgui_input_list(user, "Choose your character's style of bag:", "Character Preference", backbaglist, backbaglist[pref.backbag])
if(!isnull(new_backbag) && CanUseTopic(user))
@@ -97,7 +97,7 @@
/client/verb/volume_panel()
set name = "Volume Panel"
set category = "Preferences"
set category = "Preferences.Sounds"
set desc = "Allows you to adjust volume levels on the fly."
if(!volume_panel)
+1
View File
@@ -47,6 +47,7 @@ var/list/preferences_datums = list()
var/spawnpoint = "Arrivals Shuttle" //where this character will spawn (0-2).
var/b_type = "A+" //blood type (not-chooseable)
var/blood_reagents = "default" //blood restoration reagents
var/headset = 1 //headset type
var/backbag = 2 //backpack type
var/pdachoice = 1 //PDA type
var/shoe_hater = FALSE //RS ADD - if true, will spawn with no shoes
@@ -1,7 +1,7 @@
//Toggles for preferences, normal clients
/client/verb/toggle_be_special(role in be_special_flags)
set name = "Toggle Special Role Candidacy"
set category = "Preferences"
set category = "Preferences.Character"
set desc = "Toggles which special roles you would like to be a candidate for, during events."
var/role_flag = be_special_flags[role]
@@ -16,7 +16,7 @@
/client/verb/toggle_chat_timestamps()
set name = "Toggle Chat Timestamps"
set category = "Preferences"
set category = "Preferences.Chat"
set desc = "Toggles whether or not messages in chat will display timestamps. Enabling this will not add timestamps to messages that have already been sent."
prefs.chat_timestamp = !prefs.chat_timestamp //There is no preference datum for tgui input lock, nor for any TGUI prefs.
@@ -27,7 +27,7 @@
// Not attached to a pref datum because those are strict binary toggles
/client/verb/toggle_examine_mode()
set name = "Toggle Examine Mode"
set category = "Preferences"
set category = "Preferences.Game"
set desc = "Toggle the additional behaviour of examining things."
prefs.examine_text_mode++
@@ -44,7 +44,7 @@
/client/verb/toggle_multilingual_mode()
set name = "Toggle Multilingual Mode"
set category = "Preferences"
set category = "Preferences.Character"
set desc = "Toggle the behaviour of multilingual speech parsing."
prefs.multilingual_mode++
+1 -1
View File
@@ -16,7 +16,7 @@
//Why weren't these in game toggles already?
/client/verb/toggle_capture_crystal()
set name = "Toggle Catchable"
set category = "Preferences"
set category = "Preferences.Character"
set desc = "Toggles being catchable with capture crystals."
var/mob/living/L = mob
+1 -1
View File
@@ -37,7 +37,7 @@ var/global/list/all_tooltip_styles = list(
/client/verb/change_ui()
set name = "Change UI"
set category = "Preferences"
set category = "Preferences.Game"
set desc = "Configure your user interface"
if(!ishuman(usr))
+1 -1
View File
@@ -1,7 +1,7 @@
/client/verb/who_advanced()
set name = "Advanced Who"
set category = "OOC"
set category = "OOC.Resources"
var/msg = span_bold("Current Players:") + "\n"
@@ -2,7 +2,7 @@ GLOBAL_DATUM(character_directory, /datum/character_directory)
/client/verb/show_character_directory()
set name = "Character Directory"
set category = "OOC"
set category = "OOC.Game"
set desc = "Shows a listing of all active characters, along with their associated OOC notes, flavor text, and more."
// This is primarily to stop malicious users from trying to lag the server by spamming this verb
+2 -2
View File
@@ -1,6 +1,6 @@
/client/verb/ignore(key_to_ignore as text)
set name = "Ignore"
set category = "OOC"
set category = "OOC.Chat Settings"
set desc = "Makes OOC and Deadchat messages from a specific player not appear to you."
if(!key_to_ignore)
@@ -20,7 +20,7 @@
/client/verb/unignore()
set name = "Unignore"
set category = "OOC"
set category = "OOC.Chat Settings"
set desc = "Reverts your ignoring of a specific player."
if(!prefs)
+3 -3
View File
@@ -1,7 +1,7 @@
/client/verb/ooc(msg as text)
set name = "OOC"
set category = "OOC"
set category = "OOC.Chat"
if(say_disabled) //This is here to try to identify lag problems
to_chat(usr, span_warning("Speech is currently admin-disabled."))
@@ -84,7 +84,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 = "OOC.Chat"
if(say_disabled) //This is here to try to identify lag problems
to_chat(usr, span_danger("Speech is currently admin-disabled."))
@@ -198,7 +198,7 @@
/client/verb/fit_viewport()
set name = "Fit Viewport"
set category = "OOC"
set category = "OOC.Client Settings"
set desc = "Fit the width of the map window to match the viewport"
// Fetch aspect ratio
+14 -3
View File
@@ -1,5 +1,16 @@
/client/verb/update_ping(time as num)
set instant = TRUE
set name = ".update_ping"
var/ping = pingfromtime(time)
lastping = ping
if (!avgping)
avgping = ping
else
avgping = MC_AVERAGE_SLOW(avgping, ping)
/client/proc/pingfromtime(time)
return ((world.time+world.tick_lag*world.tick_usage/100)-time)*100
return ((world.time+world.tick_lag*TICK_USAGE_REAL/100)-time)*100
/client/verb/display_ping(time as num)
set instant = TRUE
@@ -8,5 +19,5 @@
/client/verb/ping()
set name = "Ping"
set category = "OOC"
winset(src, null, "command=.display_ping+[world.time+world.tick_lag*world.tick_usage/100]")
set category = "OOC.Debug"
winset(src, null, "command=.display_ping+[world.time+world.tick_lag*TICK_USAGE_REAL/100]")
+1 -1
View File
@@ -80,7 +80,7 @@
/*
/mob/living/silicon/pai/verb/suicide()
set category = "pAI Commands"
set category = "Abilities.pAI Commands"
set desc = "Kill yourself and become a ghost (You will receive a confirmation prompt)"
set name = "pAI Suicide"
var/answer = tgui_alert(usr, "REALLY kill yourself? This action can't be undone.", "Suicide", list("Yes","No"))
+1 -1
View File
@@ -1,6 +1,6 @@
/client/verb/who()
set name = "Who"
set category = "OOC"
set category = "OOC.Resources"
var/msg = span_bold("Current Players:") + "\n"