diff --git a/GainStation13/code/__HELPERS/global_lists.dm b/GainStation13/code/__HELPERS/global_lists.dm new file mode 100644 index 0000000000..93bb9e66fe --- /dev/null +++ b/GainStation13/code/__HELPERS/global_lists.dm @@ -0,0 +1 @@ +GLOBAL_LIST_INIT(genital_fluids_list, list("Milk", "Water", "Semen", "Femcum", "Honey", "Strawberry Milk", "Nutriment", "Berry Juice")) diff --git a/code/modules/arousal/organs/breasts.dm b/code/modules/arousal/organs/breasts.dm index b9129e28a1..e152c5583e 100644 --- a/code/modules/arousal/organs/breasts.dm +++ b/code/modules/arousal/organs/breasts.dm @@ -124,5 +124,10 @@ prev_size = cached_size toggle_visibility(D.features["breasts_visibility"], FALSE) + // GS13 EDIT START + if(D?.features["breasts_fluid"]) + fluid_id = owner.dna.features["breasts_fluid"] + // GS13 EDIT END + #undef BREASTS_ICON_MIN_SIZE #undef BREASTS_ICON_MAX_SIZE diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index a10d83b8a1..ad8a648de7 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -132,7 +132,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/eye_type = DEFAULT_EYES_TYPE //Eye type var/split_eye_colors = FALSE var/datum/species/pref_species = new /datum/species/human() //Mutant race - var/list/features = list("mcolor" = "FFFFFF", "mcolor2" = "FFFFFF", "mcolor3" = "FFFFFF", "tail_lizard" = "Smooth", "tail_human" = "None", "snout" = "Round", "horns" = "None", "horns_color" = "85615a", "ears" = "None", "wings" = "None", "wings_color" = "FFF", "frills" = "None", "deco_wings" = "None", "spines" = "None", "legs" = "Plantigrade", "insect_wings" = "Plain", "insect_fluff" = "None", "insect_markings" = "None", "arachnid_legs" = "Plain", "arachnid_spinneret" = "Plain", "arachnid_mandibles" = "Plain", "mam_body_markings" = list(), "mam_ears" = "None", "mam_snouts" = "None", "mam_tail" = "None", "mam_tail_animated" = "None", "xenodorsal" = "Standard", "xenohead" = "Standard", "xenotail" = "Xenomorph Tail", "taur" = "None", "genitals_use_skintone" = FALSE, "has_cock" = FALSE, "cock_shape" = DEF_COCK_SHAPE, "cock_length" = COCK_SIZE_DEF, "cock_diameter_ratio" = COCK_DIAMETER_RATIO_DEF, "cock_color" = "ffffff", "cock_taur" = FALSE, "has_balls" = FALSE, "balls_color" = "ffffff", "balls_shape" = DEF_BALLS_SHAPE, "balls_size" = BALLS_SIZE_DEF, "balls_cum_rate" = CUM_RATE, "balls_cum_mult" = CUM_RATE_MULT, "balls_efficiency" = CUM_EFFICIENCY, "has_breasts" = FALSE, "breasts_color" = "ffffff", "breasts_size" = BREASTS_SIZE_DEF, "breasts_shape" = DEF_BREASTS_SHAPE, "breasts_producing" = FALSE, "has_vag" = FALSE, "vag_shape" = DEF_VAGINA_SHAPE, "vag_color" = "ffffff", "has_womb" = FALSE, "has_butt" = FALSE, "butt_color" = "ffffff", "butt_size" = BUTT_SIZE_DEF, "balls_visibility" = GEN_VISIBLE_NO_UNDIES, "breasts_visibility"= GEN_VISIBLE_NO_UNDIES, "cock_visibility" = GEN_VISIBLE_NO_UNDIES, "vag_visibility" = GEN_VISIBLE_NO_UNDIES, "butt_visibility" = GEN_VISIBLE_NO_UNDIES, "ipc_screen" = "Sunburst", "ipc_antenna" = "None", "flavor_text" = "", "silicon_flavor_text" = "", "ooc_notes" = "", "meat_type" = "Mammalian", "body_model" = MALE, "body_size" = RESIZE_DEFAULT_SIZE, "color_scheme" = OLD_CHARACTER_COLORING) + var/list/features = list("mcolor" = "FFFFFF", "mcolor2" = "FFFFFF", "mcolor3" = "FFFFFF", "tail_lizard" = "Smooth", "tail_human" = "None", "snout" = "Round", "horns" = "None", "horns_color" = "85615a", "ears" = "None", "wings" = "None", "wings_color" = "FFF", "frills" = "None", "deco_wings" = "None", "spines" = "None", "legs" = "Plantigrade", "insect_wings" = "Plain", "insect_fluff" = "None", "insect_markings" = "None", "arachnid_legs" = "Plain", "arachnid_spinneret" = "Plain", "arachnid_mandibles" = "Plain", "mam_body_markings" = list(), "mam_ears" = "None", "mam_snouts" = "None", "mam_tail" = "None", "mam_tail_animated" = "None", "xenodorsal" = "Standard", "xenohead" = "Standard", "xenotail" = "Xenomorph Tail", "taur" = "None", "genitals_use_skintone" = FALSE, "has_cock" = FALSE, "cock_shape" = DEF_COCK_SHAPE, "cock_length" = COCK_SIZE_DEF, "cock_diameter_ratio" = COCK_DIAMETER_RATIO_DEF, "cock_color" = "ffffff", "cock_taur" = FALSE, "has_balls" = FALSE, "balls_color" = "ffffff", "balls_shape" = DEF_BALLS_SHAPE, "balls_size" = BALLS_SIZE_DEF, "balls_cum_rate" = CUM_RATE, "balls_cum_mult" = CUM_RATE_MULT, "balls_efficiency" = CUM_EFFICIENCY, "has_breasts" = FALSE, "breasts_color" = "ffffff", "breasts_size" = BREASTS_SIZE_DEF, "breasts_shape" = DEF_BREASTS_SHAPE, "breasts_fluid" = /datum/reagent/consumable/milk, "breasts_producing" = FALSE, "has_vag" = FALSE, "vag_shape" = DEF_VAGINA_SHAPE, "vag_color" = "ffffff", "has_womb" = FALSE, "has_butt" = FALSE, "butt_color" = "ffffff", "butt_size" = BUTT_SIZE_DEF, "balls_visibility" = GEN_VISIBLE_NO_UNDIES, "breasts_visibility"= GEN_VISIBLE_NO_UNDIES, "cock_visibility" = GEN_VISIBLE_NO_UNDIES, "vag_visibility" = GEN_VISIBLE_NO_UNDIES, "butt_visibility" = GEN_VISIBLE_NO_UNDIES, "ipc_screen" = "Sunburst", "ipc_antenna" = "None", "flavor_text" = "", "silicon_flavor_text" = "", "ooc_notes" = "", "meat_type" = "Mammalian", "body_model" = MALE, "body_size" = RESIZE_DEFAULT_SIZE, "color_scheme" = OLD_CHARACTER_COLORING) var/custom_speech_verb = "default" //if your say_mod is to be something other than your races var/custom_tongue = "default" //if your tongue is to be something other than your races @@ -794,6 +794,29 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Breasts Shape:[features["breasts_shape"]]" dat += "Breasts Visibility:[features["breasts_visibility"]]" dat += "Lactates:[features["breasts_producing"] == TRUE ? "Yes" : "No"]" + if(features["breasts_producing"]) + switch(features["breasts_fluid"]) + if(/datum/reagent/consumable/milk) + dat += "Milk" + if(/datum/reagent/water) + dat += "Water" + if(/datum/reagent/consumable/semen) + dat += "Semen" + if(/datum/reagent/consumable/semen/femcum) + dat += "Femcum" + if(/datum/reagent/consumable/alienhoney) + dat += "Honey" + if(/datum/reagent/consumable/milk/pinkmilk) + dat += "Strawberry Milk" + if(/datum/reagent/consumable/nutriment) + dat += "Nutriment" + if(/datum/reagent/blueberry_juice) + dat += "Berry Juice" + else + dat += "Nothing?" + //This else is a safeguard for errors, and if it happened, they wouldn't be able to change this pref, + //DO NOT REMOVE IT UNLESS YOU HAVE A GOOD IDEA + dat += "" dat += APPEARANCE_CATEGORY_COLUMN dat += "

