* Rebase fail. good thing I made back ups. c: * Tails more or less done * wouldn't update cleanly otherwise * It's completly working now. holy fuck I did it Just need the refurbished body markings done, then to chop 'em up for full PR status * MARKINGS DONE AAAAAAAAAAAAA * fixes digi legs that didn't convert correctly * ports the refractored preferences Kinda ugly now tbh. but fuckit * quality sweep, things should should properly now in general * Taurs converted and improved! BODYMARKING -> MATRIXED * oops. s'what I get for not compile checking * remember to throw shade at furries * vigorously update markings upon switching species and colors * re-adds old wolf ears, Big Wolf fixes snout bugs * few more snout tweaks * cut the lists, cut everything. reeee * This code I s2g * Adds context clues to preferences Hopefully people will read them before making an OOC fuss * Fixes hands and feet markings with this one weird trick remember kids, proper layering and order of operations is important * Sprite tweaking and polishing Sergal stuff being worked on * a few QoL things for species swapping * how the fuck did I miss these markings * fleshes out sprites in preperation for marking experimentation later * fixes catboy problems * Mam_snout is a thing now, * pixel adjusted tails, cleaned up wah tail a bit better also gets digitgate legs missing pixels fixed * cleans up more shit. ree * force "plain" instead of none to avoid missing pixel reports * tweaks to reinspire mapdiff * Clean up Preference UI Looks a little better now * k * doubly ensure None markings aren't valid * reee spessman barbie * brightens pixels around tiger head markings * YEENS * Cat ears tweaked because it triggers Kev otherwise * another session of quality control * Crows and crow accessories * husk fixes * works good enough, mission accomplished * fixes the proc properly * cleans up brute force code that isn't needed * c a t
83 lines
3.8 KiB
Plaintext
83 lines
3.8 KiB
Plaintext
/datum/preferences/proc/cit_character_pref_load(savefile/S)
|
|
//ipcs
|
|
S["feature_ipc_screen"] >> features["ipc_screen"]
|
|
S["feature_ipc_antenna"] >> features["ipc_antenna"]
|
|
|
|
features["ipc_screen"] = sanitize_inlist(features["ipc_screen"], GLOB.ipc_screens_list)
|
|
features["ipc_antenna"] = sanitize_inlist(features["ipc_antenna"], GLOB.ipc_antennas_list)
|
|
//Citadel
|
|
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")
|
|
features["mcolor3"] = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F")
|
|
features["mcolor2"] = sanitize_hexcolor(features["mcolor2"], 3, 0)
|
|
features["mcolor3"] = sanitize_hexcolor(features["mcolor3"], 3, 0)
|
|
|
|
//gear loadout
|
|
var/text_to_load
|
|
S["loadout"] >> text_to_load
|
|
var/list/saved_loadout_paths = splittext(text_to_load, "|")
|
|
LAZYCLEARLIST(chosen_gear)
|
|
gear_points = initial(gear_points)
|
|
for(var/i in saved_loadout_paths)
|
|
var/datum/gear/path = text2path(i)
|
|
if(path)
|
|
LAZYADD(chosen_gear, path)
|
|
gear_points -= initial(path.cost)
|
|
|
|
/datum/preferences/proc/cit_character_pref_save(savefile/S)
|
|
//ipcs
|
|
WRITE_FILE(S["feature_ipc_screen"], features["ipc_screen"])
|
|
WRITE_FILE(S["feature_ipc_antenna"], features["ipc_antenna"])
|
|
//Citadel
|
|
WRITE_FILE(S["feature_genitals_use_skintone"], features["genitals_use_skintone"])
|
|
WRITE_FILE(S["feature_exhibitionist"], features["exhibitionist"])
|
|
WRITE_FILE(S["feature_mcolor2"], features["mcolor2"])
|
|
WRITE_FILE(S["feature_mcolor3"], features["mcolor3"])
|
|
WRITE_FILE(S["feature_mam_body_markings"], features["mam_body_markings"])
|
|
WRITE_FILE(S["feature_mam_tail"], features["mam_tail"])
|
|
WRITE_FILE(S["feature_mam_ears"], features["mam_ears"])
|
|
WRITE_FILE(S["feature_mam_tail_animated"], features["mam_tail_animated"])
|
|
WRITE_FILE(S["feature_taur"], features["taur"])
|
|
WRITE_FILE(S["feature_mam_snouts"], features["mam_snouts"])
|
|
//Xeno features
|
|
WRITE_FILE(S["feature_xeno_tail"], features["xenotail"])
|
|
WRITE_FILE(S["feature_xeno_dors"], features["xenodorsal"])
|
|
WRITE_FILE(S["feature_xeno_head"], features["xenohead"])
|
|
//cock features
|
|
WRITE_FILE(S["feature_has_cock"], features["has_cock"])
|
|
WRITE_FILE(S["feature_cock_shape"], features["cock_shape"])
|
|
WRITE_FILE(S["feature_cock_color"], features["cock_color"])
|
|
WRITE_FILE(S["feature_cock_length"], features["cock_length"])
|
|
WRITE_FILE(S["feature_cock_girth"], features["cock_girth"])
|
|
WRITE_FILE(S["feature_has_sheath"], features["sheath_color"])
|
|
//balls features
|
|
WRITE_FILE(S["feature_has_balls"], features["has_balls"])
|
|
WRITE_FILE(S["feature_balls_color"], features["balls_color"])
|
|
WRITE_FILE(S["feature_balls_size"], features["balls_size"])
|
|
WRITE_FILE(S["feature_balls_sack_size"], features["balls_sack_size"])
|
|
WRITE_FILE(S["feature_balls_fluid"], features["balls_fluid"])
|
|
//breasts features
|
|
WRITE_FILE(S["feature_has_breasts"], features["has_breasts"])
|
|
WRITE_FILE(S["feature_breasts_size"], features["breasts_size"])
|
|
WRITE_FILE(S["feature_breasts_shape"], features["breasts_shape"])
|
|
WRITE_FILE(S["feature_breasts_color"], features["breasts_color"])
|
|
WRITE_FILE(S["feature_breasts_fluid"], features["breasts_fluid"])
|
|
//vagina features
|
|
WRITE_FILE(S["feature_has_vag"], features["has_vag"])
|
|
WRITE_FILE(S["feature_vag_shape"], features["vag_shape"])
|
|
WRITE_FILE(S["feature_vag_color"], features["vag_color"])
|
|
//womb features
|
|
WRITE_FILE(S["feature_has_womb"], features["has_womb"])
|
|
//flavor text
|
|
WRITE_FILE(S["feature_flavor_text"], features["flavor_text"])
|
|
|
|
//gear loadout
|
|
if(islist(chosen_gear))
|
|
if(chosen_gear.len)
|
|
var/text_to_save = chosen_gear.Join("|")
|
|
S["loadout"] << text_to_save
|
|
else
|
|
S["loadout"] << "" //empty string to reset the value
|