diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 064782291..b703bb3f6 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1,3 +1,4 @@ + GLOBAL_LIST_EMPTY(preferences_datums) GLOBAL_LIST_EMPTY(chosen_names) @@ -161,6 +162,7 @@ GLOBAL_LIST_EMPTY(chosen_names) var/update_mutant_colors = TRUE var/headshot_link + var/chatheadshot var/ooc_extra_link var/ooc_extra var/list/descriptor_entries = list() @@ -441,7 +443,8 @@ GLOBAL_LIST_EMPTY(chosen_names) dat += "
" if(is_legacy) dat += "
(Legacy)(?)" - + dat += "
Headshots in chat?: [chatheadshot == 2 ? "Yes" : "No"](?)" + dat += "
[(length(flavortext) < MINIMUM_FLAVOR_TEXT) ? "" : ""]Flavortext:[(length(flavortext) < MINIMUM_FLAVOR_TEXT) ? "" : ""](?)Change" dat += "
[(length(ooc_notes) < MINIMUM_OOC_NOTES) ? "" : ""]OOC Notes:[(length(ooc_notes) < MINIMUM_OOC_NOTES) ? "" : ""](?)Change" @@ -1585,7 +1588,11 @@ Slots: [job.spawn_positions] [job.round_contrib_points ? "RCP: +[job.round_contr headshot_link = new_headshot_link to_chat(user, "Successfully updated headshot picture") log_game("[user] has set their Headshot image to '[headshot_link]'.") - + if("headshotchat") + if(chatheadshot == 1) + chatheadshot = 2 + else + chatheadshot = 1 if("legacyhelp") var/list/dat = list() dat += "This slot was around since before major Flavortext / OOC changes.
" @@ -1615,6 +1622,12 @@ Slots: [job.spawn_positions] [job.round_contrib_points ? "RCP: +[job.round_contr var/datum/browser/popup = new(user, "Formatting Help", nwidth = 400, nheight = 350) popup.set_content(dat.Join()) popup.open(FALSE) + if("chatheadshothelp") + var/list/dat = list() + dat +="Click this option to make other's headshots appear in chat
" + var/datum/browser/popup = new(user, "Formatting Help", nwidth = 400, nheight = 350) + popup.set_content(dat.Join()) + popup.open(FALSE) if("flavortext") to_chat(user, "["Flavortext should not include nonphysical nonsensory attributes such as backstory or the character's internal thoughts."]") var/new_flavortext = input(user, "Input your character description:", "Flavortext", flavortext) as message|null @@ -2382,6 +2395,8 @@ Slots: [job.spawn_positions] [job.round_contrib_points ? "RCP: +[job.round_contr character.headshot_link = headshot_link + character.chatheadshot = chatheadshot + character.statpack = statpack character.flavortext = flavortext diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 0452333df..e0741a0d6 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -506,7 +506,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["headshot_link"] >> headshot_link if(!valid_headshot_link(null, headshot_link, TRUE)) headshot_link = null - + S["chatheadshot"] >> chatheadshot S["flavortext"] >> flavortext S["flavortext_display"] >> flavortext_display S["ooc_notes"] >> ooc_notes @@ -660,6 +660,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["update_mutant_colors"] , update_mutant_colors) WRITE_FILE(S["headshot_link"] , headshot_link) + WRITE_FILE(S["chatheadshot"] , chatheadshot) WRITE_FILE(S["flavortext"] , html_decode(flavortext)) WRITE_FILE(S["flavortext_display"], flavortext_display) WRITE_FILE(S["ooc_notes"] , html_decode(ooc_notes)) diff --git a/code/modules/mob/dead/new_player/preferences_setup.dm b/code/modules/mob/dead/new_player/preferences_setup.dm index 80993fdce..93267eab9 100644 --- a/code/modules/mob/dead/new_player/preferences_setup.dm +++ b/code/modules/mob/dead/new_player/preferences_setup.dm @@ -20,6 +20,7 @@ ooc_extra_link = null ooc_extra = null headshot_link = null + chatheadshot = 1 features = pref_species.get_random_features() body_markings = pref_species.get_random_body_markings(features) accessory = "Nothing" diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 3f428b28e..75e3ccc51 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -27,6 +27,7 @@ var/t_is = p_are() var/obscure_name = FALSE var/race_name = dna.species.name + var/mob/living/carbon/human/viewer = user var/datum/antagonist/maniac/maniac = user.mind?.has_antag_datum(/datum/antagonist/maniac) if(maniac && (user != src)) race_name = "disgusting pig" @@ -725,6 +726,11 @@ if(heart?.inscryption && (heart.inscryption_key in maniac.key_nums)) . += span_danger("[t_He] know[p_s()] [heart.inscryption_key], I AM SURE OF IT!") + if((!obscure_name || client?.prefs.masked_examine) && (flavortext || headshot_link || ooc_notes) && (viewer?.chatheadshot == 2)) + if((HAS_TRAIT(user,TRAIT_VAMPIRISM)) && (has_status_effect(/datum/status_effect/buff/veil_down)) && (valid_headshot_link(null, antag_headshot_link, TRUE))) + . += "" + else if(headshot_link) + . += "" if(Adjacent(user)) if(observer_privilege) var/static/list/check_zones = list( diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index c5d716682..505b03042 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -107,6 +107,7 @@ var/datum/devotion/devotion = null // Used for cleric_holder for priests var/headshot_link = null + var/chatheadshot = null var/flavortext = null var/flavortext_display = null var/ooc_notes = null