mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-14 19:51:59 +00:00
* Contextual screentips -- Screentips now show you what items/objects can do (#64502) Adds the foundational system for contextual screentips, which will show you what you can do with objects/items, including through context, such as what you are holding. Provides several helper elements for most use cases, and applies it to a handful of common objects in order to show the full breadth of the system. Changes screentips preference from on/off to on/off/only with context. Players who originally had it on off will have it migrated to only with context, though can re-disable it. * Contextual screentips -- Screentips now show you what items/objects can do Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
39 lines
1.6 KiB
Plaintext
39 lines
1.6 KiB
Plaintext
/datum/preference/choiced/enable_screentips
|
|
category = PREFERENCE_CATEGORY_GAME_PREFERENCES
|
|
savefile_key = "screentip_pref"
|
|
savefile_identifier = PREFERENCE_PLAYER
|
|
|
|
/datum/preference/choiced/enable_screentips/init_possible_values()
|
|
return list(SCREENTIP_PREFERENCE_ENABLED, SCREENTIP_PREFERENCE_CONTEXT_ONLY, SCREENTIP_PREFERENCE_DISABLED)
|
|
|
|
/datum/preference/choiced/enable_screentips/create_default_value()
|
|
return SCREENTIP_PREFERENCE_ENABLED
|
|
|
|
/datum/preference/choiced/enable_screentips/apply_to_client(client/client, value)
|
|
client.mob?.hud_used?.screentips_enabled = value
|
|
|
|
/datum/preference/choiced/enable_screentips/deserialize(input, datum/preferences/preferences)
|
|
// Migrate old always disabled screentips to context only.
|
|
// Screentips were always meant to have context, though were initially merged without it.
|
|
// This accepts that those users found screentips distracting, but gives a second chance now that
|
|
// they provide a more obvious helping hand.
|
|
// If they are still too distracting, there's nothing stopping them from disabling it again for good.
|
|
if (input == FALSE)
|
|
return ..(SCREENTIP_PREFERENCE_CONTEXT_ONLY, preferences)
|
|
|
|
if (input == TRUE)
|
|
return ..(SCREENTIP_PREFERENCE_ENABLED, preferences)
|
|
|
|
return ..(input, preferences)
|
|
|
|
/datum/preference/color/screentip_color
|
|
category = PREFERENCE_CATEGORY_GAME_PREFERENCES
|
|
savefile_key = "screentip_color"
|
|
savefile_identifier = PREFERENCE_PLAYER
|
|
|
|
/datum/preference/color/screentip_color/apply_to_client(client/client, value)
|
|
client.mob?.hud_used?.screentip_color = value
|
|
|
|
/datum/preference/color/screentip_color/create_default_value()
|
|
return "#ffd391"
|