Merge branch 'master' into protRig

This commit is contained in:
Kashargul
2024-11-28 15:57:44 +01:00
committed by GitHub
337 changed files with 2617 additions and 3422 deletions
+15 -1
View File
@@ -143,7 +143,21 @@
if("openLink")
src << link(href_list["link"])
..() //redirect to hsrc.Topic()
if (hsrc)
var/datum/real_src = hsrc
if(QDELETED(real_src))
return
//fun fact: Topic() acts like a verb and is executed at the end of the tick like other verbs. So we have to queue it if the server is
//overloaded
if(hsrc && hsrc != holder && DEFAULT_TRY_QUEUE_VERB(VERB_CALLBACK(src, PROC_REF(_Topic), hsrc, href, href_list)))
return
..() //redirect to hsrc.Topic()
///dumb workaround because byond doesnt seem to recognize the Topic() typepath for /datum/proc/Topic() from the client Topic,
///so we cant queue it without this
/client/proc/_Topic(datum/hsrc, href, list/href_list)
return hsrc.Topic(href, href_list)
//This stops files larger than UPLOAD_LIMIT being sent from client to server via input(), client.Import() etc.
/client/AllowUpload(filename, filelength)
@@ -40,7 +40,7 @@
var/channel = href_list["change_volume"]
if(!(channel in pref.volume_channels))
pref.volume_channels["[channel]"] = 1
var/value = tgui_input_number(usr, "Choose your volume for [channel] (0-200%)", "[channel] volume", (pref.volume_channels[channel] * 100), 200, 0)
var/value = tgui_input_number(user, "Choose your volume for [channel] (0-200%)", "[channel] volume", (pref.volume_channels[channel] * 100), 200, 0)
if(isnum(value))
value = CLAMP(value, 0, 200)
pref.volume_channels["[channel]"] = (value / 100)
@@ -79,14 +79,14 @@
data["volume_channels"] = user.client.prefs.volume_channels
return data
/datum/volume_panel/tgui_act(action, params)
/datum/volume_panel/tgui_act(action, params, datum/tgui/ui)
if(..())
return TRUE
if(!usr?.client?.prefs)
if(!ui.user?.client?.prefs)
return TRUE
var/datum/preferences/P = usr.client.prefs
var/datum/preferences/P = ui.user.client.prefs
switch(action)
if("adjust_volume")
var/channel = params["channel"]
+2 -2
View File
@@ -63,7 +63,7 @@
var/value = params["value"]
for(var/datum/preference_middleware/preference_middleware as anything in middleware)
if(preference_middleware.pre_set_preference(usr, requested_preference_key, value))
if(preference_middleware.pre_set_preference(ui.user, requested_preference_key, value))
return TRUE
var/datum/preference/requested_preference = GLOB.preference_entries_by_key[requested_preference_key]
@@ -82,7 +82,7 @@
for(var/datum/preference_middleware/preference_middleware as anything in middleware)
var/delegation = preference_middleware.action_delegations[action]
if(!isnull(delegation))
return call(preference_middleware, delegation)(params, usr)
return call(preference_middleware, delegation)(params, ui.user)
return FALSE
@@ -136,14 +136,14 @@ GLOBAL_DATUM(character_directory, /datum/character_directory)
if(action == "refresh")
// This is primarily to stop malicious users from trying to lag the server by spamming this verb
if(!usr.checkMoveCooldown())
to_chat(usr, span_warning("Don't spam character directory refresh."))
if(!ui.user.checkMoveCooldown())
to_chat(ui.user, span_warning("Don't spam character directory refresh."))
return
usr.setMoveCooldown(10)
update_tgui_static_data(usr, ui)
ui.user.setMoveCooldown(10)
update_tgui_static_data(ui.user, ui)
return TRUE
else
return check_for_mind_or_prefs(usr, action, params["overwrite_prefs"])
return check_for_mind_or_prefs(ui.user, action, params["overwrite_prefs"])
/datum/character_directory/proc/check_for_mind_or_prefs(mob/user, action, overwrite_prefs)
if (!user.client)
@@ -156,12 +156,12 @@ GLOBAL_DATUM(character_directory, /datum/character_directory)
return
switch(action)
if ("setTag")
var/list/new_tag = tgui_input_list(usr, "Pick a new Vore tag for the character directory", "Character Tag", GLOB.char_directory_tags)
var/list/new_tag = tgui_input_list(user, "Pick a new Vore tag for the character directory", "Character Tag", GLOB.char_directory_tags)
if(!new_tag)
return
return set_for_mind_or_prefs(user, action, new_tag, can_set_prefs, can_set_mind)
if ("setErpTag")
var/list/new_erptag = tgui_input_list(usr, "Pick a new ERP tag for the character directory", "Character ERP Tag", GLOB.char_directory_erptags)
var/list/new_erptag = tgui_input_list(user, "Pick a new ERP tag for the character directory", "Character ERP Tag", GLOB.char_directory_erptags)
if(!new_erptag)
return
return set_for_mind_or_prefs(user, action, new_erptag, can_set_prefs, can_set_mind)
@@ -171,11 +171,11 @@ GLOBAL_DATUM(character_directory, /datum/character_directory)
visible = user.mind.show_in_directory
else if (can_set_prefs)
visible = user.client.prefs.show_in_directory
to_chat(usr, span_notice("You are now [!visible ? "shown" : "not shown"] in the directory."))
to_chat(user, span_notice("You are now [!visible ? "shown" : "not shown"] in the directory."))
return set_for_mind_or_prefs(user, action, !visible, can_set_prefs, can_set_mind)
if ("editAd")
var/current_ad = (can_set_mind ? usr.mind.directory_ad : null) || (can_set_prefs ? usr.client.prefs.directory_ad : null)
var/new_ad = sanitize(tgui_input_text(usr, "Change your character ad", "Character Ad", current_ad, multiline = TRUE, prevent_enter = TRUE), extra = 0)
var/current_ad = (can_set_mind ? user.mind.directory_ad : null) || (can_set_prefs ? user.client.prefs.directory_ad : null)
var/new_ad = sanitize(tgui_input_text(user, "Change your character ad", "Character Ad", current_ad, multiline = TRUE, prevent_enter = TRUE), extra = 0)
if(isnull(new_ad))
return
return set_for_mind_or_prefs(user, action, new_ad, can_set_prefs, can_set_mind)