* 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
128 lines
3.3 KiB
Plaintext
128 lines
3.3 KiB
Plaintext
#define DEFAULT_SLOT_AMT 2
|
|
#define HANDS_SLOT_AMT 2
|
|
#define BACKPACK_SLOT_AMT 4
|
|
|
|
/datum/preferences
|
|
//gear
|
|
var/gear_points = 10
|
|
var/list/gear_categories
|
|
var/list/chosen_gear
|
|
var/gear_tab
|
|
|
|
//pref vars
|
|
var/screenshake = 100
|
|
var/damagescreenshake = 2
|
|
var/arousable = TRUE
|
|
var/widescreenpref = TRUE
|
|
var/autostand = TRUE
|
|
|
|
//vore prefs
|
|
var/toggleeatingnoise = TRUE
|
|
var/toggledigestionnoise = TRUE
|
|
var/hound_sleeper = TRUE
|
|
var/cit_toggles = TOGGLES_CITADEL
|
|
|
|
// stuff that was in base
|
|
max_save_slots = 10
|
|
features = list("mcolor" = "FFF",
|
|
"tail_lizard" = "Smooth",
|
|
"tail_human" = "None",
|
|
"snout" = "Round",
|
|
"horns" = "None",
|
|
"ears" = "None",
|
|
"wings" = "None",
|
|
"frills" = "None",
|
|
"spines" = "None",
|
|
"body_markings" = "None",
|
|
"legs" = "Normal Legs",
|
|
"moth_wings" = "Plain",
|
|
"mcolor2" = "FFF",
|
|
"mcolor3" = "FFF",
|
|
"mam_body_markings" = "None",
|
|
"mam_ears" = "None",
|
|
"mam_snouts" = "None",
|
|
"mam_tail" = "None",
|
|
"mam_tail_animated" = "None",
|
|
"xenodorsal" = "Standard",
|
|
"xenohead" = "Standard",
|
|
"xenotail" = "Xenomorph Tail",
|
|
"taur" = "None",
|
|
"exhibitionist" = FALSE,
|
|
"genitals_use_skintone" = FALSE,
|
|
"has_cock" = FALSE,
|
|
"cock_shape" = "Human",
|
|
"cock_length" = 6,
|
|
"cock_girth_ratio" = COCK_GIRTH_RATIO_DEF,
|
|
"cock_color" = "fff",
|
|
"has_sheath" = FALSE,
|
|
"sheath_color" = "fff",
|
|
"has_balls" = FALSE,
|
|
"balls_internal" = FALSE,
|
|
"balls_color" = "fff",
|
|
"balls_amount" = 2,
|
|
"balls_sack_size" = BALLS_SACK_SIZE_DEF,
|
|
"balls_size" = BALLS_SIZE_DEF,
|
|
"balls_cum_rate" = CUM_RATE,
|
|
"balls_cum_mult" = CUM_RATE_MULT,
|
|
"balls_efficiency" = CUM_EFFICIENCY,
|
|
"balls_fluid" = "semen",
|
|
"has_ovi" = FALSE,
|
|
"ovi_shape" = "knotted",
|
|
"ovi_length" = 6,
|
|
"ovi_color" = "fff",
|
|
"has_eggsack" = FALSE,
|
|
"eggsack_internal" = TRUE,
|
|
"eggsack_color" = "fff",
|
|
"eggsack_size" = BALLS_SACK_SIZE_DEF,
|
|
"eggsack_egg_color" = "fff",
|
|
"eggsack_egg_size" = EGG_GIRTH_DEF,
|
|
"has_breasts" = FALSE,
|
|
"breasts_color" = "fff",
|
|
"breasts_size" = "C",
|
|
"breasts_shape" = "Pair",
|
|
"breasts_fluid" = "milk",
|
|
"has_vag" = FALSE,
|
|
"vag_shape" = "Human",
|
|
"vag_color" = "fff",
|
|
"vag_clits" = 1,
|
|
"vag_clit_diam" = 0.25,
|
|
"has_womb" = FALSE,
|
|
"womb_cum_rate" = CUM_RATE,
|
|
"womb_cum_mult" = CUM_RATE_MULT,
|
|
"womb_efficiency" = CUM_EFFICIENCY,
|
|
"womb_fluid" = "femcum",
|
|
"ipc_screen" = "Sunburst",
|
|
"ipc_antenna" = "None",
|
|
"flavor_text" = ""
|
|
)
|
|
|
|
/datum/preferences/New(client/C)
|
|
..()
|
|
LAZYINITLIST(chosen_gear)
|
|
|
|
/datum/preferences/proc/is_loadout_slot_available(slot)
|
|
var/list/L
|
|
LAZYINITLIST(L)
|
|
for(var/i in chosen_gear)
|
|
var/datum/gear/G = i
|
|
var/occupied_slots = L[slot_to_string(initial(G.category))] ? L[slot_to_string(initial(G.category))] + 1 : 1
|
|
LAZYSET(L, slot_to_string(initial(G.category)), occupied_slots)
|
|
switch(slot)
|
|
if(SLOT_IN_BACKPACK)
|
|
if(L[slot_to_string(SLOT_IN_BACKPACK)] < BACKPACK_SLOT_AMT)
|
|
return TRUE
|
|
if(SLOT_HANDS)
|
|
if(L[slot_to_string(SLOT_HANDS)] < HANDS_SLOT_AMT)
|
|
return TRUE
|
|
else
|
|
if(L[slot_to_string(slot)] < DEFAULT_SLOT_AMT)
|
|
return TRUE
|
|
|
|
datum/preferences/copy_to(mob/living/carbon/human/character, icon_updates = 1)
|
|
..()
|
|
character.give_genitals(TRUE)
|
|
character.flavor_text = features["flavor_text"] //Let's update their flavor_text at least initially
|
|
character.canbearoused = arousable
|
|
if(icon_updates)
|
|
character.update_genitals()
|