diff --git a/code/modules/client/preference_setup/general/06_flavor.dm b/code/modules/client/preference_setup/general/06_flavor.dm index f95fb12abf..20ab615e78 100644 --- a/code/modules/client/preference_setup/general/06_flavor.dm +++ b/code/modules/client/preference_setup/general/06_flavor.dm @@ -12,7 +12,7 @@ S["flavor_texts_hands"] >> pref.flavor_texts["hands"] S["flavor_texts_legs"] >> pref.flavor_texts["legs"] S["flavor_texts_feet"] >> pref.flavor_texts["feet"] - + S["custom_link"] >> pref.custom_link //Flavour text for robots. S["flavour_texts_robot_Default"] >> pref.flavour_texts_robot["Default"] for(var/module in robot_module_types) @@ -28,6 +28,7 @@ S["flavor_texts_hands"] << pref.flavor_texts["hands"] S["flavor_texts_legs"] << pref.flavor_texts["legs"] S["flavor_texts_feet"] << pref.flavor_texts["feet"] + S["custom_link"] << pref.custom_link S["flavour_texts_robot_Default"] << pref.flavour_texts_robot["Default"] for(var/module in robot_module_types) @@ -50,11 +51,13 @@ character.ooc_notes = pref.metadata //VOREStation Add character.ooc_notes_likes = pref.metadata_likes character.ooc_notes_dislikes = pref.metadata_dislikes + character.custom_link = pref.custom_link /datum/category_item/player_setup_item/general/flavor/content(var/mob/user) . += "Flavor:
" . += "Set Flavor Text
" . += "Set Robot Flavor Text
" + . += "Set Custom Link
" /datum/category_item/player_setup_item/general/flavor/OnTopic(var/href,var/list/href_list, var/mob/user) if(href_list["flavor_text"]) @@ -84,6 +87,14 @@ pref.flavour_texts_robot[href_list["flavour_text_robot"]] = msg SetFlavourTextRobot(user) return TOPIC_HANDLED + else if(href_list["custom_link"]) + var/new_link = strip_html_simple(tgui_input_text(usr, "Enter a link to add on to your examine text! This should be a related image link/gallery, or things like your F-list. This is not the place for memes.", "Custom Link" , html_decode(pref.custom_link), max_length = 100, encode = TRUE, prevent_enter = TRUE)) + if(new_link && CanUseTopic(usr)) + if(length(new_link) > 100) + to_chat(usr, "Your entry is too long, it must be 100 characters or less.") + return + pref.custom_link = new_link + log_admin("[usr]/[usr.ckey] set their custom link to [pref.custom_link]") return ..() diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 77ba6a0096..4509e9f5df 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -129,6 +129,7 @@ var/list/preferences_datums = list() var/list/flavor_texts = list() var/list/flavour_texts_robot = list() + var/custom_link = null var/list/body_descriptors = list() diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index ba29b9bf85..4208e8efc0 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -432,6 +432,9 @@ msg += "[flavor_text]" // VOREStation Start + if(custom_link) + msg += "Custom link: [custom_link]" + if(ooc_notes) msg += "OOC Notes: \[View\]" msg += "\[Mechanical Vore Preferences\]" diff --git a/code/modules/mob/living/living_defines_vr.dm b/code/modules/mob/living/living_defines_vr.dm index 11bf74d4d4..b348c59187 100644 --- a/code/modules/mob/living/living_defines_vr.dm +++ b/code/modules/mob/living/living_defines_vr.dm @@ -7,6 +7,7 @@ var/ooc_notes = null var/ooc_notes_likes = null var/ooc_notes_dislikes = null + var/custom_link = null appearance_flags = TILE_BOUND|PIXEL_SCALE|KEEP_TOGETHER|LONG_GLIDE var/hunger_rate = DEFAULT_HUNGER_FACTOR //custom say verbs diff --git a/code/modules/mob/living/living_vr.dm b/code/modules/mob/living/living_vr.dm index ec3896b450..2539edfac2 100644 --- a/code/modules/mob/living/living_vr.dm +++ b/code/modules/mob/living/living_vr.dm @@ -58,6 +58,7 @@ to_chat(usr, "OOC note dislikes have been updated. Don't forget to save!") log_admin("[key_name(usr)] updated their OOC note dislikes mid-round.") ooc_notes_window(usr) + /mob/living/proc/save_ooc_panel() if(usr != src) return @@ -67,6 +68,22 @@ if(client.prefs.save_character()) to_chat(usr, "Character preferences saved.") +/mob/living/verb/set_custom_link() + set name = "Set Custom Link" + set desc = "Set a custom link to show up with your examine text." + set category = "IC" + + if(usr != src) + return + var/new_link = strip_html_simple(tgui_input_text(usr, "Enter a link to add on to your examine text! This should be a related image link/gallery, or things like your F-list. This is not the place for memes.", "Custom Link" , html_decode(custom_link), max_length = 100, encode = TRUE, prevent_enter = TRUE)) + if(new_link && CanUseTopic(usr)) + if(length(new_link) > 100) + to_chat(usr, "Your entry is too long, it must be 100 characters or less.") + return + + custom_link = new_link + to_chat(usr, "Link set: [custom_link]") + log_admin("[usr]/[usr.ckey] set their custom link to [custom_link]") /mob/living/verb/set_voice_freq() set name = "Set Voice Frequency" diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 824466686e..9d8e226d85 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -370,6 +370,7 @@ ooc_notes = meta_info ooc_notes_likes = client.prefs.metadata_likes ooc_notes_dislikes = client.prefs.metadata_dislikes + custom_link = client.prefs.custom_link /mob/living/silicon/robot/verb/Namepick() set category = "Robot Commands" diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index 017897a6c4..dfd0ff4577 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -1123,10 +1123,13 @@ /mob/living/examine(mob/user, infix, suffix) . = ..() + if(custom_link) + . += "Custom link: [custom_link]" if(ooc_notes) . += "OOC Notes: \[View\]" . += "\[Mechanical Vore Preferences\]" + /mob/living/Topic(href, href_list) //Can't find any instances of Topic() being overridden by /mob/living in polaris' base code, even though /mob/living/carbon/human's Topic() has a ..() call if(href_list["vore_prefs"]) display_voreprefs(usr)