diff --git a/code/_global_vars/lists/misc.dm b/code/_global_vars/lists/misc.dm
index e94aa8d652..742708face 100644
--- a/code/_global_vars/lists/misc.dm
+++ b/code/_global_vars/lists/misc.dm
@@ -7,4 +7,5 @@ GLOBAL_LIST_EMPTY(wire_color_directory) // This is an associative list with the
// Reference list for disposal sort junctions. Filled up by sorting junction's New()
GLOBAL_LIST_EMPTY(tagger_locations)
-GLOBAL_LIST_INIT(char_directory_tags, list("Pred", "Prey", "Switch", "Non-Vore", "Unset"))
\ No newline at end of file
+GLOBAL_LIST_INIT(char_directory_tags, list("Pred", "Prey", "Switch", "Non-Vore", "Unset"))
+GLOBAL_LIST_INIT(char_directory_erptags, list("Top", "Bottom", "Switch", "No ERP", "Unset"))
\ No newline at end of file
diff --git a/code/game/verbs/character_directory.dm b/code/game/verbs/character_directory.dm
index 13d0120123..2c70b54ba7 100644
--- a/code/game/verbs/character_directory.dm
+++ b/code/game/verbs/character_directory.dm
@@ -32,6 +32,7 @@ GLOBAL_DATUM(character_directory, /datum/character_directory)
data["personalVisibility"] = user?.client?.prefs?.show_in_directory
data["personalTag"] = user?.client?.prefs?.directory_tag
+ data["personalErpTag"] = user?.client?.prefs?.directory_erptag
return data
@@ -50,6 +51,7 @@ GLOBAL_DATUM(character_directory, /datum/character_directory)
var/ooc_notes = null
var/flavor_text = null
var/tag = C.prefs.directory_tag
+ var/erptag = C.prefs.directory_erptag
var/character_ad = C.prefs.directory_ad
if(ishuman(C.mob))
@@ -85,6 +87,7 @@ GLOBAL_DATUM(character_directory, /datum/character_directory)
"name" = name,
"ooc_notes" = ooc_notes,
"tag" = tag,
+ "erptag" = erptag,
"character_ad" = character_ad,
"flavor_text" = flavor_text,
)))
@@ -109,11 +112,17 @@ GLOBAL_DATUM(character_directory, /datum/character_directory)
update_tgui_static_data(usr, ui)
return TRUE
if("setTag")
- var/list/new_tag = input(usr, "Pick a new tag for the character directory", "Character Tag", usr?.client?.prefs?.directory_tag) as null|anything in GLOB.char_directory_tags
+ var/list/new_tag = input(usr, "Pick a new Vore tag for the character directory", "Character Tag", usr?.client?.prefs?.directory_tag) as null|anything in GLOB.char_directory_tags
if(!new_tag)
return
usr?.client?.prefs?.directory_tag = new_tag
return TRUE
+ if("setErpTag")
+ var/list/new_erptag = input(usr, "Pick a new ERP tag for the character directory", "Character ERP Tag", usr?.client?.prefs?.directory_erptag) as null|anything in GLOB.char_directory_erptags
+ if(!new_erptag)
+ return
+ usr?.client?.prefs?.directory_erptag = new_erptag
+ return TRUE
if("setVisible")
usr?.client?.prefs?.show_in_directory = !usr?.client?.prefs?.show_in_directory
to_chat(usr, "You are now [usr.client.prefs.show_in_directory ? "shown" : "not shown"] in the directory.")
diff --git a/code/modules/client/preference_setup/vore/09_misc.dm b/code/modules/client/preference_setup/vore/09_misc.dm
index 7f868e7286..1214fd2c89 100644
--- a/code/modules/client/preference_setup/vore/09_misc.dm
+++ b/code/modules/client/preference_setup/vore/09_misc.dm
@@ -7,12 +7,14 @@
/datum/category_item/player_setup_item/vore/misc/load_character(var/savefile/S)
S["show_in_directory"] >> pref.show_in_directory
S["directory_tag"] >> pref.directory_tag
+ S["directory_erptag"] >> pref.directory_erptag
S["directory_ad"] >> pref.directory_ad
S["sensorpref"] >> pref.sensorpref //TFF 5/8/19 - add sensor pref setting to load after saved
/datum/category_item/player_setup_item/vore/misc/save_character(var/savefile/S)
S["show_in_directory"] << pref.show_in_directory
S["directory_tag"] << pref.directory_tag
+ S["directory_erptag"] << pref.directory_erptag
S["directory_ad"] << pref.directory_ad
S["sensorpref"] << pref.sensorpref //TFF 5/8/19 - add sensor pref setting to be saveable
@@ -25,12 +27,14 @@
/datum/category_item/player_setup_item/vore/misc/sanitize_character()
pref.show_in_directory = sanitize_integer(pref.show_in_directory, 0, 1, initial(pref.show_in_directory))
pref.directory_tag = sanitize_inlist(pref.directory_tag, GLOB.char_directory_tags, initial(pref.directory_tag))
+ pref.directory_erptag = sanitize_inlist(pref.directory_erptag, GLOB.char_directory_erptags, initial(pref.directory_erptag))
pref.sensorpref = sanitize_integer(pref.sensorpref, 1, sensorpreflist.len, initial(pref.sensorpref)) //TFF - 5/8/19 - add santisation for sensor prefs
/datum/category_item/player_setup_item/vore/misc/content(var/mob/user)
. += "
"
. += "Appear in Character Directory: [pref.show_in_directory ? "Yes" : "No"]
"
- . += "Character Directory Tag: [pref.directory_tag]
"
+ . += "Character Directory Vore Tag: [pref.directory_tag]
"
+ . += "Character Directory ERP Tag: [pref.directory_erptag]
"
. += "Character Directory Advertisement: Set Directory Ad
"
. += "Suit Sensors Preference: [sensorpreflist[pref.sensorpref]]
" //TFF 5/8/19 - Allow selection of sensor settings from off, binary, vitals, tracking, or random
@@ -39,11 +43,17 @@
pref.show_in_directory = pref.show_in_directory ? 0 : 1;
return TOPIC_REFRESH
else if(href_list["directory_tag"])
- var/new_tag = input(user, "Pick a new tag for the character directory", "Character Tag", pref.directory_tag) as null|anything in GLOB.char_directory_tags
+ var/new_tag = input(user, "Pick a new Vore tag for the character directory", "Character Vore Tag", pref.directory_tag) as null|anything in GLOB.char_directory_tags
if(!new_tag)
return
pref.directory_tag = new_tag
return TOPIC_REFRESH
+ else if(href_list["directory_erptag"])
+ var/new_erptag = input(user, "Pick a new ERP tag for the character directory", "Character ERP Tag", pref.directory_erptag) as null|anything in GLOB.char_directory_erptags
+ if(!new_erptag)
+ return
+ pref.directory_erptag = new_erptag
+ return TOPIC_REFRESH
else if(href_list["directory_ad"])
var/msg = sanitize(input(user,"Write your advertisement here!", "Flavor Text", html_decode(pref.directory_ad)) as message, extra = 0) //VOREStation Edit: separating out OOC notes
pref.directory_ad = msg
diff --git a/tgui/packages/tgui/interfaces/CharacterDirectory.js b/tgui/packages/tgui/interfaces/CharacterDirectory.js
index 35dcb133f1..43ba609cc1 100644
--- a/tgui/packages/tgui/interfaces/CharacterDirectory.js
+++ b/tgui/packages/tgui/interfaces/CharacterDirectory.js
@@ -25,6 +25,7 @@ export const CharacterDirectory = (props, context) => {
const {
personalVisibility,
personalTag,
+ personalErpTag,
} = data;
const [overlay, setOverlay] = useLocalState(context, "overlay", null);
@@ -44,12 +45,18 @@ export const CharacterDirectory = (props, context) => {
content={personalVisibility ? "Shown" : "Not Shown"}
onClick={() => act("setVisible")} />
-
+
+
+