diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index c8e24a15f9d9..f686126bfcc2 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -260,6 +260,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) for(var/datum/preference_middleware/preference_middleware as anything in middleware) preference_middleware.post_set_preference(ui.user, requested_preference_key, value) + requested_preference.post_set_preference(ui.user, value) // DARKPACK EDIT ADD - SPLATS - (lore primers) return TRUE if ("set_color_preference") var/requested_preference_key = params["preference"] diff --git a/modular_darkpack/master_files/code/modules/client/preferences/_preference.dm b/modular_darkpack/master_files/code/modules/client/preferences/_preference.dm index 27004194aab9..6a4c443e0919 100644 --- a/modular_darkpack/master_files/code/modules/client/preferences/_preference.dm +++ b/modular_darkpack/master_files/code/modules/client/preferences/_preference.dm @@ -4,3 +4,7 @@ /// If set to TRUE, only apply preference to the mob if it acctually shows up on there sheet var/must_be_accessible = FALSE + +/datum/preference/proc/post_set_preference(mob/user, value) + SHOULD_CALL_PARENT(FALSE) + return diff --git a/modular_darkpack/modules/splats/code/subsplat/_subsplat.dm b/modular_darkpack/modules/splats/code/subsplat/_subsplat.dm index dd68b8e11346..09c42a3cd9c1 100644 --- a/modular_darkpack/modules/splats/code/subsplat/_subsplat.dm +++ b/modular_darkpack/modules/splats/code/subsplat/_subsplat.dm @@ -16,6 +16,8 @@ var/name /// Description of what the splat is and what it does var/desc + /// If set, the roleplay level that is displayed in prefrences as a guide to players. + var/roleplay_level /// ID for trait sources and whatnot var/id @@ -64,3 +66,10 @@ joining.put_in_r_hand(new subsplat_keys(joining)) UnregisterSignal(joining, COMSIG_MOB_LOGIN) + +/// Displays description and roleplay level of the subsplat. +/datum/subsplat/proc/show_lore(mob/user) + if(desc) + to_chat(user, span_notice("[uppertext(name)]
[desc]")) + if(roleplay_level) + to_chat(user, span_notice("
ROLEPLAY LEVEL: [roleplay_level]
Roleplay levels, or, the difficulty to play and portray a character from that auspice, are as follows: Beginner Friendly, Intermediate, Advanced.")) diff --git a/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clan_pref.dm b/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clan_pref.dm index c2545c4ff6c3..cfb3c6c1821f 100644 --- a/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clan_pref.dm +++ b/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clan_pref.dm @@ -13,3 +13,7 @@ /datum/preference/choiced/subsplat/vampire_clan/apply_to_human(mob/living/carbon/human/target, value) var/joining_round = !isdummy(target) target.set_clan(value, joining_round) + +/datum/preference/choiced/subsplat/vampire_clan/post_set_preference(mob/user, value) + var/datum/subsplat/vampire_clan/clan = get_vampire_clan(value) + clan?.show_lore(user) diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/auspice.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/auspice.dm index 9afffe9d5f73..44fd86800485 100644 --- a/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/auspice.dm +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/auspice.dm @@ -22,6 +22,10 @@ var/joining_round = !isdummy(target) target.set_auspice(value, joining_round) +/datum/preference/choiced/subsplat/fera_auspice/post_set_preference(mob/user, value) + var/datum/subsplat/werewolf/auspice/auspice = get_fera_auspice(value) + auspice?.show_lore(user) + /datum/preference/choiced/subsplat/fera_auspice/is_accessible(datum/preferences/preferences) . = ..() var/datum/splat/splat_path = preferences.read_preference(/datum/preference/choiced/splats) diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/breed.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/breed.dm index c325a73d7c36..91721e020a9d 100644 --- a/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/breed.dm +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/breed.dm @@ -25,6 +25,10 @@ var/joining_round = !isdummy(target) target.set_breed_form(value, joining_round) +/datum/preference/choiced/subsplat/fera_breed/post_set_preference(mob/user, value) + var/datum/subsplat/werewolf/breed_form/breed = get_fera_breed_form(value) + breed?.show_lore(user) + /datum/preference/choiced/subsplat/fera_breed/is_accessible(datum/preferences/preferences) . = ..() var/datum/splat/splat_path = preferences.read_preference(/datum/preference/choiced/splats) diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/tribe.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/tribe.dm index 20ee26de9950..d27e9b97dd0a 100644 --- a/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/tribe.dm +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/preferences/tribe.dm @@ -22,6 +22,10 @@ var/joining_round = !isdummy(target) target.set_fera_tribe(value, joining_round) +/datum/preference/choiced/subsplat/fera_tribe/post_set_preference(mob/user, value) + var/datum/subsplat/werewolf/tribe/tribe = get_fera_tribe(value) + tribe?.show_lore(user) + /datum/preference/choiced/subsplat/fera_tribe/is_accessible(datum/preferences/preferences) . = ..() var/datum/splat/splat_path = preferences.read_preference(/datum/preference/choiced/splats)