Merge branch 'master' of https://github.com/tgstation/tgstation into pupstream-2025-09-07

# Conflicts:
#	README.md
#	code/__DEFINES/admin.dm
#	code/__DEFINES/melee.dm
#	code/_globalvars/traits/_traits.dm
#	code/controllers/subsystem/economy.dm
#	code/datums/components/crafting/crafting.dm
#	code/datums/elements/crusher_loot.dm
#	code/modules/antagonists/pirate/pirate_shuttle_equipment.dm
#	code/modules/clothing/suits/_suits.dm
#	code/modules/escape_menu/leave_body.dm
#	code/modules/jobs/job_types/_job.dm
#	code/modules/mining/equipment/mineral_scanner.dm
#	code/modules/mob/living/living.dm
#	code/modules/plumbing/plumbers/pill_press.dm
#	tgui/packages/tgui/interfaces/Vending.tsx
This commit is contained in:
nevimer
2025-09-07 00:37:52 -04:00
362 changed files with 82084 additions and 106117 deletions
+4 -1
View File
@@ -610,7 +610,10 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
GLOB.clients -= src
GLOB.directory -= ckey
persistent_client.set_client(null)
if(persistent_client)
persistent_client.set_client(null)
else
stack_trace("A client was Del()'d without a persistent_client! This should not be happening.")
log_access("Logout: [key_name(src)]")
GLOB.ahelp_tickets.ClientLogout(src)
+7 -2
View File
@@ -105,8 +105,13 @@ GLOBAL_LIST_EMPTY(preferences_datums)
middleware += new middleware_type(src)
if(IS_CLIENT_OR_MOCK(parent))
load_and_save = !is_guest_key(parent.key)
load_path(parent.ckey)
if(is_guest_key(parent.key))
if(parent.is_localhost())
path = DEV_PREFS_PATH // guest + locallost = dev instance, load dev preferences if possible
else
load_and_save = FALSE // guest + not localhost = guest on live, don't save anything
else
load_path(parent.ckey) // not guest = load their actual savefile
if(load_and_save && !fexists(path))
try_savefile_type_migration()
@@ -276,6 +276,10 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
/datum/preferences/proc/save_preferences()
if(!savefile)
CRASH("Attempted to save the preferences of [parent] without a savefile. This should have been handled by load_preferences()")
if(path == DEV_PREFS_PATH)
// Don't save over dev preferences
return TRUE
savefile.set_entry("version", SAVEFILE_VERSION_MAX) //updates (or failing that the sanity checks) will ensure data is not invalid at load. Assume up-to-date
for (var/preference_type in GLOB.preference_entries)