Butt

" @@ -2615,6 +2638,29 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(new_shape) features["breasts_shape"] = new_shape + // GS13 EDIT START + if("breasts_fluid") + var/new_shape + new_shape = input(user, "Breast Fluid", "Character Preference") as null|anything in GLOB.genital_fluids_list + switch(new_shape) + if("Milk") + features["breasts_fluid"] = /datum/reagent/consumable/milk + if("Water") + features["breasts_fluid"] = /datum/reagent/water + if("Semen") + features["breasts_fluid"] = /datum/reagent/consumable/semen + if("Femcum") + features["breasts_fluid"] = /datum/reagent/consumable/semen/femcum + if("Honey") + features["breasts_fluid"] = /datum/reagent/consumable/alienhoney + if("Strawberry Milk") + features["breasts_fluid"] = /datum/reagent/consumable/milk/pinkmilk + if("Nutriment") + features["breasts_fluid"] = /datum/reagent/consumable/nutriment + if("Berry Juice") + features["breasts_fluid"] = /datum/reagent/blueberry_juice + // GS13 EDIT EN + if("breasts_color") var/new_breasts_color = input(user, "Breast Color:", "Character Preference","#"+features["breasts_color"]) as color|null if(new_breasts_color) diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index f1c972bff1..488f167981 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -949,6 +949,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["fatness_vulnerable"] >> fatness_vulnerable S["extreme_fatness_vulnerable"] >> extreme_fatness_vulnerable S["blueberry_inflation"] >> blueberry_inflation + S["feature_breasts_fluid"] >> features["breasts_fluid"] //gear loadout if(S["loadout"]) @@ -1227,6 +1228,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["fatness_vulnerable"], fatness_vulnerable) WRITE_FILE(S["extreme_fatness_vulnerable"], extreme_fatness_vulnerable) WRITE_FILE(S["blueberry_inflation"], blueberry_inflation) + WRITE_FILE(S["feature_breasts_fluid"], features["breasts_fluid"]) // records WRITE_FILE(S["security_records"] , security_records) diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 93bd4c4eba..ef856e04b1 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -390,6 +390,47 @@ if (length(msg)) . += "[msg.Join("")]" + //GS13 EDIT FAT EXAMINE + switch(fullness) + if(FULLNESS_LEVEL_BLOATED to FULLNESS_LEVEL_BEEG) + . += "[t_He] look[p_s()] like [t_He] ate a bit too much.\n" + if(FULLNESS_LEVEL_BEEG to FULLNESS_LEVEL_NOMOREPLZ) + . += "[t_His] stomach looks very round and very full.\n" + if(FULLNESS_LEVEL_NOMOREPLZ to INFINITY) + . += "[t_His] stomach has been stretched to enormous proportions.\n" + + if(nutrition < NUTRITION_LEVEL_STARVING - 50) + . += "[t_He] [t_is] severely malnourished.\n" + + if(fatness >= FATNESS_LEVEL_BLOB) + . += span_boldwarning("[t_He] [t_is] completely engulfed in rolls upon rolls of flab. [t_His] head is poking out on top of [t_His] body, akin to a marble on top of a hill.") + + else if(fatness >= FATNESS_LEVEL_IMMOBILE) + . += span_boldwarning("[t_His] body is buried in an overflowing surplus of adipose, and [t_His] legs are completely buried beneath layers of meaty, obese flesh.") + + else if(fatness >= FATNESS_LEVEL_BARELYMOBILE) + . += span_warning("[t_He] [t_is] as wide as [t_He] [t_is] tall, barely able to move [t_His] masssive body that seems to be overtaken with piles of flab.") + + else if(fatness >= FATNESS_LEVEL_EXTREMELY_OBESE) + . += span_warning("[t_He] [t_is] ripe with numerous rolls of fat, almost all of [t_His] body layered with adipose.") + + else if(fatness >= FATNESS_LEVEL_MORBIDLY_OBESE) + . += span_warning("[t_He] [t_is] utterly stuffed with abundant lard, [t_He] doesn't seem to be able to move much.") + + else if(fatness >= FATNESS_LEVEL_OBESE) + . += span_warning("[t_He] [t_is] engorged with fat, [t_His] body laden in rolls of fattened flesh.") + + else if(fatness >= FATNESS_LEVEL_VERYFAT) + . += span_notice("[t_He] [t_is] pleasantly plushy, [t_His] body gently wobbling whenever they move.") + + else if(fatness >= FATNESS_LEVEL_FATTER) + . += span_notice("[t_He] [t_is] soft and curvy, [t_His] belly looking like a small pillow.") + + //GS13 EDIT START + if(client?.prefs?.noncon_weight_gain) + . += "\nNon-con fattening is allowed\n" + //GS13 EDIT END + var/trait_exam = common_trait_examine() if (!isnull(trait_exam)) . += trait_exam diff --git a/hyperstation/code/datums/components/crafting/bounties.dm b/hyperstation/code/datums/components/crafting/bounties.dm index c6511c6ec3..e6fd87b94f 100644 --- a/hyperstation/code/datums/components/crafting/bounties.dm +++ b/hyperstation/code/datums/components/crafting/bounties.dm @@ -100,6 +100,6 @@ datum/bounty/lewd/fluid/New() //GS13 made some edits here that changes stuff int worth += fluids[/datum/reagent/consumable/semen]*2 worth += fluids[/datum/reagent/consumable/milk]*2 - worth += fluids[/datum/reagent/consumable/femcum]*5 + worth += fluids[/datum/reagent/consumable/semen/femcum]*5 return worth */ diff --git a/tgstation.dme b/tgstation.dme index 3a189e898c..217a2b2daa 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3903,6 +3903,7 @@ #include "code\modules\VR\vr_sleeper.dm" #include "code\modules\zombie\items.dm" #include "code\modules\zombie\organs.dm" +#include "GainStation13\code\__HELPERS\global_lists.dm" #include "GainStation13\code\clothing\accessory.dm" #include "GainStation13\code\clothing\backpacks.dm" #include "GainStation13\code\clothing\calorite_collar.dm" @@ -4059,6 +4060,7 @@ #include "hyperstation\code\modules\food_and_drinks\recipes\drinks_recipes.dm" #include "hyperstation\code\modules\mob\living\status_indicators.dm" #include "hyperstation\code\modules\reagents\chemistry\reagents\drink_reagents.dm" +#include "hyperstation\code\modules\reagents\chemistry\reagents\food_reagents.dm" #include "hyperstation\code\modules\resize\resize_action.dm" #include "hyperstation\code\modules\resize\resizing.dm" #include "hyperstation\code\modules\resize\sizechems.dm"