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
2022-11-12 23:09:51 -08:00
committed by Rykka Stormheart
parent 0e84267ffd
commit 87482853ea
5 changed files with 129 additions and 4 deletions

View File

@@ -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

View File

@@ -2,6 +2,10 @@
var/show_in_directory = 1 //Show in Character Directory
var/directory_tag = "Unset" //Sorting tag to use in character directory
var/directory_erptag = "Unset" //ditto, but for non-vore scenes
var/directory_gendertag = "Unset" // Gender stuff!
var/directory_sexualitytag = "Unset" // Sexuality!
var/directory_furrypreftag = "Unset" // Furry/human preference!
var/directory_bdsmtag = "Unset" // BDSM prefs! Dom/Sub/Switch
var/directory_ad = "" //Advertisement stuff to show in character directory.
var/sensorpref = 5 //Set character's suit sensor level
var/capture_crystal = 1 //Whether or not someone is able to be caught with capture crystals

View File

@@ -32,7 +32,11 @@ GLOBAL_DATUM(character_directory, /datum/character_directory)
data["personalVisibility"] = user?.client?.prefs?.show_in_directory
data["personalTag"] = user?.client?.prefs?.directory_tag || "Unset"
data["personalGenderTag"] = user?.client?.prefs?.directory_gendertag || "Unset"
data["personalSexualityTag"] = user?.client?.prefs?.directory_sexualitytag || "Unset"
data["personalErpTag"] = user?.client?.prefs?.directory_erptag || "Unset"
data["personalBDSMTag"] = user?.client?.prefs?.directory_bdsmtag || "Unset"
data["personalFurryPrefTag"] = user?.client?.prefs?.directory_furrypreftag || "Unset"
data["personalEventTag"] = vantag_choices_list[user?.client?.prefs?.vantag_preference] //CHOMPEdit
return data
@@ -53,7 +57,11 @@ GLOBAL_DATUM(character_directory, /datum/character_directory)
var/ooc_notes = null
var/flavor_text = null
var/tag = C.prefs.directory_tag || "Unset"
var/gendertag = C.prefs.directory_gendertag || "Unset"
var/sexualitytag = C.prefs.directory_sexualitytag || "Unset"
var/erptag = C.prefs.directory_erptag || "Unset"
var/bdsmtag = C.prefs.directory_bdsmtag || "Unset"
var/furrypreftag = C.prefs.directory_furrypreftag || "Unset"
var/eventtag = vantag_choices_list[C.prefs.vantag_preference] //CHOMPEdit
var/character_ad = C.prefs.directory_ad
@@ -113,7 +121,11 @@ GLOBAL_DATUM(character_directory, /datum/character_directory)
"species" = species,
"ooc_notes" = ooc_notes,
"tag" = tag,
"gendertag" = gendertag,
"sexualitytag" = sexualitytag,
"erptag" = erptag,
"bdsmtag" = bdsmtag,
"furrypreftag" = furrypreftag,
"eventtag" = eventtag, //CHOMPEdit
"character_ad" = character_ad,
"flavor_text" = flavor_text,
@@ -144,12 +156,36 @@ GLOBAL_DATUM(character_directory, /datum/character_directory)
return
usr?.client?.prefs?.directory_tag = new_tag
return TRUE
if("setGenderTag")
var/list/new_gendertag = tgui_input_list(usr, "Pick a new Gender tag for the character directory. This is YOUR gender, not what you prefer.", "Character Gender Tag", GLOB.char_directory_gendertags)
if(!new_gendertag)
return
usr?.client?.prefs?.directory_gendertag = new_gendertag
return TRUE
if("setSexualityTag")
var/list/new_sexualitytag = tgui_input_list(usr, "Pick a new Sexuality/Orientation tag for the character directory", "Character Sexuality/Orientation Tag", GLOB.char_directory_sexualitytags)
if(!new_sexualitytag)
return
usr?.client?.prefs?.directory_sexualitytag = new_sexualitytag
return TRUE
if("setErpTag")
var/list/new_erptag = tgui_input_list(usr, "Pick a new ERP tag for the character directory", "Character ERP Tag", GLOB.char_directory_erptags)
if(!new_erptag)
return
usr?.client?.prefs?.directory_erptag = new_erptag
return TRUE
if("setBDSMTag")
var/list/new_bdsmtag = tgui_input_list(usr, "Pick a new BDSM tag for the character directory", "Character BDSM Tag", GLOB.char_directory_bdsmtags)
if(!new_bdsmtag)
return
usr?.client?.prefs?.directory_bdsmtag = new_bdsmtag
return TRUE
if("setFurryPrefTag")
var/list/new_furrypreftag = tgui_input_list(usr, "Pick a new Furry/Human preference tag for the character directory", "Character Furry/Human Preference", GLOB.char_directory_furrypreftags)
if(!new_furrypreftag)
return
usr?.client?.prefs?.directory_furrypreftag = new_furrypreftag
return TRUE
//CHOMPEdit start
if("setEventTag")
var/list/names_list = list()