mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-12 19:22:56 +00:00
40 lines
1.5 KiB
Plaintext
40 lines
1.5 KiB
Plaintext
// Define a place to save in character setup
|
|
/datum/preferences
|
|
var/persistence_settings = PERSIST_DEFAULT // Control what if anything is persisted for this character between rounds.
|
|
|
|
// Definition of the stuff for Sizing
|
|
/datum/category_item/player_setup_item/general/persistence
|
|
name = "Persistence"
|
|
sort_order = 10
|
|
|
|
/datum/category_item/player_setup_item/general/persistence/load_character(list/save_data)
|
|
pref.persistence_settings = save_data["persistence_settings"]
|
|
sanitize_character() // Don't let new characters start off with nulls
|
|
|
|
/datum/category_item/player_setup_item/general/persistence/save_character(list/save_data)
|
|
save_data["persistence_settings"] = pref.persistence_settings
|
|
|
|
/datum/category_item/player_setup_item/general/persistence/sanitize_character()
|
|
pref.persistence_settings = sanitize_integer(pref.persistence_settings, 0, (1<<(PERSIST_COUNT+1)-1), initial(pref.persistence_settings))
|
|
|
|
/datum/category_item/player_setup_item/general/persistence/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state)
|
|
var/list/data = ..()
|
|
|
|
data["persistence_settings"] = pref.persistence_settings
|
|
|
|
return data
|
|
|
|
/datum/category_item/player_setup_item/general/persistence/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state)
|
|
. = ..()
|
|
if(.)
|
|
return
|
|
|
|
switch(action)
|
|
if("toggle_persist")
|
|
var/bit = text2num(params["bit"])
|
|
if(pref.persistence_settings & bit)
|
|
pref.persistence_settings &= ~bit
|
|
else
|
|
pref.persistence_settings |= bit
|
|
return TOPIC_REFRESH
|