Oocpaneledit 2 (Copy of #7713) (#7763)

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
Co-authored-by: Kashargul <KashL@t-online.de>
This commit is contained in:
Raeschen
2024-02-16 11:48:34 +01:00
committed by GitHub
co-authored by Kashargul Kashargul
parent be481849b9
commit 615004fb01
28 changed files with 716 additions and 38 deletions
@@ -25,6 +25,11 @@
S["OOC_Notes"] >> pref.metadata
S["OOC_Notes_Likes"] >> pref.metadata_likes
S["OOC_Notes_Disikes"] >> pref.metadata_dislikes
//CHOMPEdit Start
S["OOC_Notes_Maybes"] >> pref.metadata_maybes
S["OOC_Notes_Favs"] >> pref.metadata_favs
S["OOC_Notes_System"] >> pref.matadata_ooc_style
//CHOMPEdit End
/datum/category_item/player_setup_item/general/basic/save_character(var/savefile/S)
S["real_name"] << pref.real_name
@@ -41,6 +46,11 @@
S["OOC_Notes"] << pref.metadata
S["OOC_Notes_Likes"] << pref.metadata_likes
S["OOC_Notes_Disikes"] << pref.metadata_dislikes
//CHOMPEdit Start
S["OOC_Notes_Favs"] << pref.metadata_favs
S["OOC_Notes_Maybes"] << pref.metadata_maybes
S["OOC_Notes_System"] << pref.matadata_ooc_style
//CHOMPEdit End
/datum/category_item/player_setup_item/general/basic/sanitize_character()
pref.age = sanitize_integer(pref.age, get_min_age(), get_max_age(), initial(pref.age))
@@ -94,7 +104,10 @@
. += "<b>Age:</b> <a href='?src=\ref[src];age=1'>[pref.age]</a> <b>Birthday:</b> <a href='?src=\ref[src];bday_month=1'>[pref.bday_month]</a><b>/</b><a href='?src=\ref[src];bday_day=1'>[pref.bday_day]</a> - <b>Announce?:</b> <a href='?src=\ref[src];bday_announce=1'>[pref.bday_announce ? "Yes" : "Disabled"]</a><br>" //ChompEDIT - DISABLE the announcement
. += "<b>Spawn Point</b>: <a href='?src=\ref[src];spawnpoint=1'>[pref.spawnpoint]</a><br>"
if(config.allow_Metadata)
. += "<b>OOC Notes: <a href='?src=\ref[src];edit_ooc_notes=1'>Edit</a><a href='?src=\ref[src];edit_ooc_note_likes=1'>Likes</a><a href='?src=\ref[src];edit_ooc_note_dislikes=1'>Dislikes</a></b><br>"
//CHOMPEdit Start
. += "<b>OOC Notes: <a href='?src=\ref[src];edit_ooc_notes=1'>Edit</a><a href='?src=\ref[src];edit_ooc_note_favs=1'>Favs</a><a href='?src=\ref[src];edit_ooc_note_likes=1'>Likes</a><a href='?src=\ref[src];edit_ooc_note_maybes=1'>Maybes</a><a href='?src=\ref[src];edit_ooc_note_dislikes=1'>Dislikes</a></b><br>"
. += "Detailed field or short list system? <a href='?src=\ref[src];edit_ooc_note_style=1'>[pref.matadata_ooc_style ? "Lists" : "Fields"]</a><br><br>"
//CHOMPEdit End
. = jointext(.,null)
/datum/category_item/player_setup_item/general/basic/OnTopic(var/href,var/list/href_list, var/mob/user)
@@ -231,6 +244,23 @@
if(new_metadata == "!clear")
new_metadata = ""
pref.metadata_dislikes = new_metadata
//CHOMPEdit Start
else if(href_list["edit_ooc_note_favs"])
var/new_metadata = strip_html_simple(tgui_input_text(usr, "Enter any information you'd like others to see relating to your FAVOURITE roleplay preferences. This will not be saved permanently unless you click save in the Character Setup panel! Type \"!clear\" to empty.", "Game Preference" , html_decode(pref.metadata_favs), multiline = TRUE, prevent_enter = TRUE))
if(new_metadata && CanUseTopic(user))
if(new_metadata == "!clear")
new_metadata = ""
pref.metadata_favs = new_metadata
else if(href_list["edit_ooc_note_maybes"])
var/new_metadata = strip_html_simple(tgui_input_text(usr, "Enter any information you'd like others to see relating to your MAYBE roleplay preferences. This will not be saved permanently unless you click save in the Character Setup panel! Type \"!clear\" to empty.", "Game Preference" , html_decode(pref.metadata_maybes), multiline = TRUE, prevent_enter = TRUE))
if(new_metadata && CanUseTopic(user))
if(new_metadata == "!clear")
new_metadata = ""
pref.metadata_maybes = new_metadata
else if(href_list["edit_ooc_note_style"])
pref.matadata_ooc_style = !pref.matadata_ooc_style
return TOPIC_REFRESH
//CHOMPEdit End
return ..()
/datum/category_item/player_setup_item/general/basic/proc/get_genders()
@@ -51,6 +51,11 @@
character.ooc_notes = pref.metadata //VOREStation Add
character.ooc_notes_likes = pref.metadata_likes
character.ooc_notes_dislikes = pref.metadata_dislikes
//CHOMPEdit Start
character.ooc_notes_maybes = pref.metadata_maybes
character.ooc_notes_favs = pref.metadata_favs
character.ooc_notes_style = pref.matadata_ooc_style
//CHOMPEdit End
character.custom_link = pref.custom_link
/datum/category_item/player_setup_item/general/flavor/content(var/mob/user)
+120 -27
View File
@@ -61,10 +61,17 @@ GLOBAL_DATUM(character_directory, /datum/character_directory)
var/name = null
var/species = null
var/ooc_notes = null
//CHOMPEdit Start
var/ooc_notes_favs = null
var/ooc_notes_likes = null
var/ooc_notes_maybes = null
var/ooc_notes_dislikes = null
var/ooc_notes_style = null
var/gendertag = null
var/sexualitytag = null
var/eventtag = vantag_choices_list[VANTAG_NONE]
//CHOMPEdit End
var/flavor_text = null
var/gendertag = null // CHOMPStation Edit: Character Directory Update
var/sexualitytag = null // CHOMPStation Edit: Character Directory Update
var/eventtag = vantag_choices_list[VANTAG_NONE] //CHOMPEdit
var/tag
var/erptag
var/character_ad
@@ -72,44 +79,75 @@ GLOBAL_DATUM(character_directory, /datum/character_directory)
tag = C.mob.mind.directory_tag || "Unset"
erptag = C.mob.mind.directory_erptag || "Unset"
character_ad = C.mob.mind.directory_ad
//CHOMPEdit Start
gendertag = C.mob.mind.directory_gendertag || "Unset"
sexualitytag = C.mob.mind.directory_sexualitytag || "Unset"
eventtag = vantag_choices_list[C.mob.mind.vantag_preference]
//CHOMPEdit End
else
tag = C.prefs.directory_tag || "Unset"
erptag = C.prefs.directory_erptag || "Unset"
character_ad = C.prefs.directory_ad
//CHOMPEdit Start
gendertag = C.prefs.directory_gendertag || "Unset"
sexualitytag = C.prefs.directory_sexualitytag || "Unset"
eventtag = vantag_choices_list[C.prefs.vantag_preference]
//CHOMPEdit End
//CHOMPEdit Start
if(ishuman(C.mob))
var/mob/living/carbon/human/H = C.mob
var/strangername = H.real_name
var/strangername = H.real_name //CHOMPEdit
if(data_core && data_core.general)
if(!find_general_record("name", H.real_name))
if(!find_record("name", H.real_name, data_core.hidden_general))
strangername = "unknown"
if(!find_record("name", H.real_name, data_core.hidden_general)) //CHOMPEdit
strangername = "unknown" //CHOMPEdit
name = strangername
species = "[H.custom_species ? H.custom_species : H.species.name]"
ooc_notes = H.ooc_notes
if(H.ooc_notes_likes)
ooc_notes += "\n\nLIKES\n\n[H.ooc_notes_likes]"
if(H.ooc_notes_dislikes)
ooc_notes += "\n\nDISLIKES\n\n[H.ooc_notes_dislikes]"
if(LAZYLEN(H.flavor_texts)) //ChompEDIT
flavor_text = H.flavor_texts["general"] //ChompEDIT
//CHOMPEdit Start
if(H.ooc_notes_style && (H.ooc_notes_favs || H.ooc_notes_likes || H.ooc_notes_maybes || H.ooc_notes_dislikes))
ooc_notes = H.ooc_notes + "\n\n"
ooc_notes_favs = H.ooc_notes_favs
ooc_notes_likes = H.ooc_notes_likes
ooc_notes_maybes = H.ooc_notes_maybes
ooc_notes_dislikes = H.ooc_notes_dislikes
ooc_notes_style = H.ooc_notes_style
else
if(H.ooc_notes_favs)
ooc_notes += "\n\nFAVOURITES\n\n[H.ooc_notes_favs]"
if(H.ooc_notes_likes)
ooc_notes += "\n\nLIKES\n\n[H.ooc_notes_likes]"
if(H.ooc_notes_maybes)
ooc_notes += "\n\nMAYBES\n\n[H.ooc_notes_maybes]"
if(H.ooc_notes_dislikes)
ooc_notes += "\n\nDISLIKES\n\n[H.ooc_notes_dislikes]"
if(LAZYLEN(H.flavor_texts))
flavor_text = H.flavor_texts["general"]
//CHOMPEdit End
if(isAI(C.mob))
var/mob/living/silicon/ai/A = C.mob
name = A.name
species = "Artificial Intelligence"
ooc_notes = A.ooc_notes
if(A.ooc_notes_likes)
ooc_notes += "\n\nLIKES\n\n[A.ooc_notes_likes]"
if(A.ooc_notes_dislikes)
ooc_notes += "\n\nDISLIKES\n\n[A.ooc_notes_dislikes]"
//CHOMPEdit Start
if(A.ooc_notes_style && (A.ooc_notes_favs || A.ooc_notes_likes || A.ooc_notes_maybes || A.ooc_notes_dislikes))
ooc_notes = A.ooc_notes + "\n\n"
ooc_notes_favs = A.ooc_notes_favs
ooc_notes_likes = A.ooc_notes_likes
ooc_notes_maybes = A.ooc_notes_maybes
ooc_notes_dislikes = A.ooc_notes_dislikes
ooc_notes_style = A.ooc_notes_style
else
if(A.ooc_notes_favs)
ooc_notes += "\n\nFAVOURITES\n\n[A.ooc_notes_favs]"
if(A.ooc_notes_likes)
ooc_notes += "\n\nLIKES\n\n[A.ooc_notes_likes]"
if(A.ooc_notes_maybes)
ooc_notes += "\n\nMAYBES\n\n[A.ooc_notes_maybes]"
if(A.ooc_notes_dislikes)
ooc_notes += "\n\nDISLIKES\n\n[A.ooc_notes_dislikes]"
//CHOMPEdit End
flavor_text = null // No flavor text for AIs :c
@@ -120,18 +158,49 @@ GLOBAL_DATUM(character_directory, /datum/character_directory)
name = R.name
species = "[R.modtype] [R.braintype]"
ooc_notes = R.ooc_notes
if(R.ooc_notes_likes)
ooc_notes += "\n\nLIKES\n\n[R.ooc_notes_likes]"
if(R.ooc_notes_dislikes)
ooc_notes += "\n\nDISLIKES\n\n[R.ooc_notes_dislikes]"
//CHOMPEdit Start
if(R.ooc_notes_style && (R.ooc_notes_favs || R.ooc_notes_likes || R.ooc_notes_maybes || R.ooc_notes_dislikes))
ooc_notes = R.ooc_notes + "\n\n"
ooc_notes_favs = R.ooc_notes_favs
ooc_notes_likes = R.ooc_notes_likes
ooc_notes_maybes = R.ooc_notes_maybes
ooc_notes_dislikes = R.ooc_notes_dislikes
ooc_notes_style = R.ooc_notes_style
else
if(R.ooc_notes_favs)
ooc_notes += "\n\nFAVOURITES\n\n[R.ooc_notes_favs]"
if(R.ooc_notes_likes)
ooc_notes += "\n\nLIKES\n\n[R.ooc_notes_likes]"
if(R.ooc_notes_maybes)
ooc_notes += "\n\nMAYBES\n\n[R.ooc_notes_maybes]"
if(R.ooc_notes_dislikes)
ooc_notes += "\n\nDISLIKES\n\n[R.ooc_notes_dislikes]"
//CHOMPEdit End
flavor_text = R.flavor_text
//CHOMPEdit Start
if(istype(C.mob, /mob/living/silicon/pai))
var/mob/living/silicon/pai/P = C.mob
name = P.name
species = "pAI"
ooc_notes = P.ooc_notes
if(P.ooc_notes_style && (P.ooc_notes_favs || P.ooc_notes_likes || P.ooc_notes_maybes || P.ooc_notes_dislikes))
ooc_notes = P.ooc_notes + "\n\n"
ooc_notes_favs = P.ooc_notes_favs
ooc_notes_likes = P.ooc_notes_likes
ooc_notes_maybes = P.ooc_notes_maybes
ooc_notes_dislikes = P.ooc_notes_dislikes
ooc_notes_style = P.ooc_notes_style
else
if(P.ooc_notes_favs)
ooc_notes += "\n\nFAVOURITES\n\n[P.ooc_notes_favs]"
if(P.ooc_notes_likes)
ooc_notes += "\n\nLIKES\n\n[P.ooc_notes_likes]"
if(P.ooc_notes_maybes)
ooc_notes += "\n\nMAYBES\n\n[P.ooc_notes_maybes]"
if(P.ooc_notes_dislikes)
ooc_notes += "\n\nDISLIKES\n\n[P.ooc_notes_dislikes]"
flavor_text = P.flavor_text
if(istype(C.mob, /mob/living/simple_mob))
@@ -139,8 +208,24 @@ GLOBAL_DATUM(character_directory, /datum/character_directory)
name = S.name
species = S.character_directory_species()
ooc_notes = S.ooc_notes
if(S.ooc_notes_style && (S.ooc_notes_favs || S.ooc_notes_likes || S.ooc_notes_maybes || S.ooc_notes_dislikes))
ooc_notes = S.ooc_notes + "\n\n"
ooc_notes_favs = S.ooc_notes_favs
ooc_notes_likes = S.ooc_notes_likes
ooc_notes_maybes = S.ooc_notes_maybes
ooc_notes_dislikes = S.ooc_notes_dislikes
ooc_notes_style = S.ooc_notes_style
else
if(S.ooc_notes_favs)
ooc_notes += "\n\nFAVOURITES\n\n[S.ooc_notes_favs]"
if(S.ooc_notes_likes)
ooc_notes += "\n\nLIKES\n\n[S.ooc_notes_likes]"
if(S.ooc_notes_maybes)
ooc_notes += "\n\nMAYBES\n\n[S.ooc_notes_maybes]"
if(S.ooc_notes_dislikes)
ooc_notes += "\n\nDISLIKES\n\n[S.ooc_notes_dislikes]"
flavor_text = S.desc
//CHOMPEdit End
//CHOMPEdit End
// It's okay if we fail to find OOC notes and flavor text
// But if we can't find the name, they must be using a non-compatible mob type currently.
@@ -150,12 +235,19 @@ GLOBAL_DATUM(character_directory, /datum/character_directory)
directory_mobs.Add(list(list(
"name" = name,
"species" = species,
//CHOMPEdit Start
"ooc_notes_favs" = ooc_notes_favs,
"ooc_notes_likes" = ooc_notes_likes,
"ooc_notes_maybes" = ooc_notes_maybes,
"ooc_notes_dislikes" = ooc_notes_dislikes,
"ooc_notes_style" = ooc_notes_style,
"gendertag" = gendertag,
"sexualitytag" = sexualitytag,
"eventtag" = eventtag,
//CHOMPEdit End
"ooc_notes" = ooc_notes,
"tag" = tag,
"gendertag" = gendertag, // CHOMPStation Edit: Character Directory Update
"sexualitytag" = sexualitytag, // CHOMPStation Edit: Character Directory Update
"erptag" = erptag,
"eventtag" = eventtag, //CHOMPEdit
"character_ad" = character_ad,
"flavor_text" = flavor_text,
)))
@@ -196,8 +288,7 @@ GLOBAL_DATUM(character_directory, /datum/character_directory)
if(!new_tag)
return
return set_for_mind_or_prefs(user, action, new_tag, can_set_prefs, can_set_mind)
// CHOMPStation Edit End: Directory Update
if("setErpTag")
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
@@ -268,6 +359,7 @@ GLOBAL_DATUM(character_directory, /datum/character_directory)
if (can_set_mind)
user.mind.directory_ad = new_value
return TRUE
//CHOMPEdit Start
if ("setEventTag")
if (can_set_prefs)
user.client.prefs.vantag_preference = new_value
@@ -283,3 +375,4 @@ GLOBAL_DATUM(character_directory, /datum/character_directory)
user.client.prefs.directory_sexualitytag = new_value
if (can_set_mind)
user.mind.directory_sexualitytag = new_value
//CHOMPEdit End