Refactored flavortext.

Flavortext is now stored in DNA features and can thus be stolen by
changelings and restored by cloners/pods/etc.
Also added genitals_use_skintone to the random features proc, 'cause it
was missing (my bad, I was even newer at messing with DNA back then :S).
This commit is contained in:
ktccd
2017-08-11 20:13:01 +02:00
parent cad81a26e2
commit 62a7d4301f
4 changed files with 26 additions and 17 deletions

View File

@@ -130,7 +130,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
"womb_cum_rate" = CUM_RATE,
"womb_cum_mult" = CUM_RATE_MULT,
"womb_efficiency" = CUM_EFFICIENCY,
"womb_fluid" = "femcum"
"womb_fluid" = "femcum",
"flavor_text" = ""
)//MAKE SURE TO UPDATE THE LIST IN MOBS.DM IF YOU'RE GOING TO ADD TO THIS LIST, OTHERWISE THINGS MIGHT GET FUCKEY
var/list/custom_names = list("clown", "mime", "ai", "cyborg", "religion", "deity")
@@ -175,7 +176,6 @@ GLOBAL_LIST_EMPTY(preferences_datums)
//citadel code
var/arousable = TRUE //Allows players to disable arousal from the character creation menu
var/flavor_text = ""
/datum/preferences/New(client/C)
parent = C
@@ -394,13 +394,13 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "<table><tr><td width='340px' height='300px' valign='top'>"
dat += "<div class='statusDisplay'><img src=previewicon.png width=[preview_icon.Width()] height=[preview_icon.Height()]></div><br>"
dat += "<a href='byond://?src=\ref[user];preference=flavor_text;task=input'><b>Set Flavor Text</b></a><br>"
if(lentext(flavor_text) <= 40)
if(!lentext(flavor_text))
if(lentext(features["flavor_text"]) <= 40)
if(!lentext(features["flavor_text"]))
dat += "\[...\]"
else
dat += "[flavor_text]"
dat += "[features["flavor_text"]]"
else
dat += "[TextPreview(flavor_text)]...<BR>"
dat += "[TextPreview(features["flavor_text"])]...<BR>"
if(config.mutant_races)//really don't need this check, but fuck un-tabbing all those lines
dat += "<h2>Body</h2>"
dat += "<b>Gender:</b> <a href='?_src_=prefs;preference=gender'>[gender == MALE ? "Male" : "Female"]</a><BR>"
@@ -916,11 +916,11 @@ GLOBAL_LIST_EMPTY(preferences_datums)
age = max(min( round(text2num(new_age)), AGE_MAX),AGE_MIN)
if("flavor_text")
var/msg = input(usr,"Set the flavor text in your 'examine' verb. This can also be used for OOC notes and preferences!","Flavor Text",html_decode(flavor_text)) as message
var/msg = input(usr,"Set the flavor text in your 'examine' verb. This can also be used for OOC notes and preferences!","Flavor Text",html_decode(features["flavor_text"])) as message
if(msg != null)
msg = copytext(msg, 1, MAX_MESSAGE_LEN)
msg = html_encode(msg)
flavor_text = msg
features["flavor_text"] = msg
if("metadata")
var/new_metadata = input(user, "Enter any information you'd like others to see, such as Roleplay-preferences:", "Game Preference" , metadata) as message|null
@@ -1628,7 +1628,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
character.backbag = backbag
character.dna.features = features.Copy()
character.dna.features = features.Copy() //Flavor text is now a DNA feature
character.dna.real_name = character.real_name
var/datum/species/chosen_species
if(pref_species != /datum/species/human && config.mutant_races)
@@ -1639,7 +1639,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
//citadel code
character.give_genitals()
character.flavor_text = flavor_text
character.flavor_text = features["flavor_text"] //Let's update their flavor_text at least initially
character.canbearoused = arousable
if(icon_updates)

View File

@@ -342,9 +342,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["job_engsec_med"] >> job_engsec_med
S["job_engsec_low"] >> job_engsec_low
//Citadel code
S["flavor_text"] >> flavor_text
S["feature_exhibitionist"] >> features["exhibitionist"]
S["feature_mcolor2"] >> features["mcolor2"]
S["feature_mcolor3"] >> features["mcolor3"]
@@ -382,6 +380,13 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["feature_vag_color"] >> features["vag_color"]
//womb features
S["feature_has_womb"] >> features["has_womb"]
//flavor text
//Let's make our players NOT cry desperately as we wipe their savefiles of their special snowflake texts:
if((S["feature_flavor_text"] == "") && (S["flavor_text"] != "")) //If we got no new flavor_text data, but we have old
S["flavor_text"] >> features["flavor_text"]
else //Otherwise use new flavor_text data always
S["feature_flavor_text"] >> features["flavor_text"]
//try to fix any outdated data if necessary
if(needs_update >= 0)
@@ -441,7 +446,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
job_engsec_low = sanitize_integer(job_engsec_low, 0, 65535, initial(job_engsec_low))
//Citadel
flavor_text = sanitize_text(flavor_text, initial(flavor_text))
features["flavor_text"] = sanitize_text(features["flavor_text"], initial(features["flavor_text"]))
if(!features["mcolor2"] || features["mcolor"] == "#000")
features["mcolor2"] = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F")
if(!features["mcolor3"] || features["mcolor"] == "#000")
@@ -510,7 +515,6 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["job_engsec_low"] << job_engsec_low
//Citadel
S["flavor_text"] << flavor_text
S["feature_exhibitionist"] << features["exhibitionist"]
S["feature_mcolor2"] << features["mcolor2"]
S["feature_mcolor3"] << features["mcolor3"]
@@ -548,7 +552,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["feature_vag_color"] << features["vag_color"]
//womb features
S["feature_has_womb"] << features["has_womb"]
//flavor text
S["feature_flavor_text"] << features["flavor_text"]
return 1
#undef SAVEFILE_VERSION_MAX