Character Directory Update - Adds Four Additional Tags

This will be ported upstream to VOREStation momentarily, hence the lack of // CHOMPStation comments.
If upstream makes any changes or rejects the PR, I will add comments on as needed.

Adds four new preferences + tags, shown here!
![](https://cdn.discordapp.com/attachments/404660884531707906/1041243283373948978/azcYOMj.png)

Gender, Sexuality, BDSM Role, and Furry/Human Preference.

The latter two may be unnecessary, particularly the BDSM role, but I figured it was an easy addition, and just as easy to remove on request!

The intent for these additions is to make perusing for scenes ever-so-slightly easier, and lay out important keynotes such as gender more clearly.
This commit is contained in:
Rykka
2023-01-23 12:56:00 -08:00
committed by Rykka Stormheart
parent 0e84267ffd
commit 87482853ea
5 changed files with 129 additions and 4 deletions
@@ -5,7 +5,11 @@
/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_gendertag"] >> pref.directory_gendertag
S["directory_sexualitytag"] >> pref.directory_sexualitytag
S["directory_erptag"] >> pref.directory_erptag
S["directory_bdsmtag"] >> pref.directory_bdsmtag
S["directory_furrypreftag"] >> pref.directory_furrypreftag
S["directory_ad"] >> pref.directory_ad
S["sensorpref"] >> pref.sensorpref
S["capture_crystal"] >> pref.capture_crystal
@@ -13,7 +17,11 @@
/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_gendertag"] << pref.directory_gendertag
S["directory_sexualitytag"] << pref.directory_sexualitytag
S["directory_erptag"] << pref.directory_erptag
S["directory_bdsmtag"] << pref.directory_bdsmtag
S["directory_furrypreftag"] << pref.directory_furrypreftag
S["directory_ad"] << pref.directory_ad
S["sensorpref"] << pref.sensorpref
S["capture_crystal"] << pref.capture_crystal
@@ -28,7 +36,11 @@
/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.directory_gendertag = sanitize_inlist(pref.directory_gendertag, GLOB.char_directory_gendertags, initial(pref.directory_gendertag))
pref.directory_sexualitytag = sanitize_inlist(pref.directory_sexualitytag, GLOB.char_directory_sexualitytags, initial(pref.directory_sexualitytag))
pref.directory_erptag = sanitize_inlist(pref.directory_erptag, GLOB.char_directory_erptags, initial(pref.directory_erptag))
pref.directory_bdsmtag = sanitize_inlist(pref.directory_bdsmtag, GLOB.char_directory_bdsmtags, initial(pref.directory_bdsmtag))
pref.directory_furrypreftag = sanitize_inlist(pref.directory_furrypreftag, GLOB.char_directory_furrypreftags, initial(pref.directory_furrypreftag))
pref.sensorpref = sanitize_integer(pref.sensorpref, 1, sensorpreflist.len, initial(pref.sensorpref))
pref.capture_crystal = sanitize_integer(pref.capture_crystal, 0, 1, initial(pref.capture_crystal))
@@ -36,7 +48,11 @@
. += "<br>"
. += "<b>Appear in Character Directory:</b> <a [pref.show_in_directory ? "class='linkOn'" : ""] href='?src=\ref[src];toggle_show_in_directory=1'><b>[pref.show_in_directory ? "Yes" : "No"]</b></a><br>"
. += "<b>Character Directory Vore Tag:</b> <a href='?src=\ref[src];directory_tag=1'><b>[pref.directory_tag]</b></a><br>"
. += "<b>Character Directory Gender:</b> <a href='?src=\ref[src];directory_gendertag=1'><b>[pref.directory_gendertag]</b></a><br>"
. += "<b>Character Directory Sexuality:</b> <a href='?src=\ref[src];directory_sexualitytag=1'><b>[pref.directory_sexualitytag]</b></a><br>"
. += "<b>Character Directory ERP Tag:</b> <a href='?src=\ref[src];directory_erptag=1'><b>[pref.directory_erptag]</b></a><br>"
. += "<b>Character Directory BDSM Tag:</b> <a href='?src=\ref[src];directory_bdsmtag=1'><b>[pref.directory_bdsmtag]</b></a><br>"
. += "<b>Character Directory Furry/Human Preference:</b> <a href='?src=\ref[src];directory_furrypreftag=1'><b>[pref.directory_furrypreftag]</b></a><br>"
. += "<b>Character Directory Advertisement:</b> <a href='?src=\ref[src];directory_ad=1'><b>Set Directory Ad</b></a><br>"
. += "<b>Suit Sensors Preference:</b> <a [pref.sensorpref ? "" : ""] href='?src=\ref[src];toggle_sensor_setting=1'><b>[sensorpreflist[pref.sensorpref]]</b></a><br>"
. += "<b>Capture Crystal Preference</b> <a [pref.capture_crystal ? "class='linkOn'" : ""] href='?src=\ref[src];toggle_capture_crystal=1'><b>[pref.capture_crystal ? "Yes" : "No"]</b></a><br>"
@@ -51,12 +67,36 @@
return
pref.directory_tag = new_tag
return TOPIC_REFRESH
else if(href_list["directory_gendertag"])
var/new_gendertag = tgui_input_list(user, "Pick a new Gender tag for the character directory. This is YOUR gender, not what you prefer.", "Character Gender Tag", GLOB.char_directory_gendertags, pref.directory_gendertag)
if(!new_gendertag)
return
pref.directory_gendertag = new_gendertag
return TOPIC_REFRESH
else if(href_list["directory_sexualitytag"])
var/new_sexualitytag = tgui_input_list(user, "Pick a new Sexuality/Orientation tag for the character directory", "Character Sexuality/Orientation Tag", GLOB.char_directory_sexualitytags, pref.directory_sexualitytag)
if(!new_sexualitytag)
return
pref.directory_sexualitytag = new_sexualitytag
return TOPIC_REFRESH
else if(href_list["directory_erptag"])
var/new_erptag = tgui_input_list(user, "Pick a new ERP tag for the character directory", "Character ERP Tag", GLOB.char_directory_erptags, pref.directory_erptag)
if(!new_erptag)
return
pref.directory_erptag = new_erptag
return TOPIC_REFRESH
else if(href_list["directory_bdsmtag"])
var/new_bdsmtag = tgui_input_list(user, "Pick a new BDSM tag for the character directory", "Character BDSM Tag", GLOB.char_directory_bdsmtags, pref.directory_bdsmtag)
if(!new_bdsmtag)
return
pref.directory_bdsmtag = new_bdsmtag
return TOPIC_REFRESH
else if(href_list["directory_furrypreftag"])
var/new_furrypreftag = tgui_input_list(user, "Pick a new Furry/Human preference tag for the character directory", "Character Furry/Human Preference", GLOB.char_directory_furrypreftags, pref.directory_furrypreftag)
if(!new_furrypreftag)
return
pref.directory_furrypreftag = new_furrypreftag
return TOPIC_REFRESH
else if(href_list["directory_ad"])
var/msg = sanitize(tgui_input_text(user,"Write your advertisement here!", "Flavor Text", html_decode(pref.directory_ad), multiline = TRUE, prevent_enter = TRUE), extra = 0) //VOREStation Edit: separating out OOC notes
pref.directory_ad = msg