diff --git a/GainStation13/code/game/objects/items/docility_implant.dm b/GainStation13/code/game/objects/items/docility_implant.dm index 5cedf0645a..6c6b56349b 100644 --- a/GainStation13/code/game/objects/items/docility_implant.dm +++ b/GainStation13/code/game/objects/items/docility_implant.dm @@ -99,8 +99,8 @@ balls.fluid_mult = balls.fluid_mult * productivity_mult balls.fluid_max_volume = balls.fluid_max_volume * productivity_mult - if(target_human?.getorganslot("breasts")) - var/obj/item/organ/genital/breasts/boobs = target_human?.getorganslot("breasts") + if(target_human?.getorganslot(ORGAN_SLOT_BREASTS)) + var/obj/item/organ/genital/breasts/boobs = target_human?.getorganslot(ORGAN_SLOT_BREASTS) boobs.fluid_mult = boobs.fluid_mult * productivity_mult boobs.fluid_max_volume = boobs.fluid_max_volume * productivity_mult @@ -109,17 +109,17 @@ if(!.) return FALSE - var/mob/living/carbon/human/target_human = source + var/mob/living/carbon/human/target_human = source target_human.real_name = stored_name - target_human.name = stored_name + target_human.name = stored_name if(target_human?.getorganslot("testicles")) var/obj/item/organ/genital/testicles/balls = target_human?.getorganslot("testicles") balls.fluid_mult = balls.fluid_mult / productivity_mult balls.fluid_max_volume = balls.fluid_max_volume / productivity_mult - if(target_human?.getorganslot("breasts")) - var/obj/item/organ/genital/breasts/boobs = target_human?.getorganslot("breasts") + if(target_human?.getorganslot(ORGAN_SLOT_BREASTS)) + var/obj/item/organ/genital/breasts/boobs = target_human?.getorganslot(ORGAN_SLOT_BREASTS) boobs.fluid_mult = boobs.fluid_mult / productivity_mult boobs.fluid_max_volume = boobs.fluid_max_volume / productivity_mult diff --git a/GainStation13/code/machinery/feeding_tube.dm b/GainStation13/code/machinery/feeding_tube.dm index 498b174ca8..70f67d06b4 100644 --- a/GainStation13/code/machinery/feeding_tube.dm +++ b/GainStation13/code/machinery/feeding_tube.dm @@ -1,3 +1,8 @@ +/obj/machinery/iv_drip + /// What is the name of the thing being attached to the mob? + var/attachment_point = "needle" + + /obj/machinery/iv_drip/feeding_tube name = "\improper Feeding tube" desc = "Originally meant to automatically feed cattle and farm animals, this model was repurposed for more... personal usage." @@ -69,7 +74,7 @@ if(attached) attached = null update_icon() - + return PROCESS_KILL /obj/machinery/iv_drip/feeding_tube/attackby(obj/item/W, mob/user, params) @@ -89,6 +94,6 @@ return FALSE -//it sure is a solution. +//it sure is a solution. /obj/machinery/iv_drip/feeding_tube/toggle_mode() return FALSE diff --git a/GainStation13/code/mechanics/calorite.dm b/GainStation13/code/mechanics/calorite.dm new file mode 100644 index 0000000000..7981404f56 --- /dev/null +++ b/GainStation13/code/mechanics/calorite.dm @@ -0,0 +1,160 @@ +/datum/material/calorite + name = "calorite" + sheet_type = /obj/item/stack/sheet/mineral/calorite + +/obj/item/stack/sheet/mineral/calorite + name = "calorite" + icon_state = "sheet-calorite" + item_state = "sheet-calorite" + singular_name = "calorite sheet" + sheettype = "calorite" + novariants = TRUE + grind_results = list(/datum/reagent/consumable/lipoifier = 2) + point_value = 40 + merge_type = /obj/item/stack/sheet/mineral/calorite + +GLOBAL_LIST_INIT(calorite_recipes, list ( \ + new/datum/stack_recipe("Calorite tile", /obj/item/stack/tile/mineral/calorite, 1, 4, 20), \ + new/datum/stack_recipe("Fatty statue", /obj/structure/statue/calorite/fatty, 5, one_per_turf = 1, on_floor = 1), + new/datum/stack_recipe("Calorite doors", /obj/structure/mineral_door/calorite, 5, one_per_turf = 1, on_floor = 1), + )) + +/obj/item/stack/sheet/mineral/calorite/Initialize(mapload, new_amount, merge = TRUE) + recipes = GLOB.calorite_recipes + . = ..() + + +/obj/item/stack/tile/mineral/calorite //GS13 + name = "Calorite tile" + singular_name = "Calorite floor tile" + desc = "A tile made out of calorite. Bwoomph." + icon_state = "tile_calorite" + turf_type = /turf/open/floor/mineral/calorite + mineralType = "calorite" + +/obj/item/stack/tile/mineral/calorite/hide //GS13 - disguised variant + name = "Floor tile" + singular_name = "calorite floor tile" + desc = "A tile totally made out of steel." + icon_state = "tile" + turf_type = /turf/open/floor/mineral/calorite/hide + +/obj/item/stack/tile/mineral/calorite/strong //GS13 - strong variant + name = "Infused calorite tile" + singular_name = "Infused calorite floor tile" + desc = "A tile made out of stronger variant of calorite. Bwuurp." + icon_state = "tile_calorite_strong" + turf_type = /turf/open/floor/mineral/calorite/strong + +/obj/item/stack/tile/mineral/calorite/dance //GS13 - glamourous variant! + name = "Calorite dance floor" + singular_name = "Calorite dance floor tile" + desc = "A dance floor made out of calorite, for a party both you and your waistline will never forget!." + icon_state = "tile_calorite_dance" + turf_type = /turf/open/floor/mineral/calorite/dance + + +/turf/open/floor/mineral/calorite + name = "Calorite floor" + icon_state = "calorite" + floor_tile = /obj/item/stack/tile/mineral/calorite + icons = list("calorite","calorite_dam") + var/last_event = 0 + var/active = null + ///How much fatness is added to the user upon crossing? + var/fat_to_add = 25 + +/turf/open/floor/mineral/calorite/Entered(mob/living/carbon/M) + if(!istype(M, /mob/living/carbon)) + return FALSE + else + M.adjust_fatness(fat_to_add, FATTENING_TYPE_ITEM) + +// calorite floor, disguised version - GS13 + +/turf/open/floor/mineral/calorite/hide + name = "Steel floor" + icon_state = "calorite_hide" + floor_tile = /obj/item/stack/tile/mineral/calorite/hide + icons = list("calorite_hide","calorite_dam") + +// calorite floor, powerful version - GS13 + +/turf/open/floor/mineral/calorite/strong + name = "Infused calorite floor" + icon_state = "calorite_strong" + floor_tile = /obj/item/stack/tile/mineral/calorite/strong + icons = list("calorite_strong","calorite_dam") + fat_to_add = 100 + +// calorite dance floor, groovy! - GS13 + +/turf/open/floor/mineral/calorite/dance + name = "Calorite dance floor" + icon_state = "calorite_dance" + floor_tile = /obj/item/stack/tile/mineral/calorite/dance + icons = list("calorite_dance","calorite_dam") + + +/obj/structure/statue/calorite + max_integrity = 400 + custom_materials = list(/datum/material/calorite=MINERAL_MATERIAL_AMOUNT*5) + +/obj/structure/statue/calorite/fatty + name = "Fatty statue" + desc = "A statue of a well-rounded fatso." + icon_state = "fatty" + var/active = null + var/last_event = 0 + +/obj/structure/statue/calorite/fatty/proc/beckon() + if(!active) + if(world.time > last_event+15) + active = 1 + for(var/mob/living/carbon/human/M in orange(3,src)) + to_chat(M, "You feel the statue calling to you, urging you to touch it...") + last_event = world.time + active = null + return + return + +/obj/structure/statue/calorite/fatty/proc/statue_fatten(mob/living/carbon/M) + if(!M.adjust_fatness(20, FATTENING_TYPE_ITEM)) + to_chat(M, "Nothing happens.") + return + + if(M.fatness < FATNESS_LEVEL_FATTER) + to_chat(M, "The moment your hand meets the statue, you feel a little warmer...") + else if(M.fatness < FATNESS_LEVEL_OBESE) + to_chat(M, "Upon each poke of the statue, you feel yourself get a little heavier.") + else if(M.fatness < FATNESS_LEVEL_EXTREMELY_OBESE) + to_chat(M, "With each touch you keep getting fatter... But the fatter you grow, the more enticed you feel to poke the statue.") + else if(M.fatness < FATNESS_LEVEL_BARELYMOBILE) + to_chat(M, "The world around you blur slightly as you focus on prodding the statue, your waistline widening further...") + else if(M.fatness < FATNESS_LEVEL_IMMOBILE) + to_chat(M, "A whispering voice gently compliments your massive body, your own mind begging to touch the statue.") + else + to_chat(M, "You can barely reach the statue past your floor-covering stomach! And yet, it still calls to you...") + +/obj/structure/statue/calorite/fatty/Bumped(atom/movable/AM) + beckon() + ..() + +/obj/structure/statue/calorite/fatty/Crossed(var/mob/AM) + .=..() + if(!.) + if(istype(AM)) + beckon() + +/obj/structure/statue/calorite/fatty/Moved(atom/movable/AM) + beckon() + ..() + +/obj/structure/statue/calorite/fatty/attackby(obj/item/W, mob/living/carbon/M, params) + statue_fatten(M) + +/obj/structure/statue/calorite/fatty/attack_hand(mob/living/carbon/M) + statue_fatten(M) + +/obj/structure/statue/calorite/fatty/attack_paw(mob/living/carbon/M) + statue_fatten(M) diff --git a/GainStation13/code/mechanics/fatness.dm b/GainStation13/code/mechanics/fatness.dm index 9d70113a23..c2357413cf 100644 --- a/GainStation13/code/mechanics/fatness.dm +++ b/GainStation13/code/mechanics/fatness.dm @@ -1,4 +1,4 @@ -GLOBAL_LIST_INIT(uncapped_resize_areas, list(/area/bridge, /area/maintenance, /area/security/prison, /area/holodeck, /area/vacantoffice, /area/space, /area/ruin, /area/lavaland, /area/awaymission, /area/centcom, /area/fatlab)) +GLOBAL_LIST_INIT(uncapped_resize_areas, list(/area/command/bridge, /area/maintenance, /area/security/prison, /area/holodeck, /area/commons/vacant_room/office, /area/space, /area/ruin, /area/lavaland, /area/awaymission, /area/centcom, /area/fatlab)) /mob/living/carbon //Due to the changes needed to create the system to hide fatness, here's some notes: @@ -24,7 +24,6 @@ GLOBAL_LIST_INIT(uncapped_resize_areas, list(/area/bridge, /area/maintenance, /a var/fullness_reduction_timer = 0 var/burpslurring = 0 - var/overeatduration = 0 // How long this guy is overeating //Carbon var/fullness_reducion_timer = 0 // When was the last time they emoted to reduce their fullness /** @@ -248,3 +247,7 @@ GLOBAL_LIST_INIT(uncapped_resize_areas, list(/area/bridge, /area/maintenance, /a return needed_fatness +/mob/living/carbon/proc/applyFatnessDamage(amount) + var/fat_to_add = ((amount * CONFIG_GET(number/damage_multiplier)) * FAT_DAMAGE_TO_FATNESS) + adjust_fatness(fat_to_add, FATTENING_TYPE_WEAPON) + return fat_to_add diff --git a/GainStation13/code/mechanics/metal_cruncher.dm b/GainStation13/code/mechanics/metal_cruncher.dm index dcf006a37c..ef2d5b9d5e 100644 --- a/GainStation13/code/mechanics/metal_cruncher.dm +++ b/GainStation13/code/mechanics/metal_cruncher.dm @@ -19,8 +19,8 @@ playsound(M,'sound/items/eatfood.ogg', rand(10,50), 1) use(1) M.nutrition += crunch_value - if(HAS_TRAIT(M, TRAIT_VORACIOUS)) - M.changeNext_move(CLICK_CD_MELEE * 0.5) + //if(HAS_TRAIT(M, TRAIT_VORACIOUS)) + // M.changeNext_move(CLICK_CD_MELEE * 0.5) return . = ..() diff --git a/GainStation13/code/mechanics/recipes.dm b/GainStation13/code/mechanics/recipes.dm new file mode 100644 index 0000000000..9ecfd34400 --- /dev/null +++ b/GainStation13/code/mechanics/recipes.dm @@ -0,0 +1,5 @@ +/datum/crafting_recipe/caloritedancefloor + name = "Calorite dance floor" + result = /obj/item/stack/tile/mineral/calorite/dance + reqs = list(/obj/item/stack/cable_coil = 3, /obj/item/stack/tile/mineral/calorite = 1) + category = CAT_MISC diff --git a/GainStation13/code/mechanics/web_weaving.dm b/GainStation13/code/mechanics/web_weaving.dm index 5902a2314e..0163ad277a 100644 --- a/GainStation13/code/mechanics/web_weaving.dm +++ b/GainStation13/code/mechanics/web_weaving.dm @@ -79,7 +79,7 @@ name = "web bindings" desc = "A mesh of sticky web that binds whoever is stuck inside of it" icon = 'GainStation13/icons/obj/clothing/web.dmi' - worn_ico = 'GainStation13/icons/mob/web.dmi' + worn_icon = 'GainStation13/icons/mob/web.dmi' icon_state = "web_bindings" item_state = "web_bindings" breakouttime = 600 //1 minute is reasonable. @@ -89,7 +89,7 @@ /obj/item/clothing/suit/straight_jacket/web/equipped(mob/user, slot) . = ..() - if((user.get_item_by_slot(SLOT_WEAR_OCLOTHING)) != src && !QDELETED(src)) + if((user.get_item_by_slot(ITEM_SLOT_OCLOTHING)) != src && !QDELETED(src)) qdel(src) /obj/structure/spider/cocoon/quirk diff --git a/GainStation13/code/mobs/cakegolem.dm b/GainStation13/code/mobs/cakegolem.dm index 1550adf15b..fa8fede5b8 100644 --- a/GainStation13/code/mobs/cakegolem.dm +++ b/GainStation13/code/mobs/cakegolem.dm @@ -11,7 +11,7 @@ harm_intent_damage = 10 butcher_results = list(/obj/item/organ/brain = 1, /obj/item/organ/heart = 1, /obj/item/reagent_containers/food/snacks/cakeslice/birthday = 9, \ /obj/item/reagent_containers/food/snacks/meat/slab = 2) - response_harm = "takes a bite out of" + response_harm_simple = "takes a bite out of" attacked_sound = 'sound/items/eatfood.ogg' deathmessage = "loses its false life and collapses!" death_sound = "bodyfall" diff --git a/GainStation13/code/mobs/races/caloritegolem.dm b/GainStation13/code/mobs/races/caloritegolem.dm index 761a89ca07..e8e21a71ed 100644 --- a/GainStation13/code/mobs/races/caloritegolem.dm +++ b/GainStation13/code/mobs/races/caloritegolem.dm @@ -18,9 +18,6 @@ var/charges = 3 var/datum/action/innate/unburden/speed var/datum/action/innate/recharge/power - - - /datum/species/golem/calorite/on_species_gain(mob/living/carbon/C, datum/species/old_species) ..() if(ishuman(C)) @@ -101,7 +98,7 @@ var/charges = 3 for(var/mob/living/L in view(3, owner)) if(iscarbon(L)) - if(!HAS_TRAIT(L, TRAIT_GOTTAGOFAST)) + if(!L.has_movespeed_modifier(/datum/movespeed_modifier/reagent/stimulants)) L.reagents.add_reagent(/datum/reagent/consumable/caloriteblessing, 5) else diff --git a/GainStation13/code/mobs/slugcat.dm b/GainStation13/code/mobs/slugcat.dm index ad47b4d175..8491221b2a 100644 --- a/GainStation13/code/mobs/slugcat.dm +++ b/GainStation13/code/mobs/slugcat.dm @@ -47,7 +47,7 @@ AddElement(/datum/element/wuv, "purrs!", EMOTE_AUDIBLE, /datum/mood_event/pet_animal, "hisses!", EMOTE_AUDIBLE) AddElement(/datum/element/mob_holder, held_icon) -/mob/living/simple_animal/pet/slugcat/update_canmove() +/mob/living/simple_animal/pet/slugcat/update_mobility() ..() if(client && stat != DEAD) if (resting) diff --git a/GainStation13/code/modules/food_and_drinks/drinks.dm b/GainStation13/code/modules/food_and_drinks/drinks.dm index 626e64fbf1..6f1c56e244 100644 --- a/GainStation13/code/modules/food_and_drinks/drinks.dm +++ b/GainStation13/code/modules/food_and_drinks/drinks.dm @@ -11,8 +11,6 @@ icon_state = "fizzwiz" list_reagents = list(/datum/reagent/consumable/space_cola = 25, /datum/reagent/consumable/fizulphite = 15) foodtype = SUGAR - price = 3 - /obj/item/reagent_containers/food/drinks/soda_cans/soothseltz name = "Soothing Seltzer" @@ -23,4 +21,3 @@ icon_state = "soothseltz" list_reagents = list(/datum/reagent/consumable/space_cola = 25, /datum/reagent/consumable/extilphite = 15) foodtype = SUGAR - price = 3 diff --git a/GainStation13/code/modules/food_and_drinks/food.dm b/GainStation13/code/modules/food_and_drinks/food.dm index 7bc7e58a20..5c88169a88 100644 --- a/GainStation13/code/modules/food_and_drinks/food.dm +++ b/GainStation13/code/modules/food_and_drinks/food.dm @@ -1,3 +1,6 @@ +/obj/item/reagent_containers/food + var/blessed = 0 + /obj/item/reagent_containers/food/snacks/gbburrito name = "\improper GATO Gas Giant Burrito" icon_state = "gbburrito" @@ -7,7 +10,6 @@ filling_color = "#74291b" tastes = list("refried beans","grease" = 1) foodtype = MEAT - price = 3 //these have been ported from CHOMPstation / Virgo /obj/item/reagent_containers/food/snacks/doner_kebab diff --git a/code/modules/hud/alert.dm b/GainStation13/code/modules/hud/alert.dm similarity index 80% rename from code/modules/hud/alert.dm rename to GainStation13/code/modules/hud/alert.dm index 65d3130fa9..693ffbd65c 100644 --- a/code/modules/hud/alert.dm +++ b/GainStation13/code/modules/hud/alert.dm @@ -1,76 +1,76 @@ -/obj/screen/alert/blob +/atom/movable/screen/alert/gs13/blob name = "Fatty Blob" desc = "Every last piece of your corpulent body is now plush and bloated with vast rolls of blubber. Your corpulence is such that you are akin to a gigantic, towering wad of dough." icon_state = "blob" -/obj/screen/alert/immobile +/atom/movable/screen/alert/gs13/immobile name = "Immobile" desc = "Fat has taken over your body, now colossal in size and loaded with cumbersome flab. You are having a lot difficulty with moving the bulk that has set upon your body." icon_state = "immobile" -/obj/screen/alert/barelymobile +/atom/movable/screen/alert/gs13/barelymobile name = "Barely Mobile" desc = "Your fat legs barely allow you to waddle, continuing to slow your pace with each pound that you gain. If you continue gaining weight, you might find yourself unable to move at all." icon_state = "barelymobile" -/obj/screen/alert/extremelyobese +/atom/movable/screen/alert/gs13/extremelyobese name = "Extremely Obese" desc = "In your journey through crossing further borders of obesity, your movement continues to get more and more restricted, body overcome with overwhelming amounts of adipose." icon_state = "extremelyobese" -/obj/screen/alert/morbidlyobese +/atom/movable/screen/alert/gs13/morbidlyobese name = "Morbidly Obese" desc = "Every inch of you is beginning to pack away lard, making your movements awkward and clunky. If your weight gain continues, walking might become a real issue." icon_state = "morbobese" -/obj/screen/alert/obese +/atom/movable/screen/alert/gs13/obese name = "Obese" desc = "Your body is swollen with lard, and your movement is starting to be slightly hindered by your weight." icon_state = "obese" -/obj/screen/alert/veryfat +/atom/movable/screen/alert/gs13/veryfat name = "Very fat" desc = "You're beginning to inch closer and closer to proper obesity. Your body is starting to slightly jiggle when you move around." icon_state = "veryfat" -/obj/screen/alert/fatter +/atom/movable/screen/alert/gs13/fatter name = "Fat" desc = "Clothes begin to cling onto your frame tighter and tighter, as your body begins to display first signs of fatness." icon_state = "fatter" -/obj/screen/alert/fat +/atom/movable/screen/alert/gs13/fat name = "Rounded" desc = "Your body's beginning to display the first signs of softened curves, though they're barely noticeable." icon_state = "fat" //GS13 - fullness alerts -/obj/screen/alert/bloated +/atom/movable/screen/alert/gs13/bloated name = "Bloated" desc = "Your stomach is starting to feel packed." icon_state = "Stuffed" -/obj/screen/alert/stuffed +/atom/movable/screen/alert/gs13/stuffed name = "Stuffed" desc = "Whatever you ate, you ate too much. Your stomach has stretched to accomodate its contents, forming a very obvious stuffed belly." icon_state = "Bloated" -/obj/screen/alert/beegbelly +/atom/movable/screen/alert/gs13/beegbelly name = "Overfilled" desc = "You've somehow managed to fit even more in your stomach, barely allowing for any more room inside." icon_state = "beegbelly" -/obj/screen/alert/sated +/atom/movable/screen/alert/gs13/sated name = "Sated" desc = "You're perfectly rather sated right now." icon_state = "sated" -/obj/screen/alert/full +/atom/movable/screen/alert/gs13/full name = "Full" desc = "You're rather full right now. Eating more food would result in weight gain." icon_state = "full" -/obj/screen/alert/hungry +/atom/movable/screen/alert/gs13/hungry name = "Hungry" desc = "Some food would be good right about now." icon_state = "hungry" diff --git a/GainStation13/code/modules/hydroponics/lipoplant.dm b/GainStation13/code/modules/hydroponics/lipoplant.dm index d669a1095b..72c16ca898 100644 --- a/GainStation13/code/modules/hydroponics/lipoplant.dm +++ b/GainStation13/code/modules/hydroponics/lipoplant.dm @@ -42,7 +42,7 @@ opened = TRUE spillable = TRUE reagent_flags = OPENCONTAINER - ENABLE_BITFIELD(reagents.reagents_holder_flags, OPENCONTAINER) + reagents.reagents_holder_flags |= OPENCONTAINER icon_state = "lipo_nutcut_full" desc = "A foreign fruit with an hard shell, the liquid inside looks very inviting." playsound(user, W.hitsound, 50, 1, -1) diff --git a/GainStation13/code/modules/mob/living/nutribot.dm b/GainStation13/code/modules/mob/living/nutribot.dm index 936f9d9354..2fc37b1f37 100644 --- a/GainStation13/code/modules/mob/living/nutribot.dm +++ b/GainStation13/code/modules/mob/living/nutribot.dm @@ -84,7 +84,7 @@ skin = new_skin update_icon() -/mob/living/simple_animal/bot/nutribot/update_canmove() +/mob/living/simple_animal/bot/nutribot/update_mobility() . = ..() update_icon() @@ -113,10 +113,8 @@ /mob/living/simple_animal/bot/nutribot/attack_paw(mob/user) return attack_hand(user) -/mob/living/simple_animal/bot/nutribot/get_controls(mob/user) +/mob/living/simple_animal/bot/nutribot/proc/get_controls(mob/user) var/dat - dat += hack(user) - dat += showpai(user) dat += "Nutritional Unit Controls v1.1

" dat += "Status: [on ? "On" : "Off"]
" dat += "Maintenance panel panel is [open ? "opened" : "closed"]
" @@ -251,8 +249,7 @@ return /mob/living/simple_animal/bot/nutribot/proc/tip_over(mob/user) - canmove = 0 - //mobility_flags &= ~MOBILITY_MOVE + mobility_flags &= ~MOBILITY_MOVE playsound(src, 'sound/machines/warning-buzzer.ogg', 50) user.visible_message("[user] tips over [src]!", "You tip [src] over!") mode = BOT_TIPPED @@ -260,8 +257,7 @@ transform = mat.Turn(180) /mob/living/simple_animal/bot/nutribot/proc/set_right(mob/user) - canmove = 1 - //mobility_flags &= MOBILITY_MOVE + mobility_flags &= MOBILITY_MOVE var/list/messagevoice if(user) user.visible_message("[user] sets [src] right-side up!", "You set [src] right-side up!") @@ -564,9 +560,6 @@ soft_reset() return - reagent_id = null - return - /mob/living/simple_animal/bot/nutribot/proc/check_overdose(mob/living/carbon/patient,reagent_id,injection_amount) var/datum/reagent/R = GLOB.chemical_reagents_list[reagent_id] if(!R.overdose_threshold) //Some chems do not have an OD threshold @@ -600,6 +593,21 @@ /obj/machinery/bot_core/nutribot req_one_access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_ROBOTICS) +/// Add these for now, until it is upgraded to TGUI. +/mob/living/simple_animal/bot/nutribot/proc/show_controls(mob/M) + users |= M + var/dat = "" + dat = get_controls(M) + var/datum/browser/popup = new(M,window_id,window_name,350,600) + popup.set_content(dat) + popup.open(use_onclose = 0) + onclose(M,window_id,ref=src) + return + +/mob/living/simple_animal/bot/nutribot/proc/update_controls() + for(var/mob/M in users) + show_controls(M) + #undef NUTRIBOT_PANIC_NONE #undef NUTRIBOT_PANIC_LOW #undef NUTRIBOT_PANIC_MED diff --git a/GainStation13/code/modules/mob/living/species.dm b/GainStation13/code/modules/mob/living/species.dm index 1a6c19f90b..19e2013197 100644 --- a/GainStation13/code/modules/mob/living/species.dm +++ b/GainStation13/code/modules/mob/living/species.dm @@ -1,3 +1,34 @@ +/datum/species/proc/update_body_size(mob/living/carbon/human/H, size_change) + if (!H) + return + + var/obj/item/organ/genital/butt/anus = H.getorganslot(ORGAN_SLOT_BUTT) + var/obj/item/organ/genital/belly/belly = H.getorganslot("belly") + var/obj/item/organ/genital/breasts/breasts = H.getorganslot(ORGAN_SLOT_BREASTS) + + update_genital_size(anus, size_change) + update_genital_size(belly, size_change) + update_breasts_size(breasts, size_change) + + H.genital_override = TRUE + H.update_body() + H.update_inv_w_uniform() + H.update_inv_wear_suit() + +/datum/species/proc/update_genital_size(obj/item/organ/genital/G, size_change) + if (!G) + return + + G.size = G.size + size_change + G.update() + +/datum/species/proc/update_breasts_size(obj/item/organ/genital/breasts/G, size_change) + if (!G) + return + + G.cached_size = G.cached_size + size_change + G.update() + /datum/species/proc/handle_fatness_trait(mob/living/carbon/human/H, trait, trait_lose, trait_gain, fatness_lose, fatness_gain, chat_lose, chat_gain) if(H.fatness < fatness_lose) if (chat_lose) @@ -376,48 +407,48 @@ if(NUTRITION_LEVEL_HUNGRY to NUTRITION_LEVEL_FULL) H.clear_alert("nutrition") if(NUTRITION_LEVEL_STARVING to NUTRITION_LEVEL_HUNGRY) - H.throw_alert("nutrition", /obj/screen/alert/hungry) + H.throw_alert("nutrition", /atom/movable/screen/alert/hungry) if(0 to NUTRITION_LEVEL_STARVING) - H.throw_alert("nutrition", /obj/screen/alert/starving) + H.throw_alert("nutrition", /atom/movable/screen/alert/starving) switch(H.fullness) if(0 to FULLNESS_LEVEL_BLOATED) H.clear_alert("fullness") if(FULLNESS_LEVEL_BLOATED to FULLNESS_LEVEL_BEEG) - H.throw_alert("fullness", /obj/screen/alert/bloated) + H.throw_alert("fullness", /atom/movable/screen/alert/gs13/bloated) if(FULLNESS_LEVEL_BEEG to FULLNESS_LEVEL_NOMOREPLZ) - H.throw_alert("fullness", /obj/screen/alert/stuffed) + H.throw_alert("fullness", /atom/movable/screen/alert/gs13/stuffed) if(FULLNESS_LEVEL_NOMOREPLZ to INFINITY) - H.throw_alert("fullness", /obj/screen/alert/beegbelly) + H.throw_alert("fullness", /atom/movable/screen/alert/gs13/beegbelly) switch(H.fatness) if(FATNESS_LEVEL_BLOB to INFINITY) - H.throw_alert("fatness", /obj/screen/alert/blob) + H.throw_alert("fatness", /atom/movable/screen/alert/gs13/blob) if(FATNESS_LEVEL_IMMOBILE to FATNESS_LEVEL_BLOB) - H.throw_alert("fatness", /obj/screen/alert/immobile) + H.throw_alert("fatness", /atom/movable/screen/alert/gs13/immobile) if(FATNESS_LEVEL_BARELYMOBILE to FATNESS_LEVEL_IMMOBILE) - H.throw_alert("fatness", /obj/screen/alert/barelymobile) + H.throw_alert("fatness", /atom/movable/screen/alert/gs13/barelymobile) if(FATNESS_LEVEL_EXTREMELY_OBESE to FATNESS_LEVEL_BARELYMOBILE) - H.throw_alert("fatness", /obj/screen/alert/extremelyobese) + H.throw_alert("fatness", /atom/movable/screen/alert/gs13/extremelyobese) if(FATNESS_LEVEL_MORBIDLY_OBESE to FATNESS_LEVEL_EXTREMELY_OBESE) - H.throw_alert("fatness", /obj/screen/alert/morbidlyobese) + H.throw_alert("fatness", /atom/movable/screen/alert/gs13/morbidlyobese) if(FATNESS_LEVEL_OBESE to FATNESS_LEVEL_MORBIDLY_OBESE) - H.throw_alert("fatness", /obj/screen/alert/obese) + H.throw_alert("fatness", /atom/movable/screen/alert/gs13/obese) if(FATNESS_LEVEL_VERYFAT to FATNESS_LEVEL_OBESE) - H.throw_alert("fatness", /obj/screen/alert/veryfat) + H.throw_alert("fatness", /atom/movable/screen/alert/gs13/veryfat) if(FATNESS_LEVEL_FATTER to FATNESS_LEVEL_VERYFAT) - H.throw_alert("fatness", /obj/screen/alert/fatter) + H.throw_alert("fatness", /atom/movable/screen/alert/gs13/fatter) if(FATNESS_LEVEL_FAT to FATNESS_LEVEL_FATTER) - H.throw_alert("fatness", /obj/screen/alert/fat) + H.throw_alert("fatness", /atom/movable/screen/alert/gs13/fat) if(0 to FATNESS_LEVEL_FAT) H.clear_alert("fatness") diff --git a/GainStation13/code/modules/reagents/chemistry/reagents/consumable_reagents.dm b/GainStation13/code/modules/reagents/chemistry/reagents/consumable_reagents.dm index c3fcab5c78..9cef5cb2ab 100644 --- a/GainStation13/code/modules/reagents/chemistry/reagents/consumable_reagents.dm +++ b/GainStation13/code/modules/reagents/chemistry/reagents/consumable_reagents.dm @@ -13,6 +13,34 @@ M.adjust_fatness(15, FATTENING_TYPE_CHEM) return ..() +/datum/reagent/medicine/lipolicide + name = "Lipolicide" + description = "A powerful toxin that will destroy fat cells, massively reducing body weight in a short time. Deadly to those without nutriment in their body." + taste_description = "mothballs" + reagent_state = LIQUID + color = "#F0FFF0" + // GS13 tweak + metabolization_rate = 0.7 * REAGENTS_METABOLISM + overdose_threshold = 105 + +/datum/reagent/medicine/lipolicide/overdose_process(mob/living/carbon/C) + . = ..() + if(current_cycle >=41 && prob(10)) + to_chat(C, "You feel like your organs are on fire!") + C.IgniteMob() + +/datum/reagent/medicine/lipolicide/on_mob_life(mob/living/carbon/M) + if(M.nutrition <= NUTRITION_LEVEL_STARVING) + M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0) + if(M.fatness_real == 0) + M.nutrition = max(M.nutrition - 3, 0) // making the chef more valuable, one meme trap at a time + if(HAS_TRAIT(M, TRAIT_LIPOLICIDE_TOLERANCE)) //GS13 edit + M.adjust_fatness(-0.5, FATTENING_TYPE_WEIGHT_LOSS) + else + M.adjust_fatness(-10, FATTENING_TYPE_WEIGHT_LOSS) + + M.overeatduration = 0 + return ..() //BURPY CHEM diff --git a/GainStation13/code/modules/reagents/chemistry/recipes/fatchem.dm b/GainStation13/code/modules/reagents/chemistry/recipes/fatchem.dm index 8523b97448..8605c1b859 100644 --- a/GainStation13/code/modules/reagents/chemistry/recipes/fatchem.dm +++ b/GainStation13/code/modules/reagents/chemistry/recipes/fatchem.dm @@ -7,6 +7,13 @@ results = list(/datum/reagent/consumable/lipoifier = 3) required_reagents = list(/datum/reagent/consumable/sugar = 1, /datum/reagent/consumable/cornoil = 1, /datum/reagent/medicine/synthflesh = 1) + +/datum/chemical_reaction/lipolicide + name = "lipolicide" + id = /datum/reagent/medicine/lipolicide + results = list(/datum/reagent/medicine/lipolicide = 3) + required_reagents = list(/datum/reagent/mercury = 1, /datum/reagent/diethylamine = 1, /datum/reagent/medicine/ephedrine = 1) + //BURP CHEM /datum/chemical_reaction/fizulphite name = "fizulphite" diff --git a/GainStation13/code/obj/items/holy.dm b/GainStation13/code/obj/items/holy.dm index c7571bb601..98e45b451e 100644 --- a/GainStation13/code/obj/items/holy.dm +++ b/GainStation13/code/obj/items/holy.dm @@ -53,7 +53,7 @@ var/click_delay = 2 slot_flags = ITEM_SLOT_BACK - sharpness = IS_BLUNT + sharpness = SHARP_NONE w_class = WEIGHT_CLASS_BULKY attack_verb = list("smashed", "whacked", "smacked", "bonked") hitsound = "swing_hit" @@ -66,9 +66,11 @@ . = ..() set_light(l_range, l_power, light_color) +/* /obj/item/nullrod/dream_breaker/attack(mob/living/target, mob/living/user) . = ..() user.changeNext_move(CLICK_CD_MELEE * click_delay) +*/ /obj/item/nullrod/dream_breaker/ui_action_click(mob/user, action) if(!isliving(user)) diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm index 6dae40ce07..4629c4a954 100644 --- a/code/__DEFINES/combat.dm +++ b/code/__DEFINES/combat.dm @@ -275,3 +275,7 @@ */ #define FEEBLE_ATTACK_MSG_THRESHOLD 0.5 +// GS13 EDIT +#define FAT "fat" +/// What is the rate that one damage is converted to fatness? +#define FAT_DAMAGE_TO_FATNESS 4 diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index e1af109877..75833d5ec1 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -2224,6 +2224,10 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) if(BRAIN) var/damage_amount = forced ? damage : damage * hit_percent * H.physiology.brain_mod H.adjustOrganLoss(ORGAN_SLOT_BRAIN, damage_amount) + // GS13 EDIT + if(FAT) + H.applyFatnessDamage(damage * hit_percent) + return TRUE /datum/species/proc/on_hit(obj/item/projectile/P, mob/living/carbon/human/H) diff --git a/hyperstation/code/mobs/hugbot.dm b/hyperstation/code/mobs/hugbot.dm index 148680461a..e31bcdae43 100644 --- a/hyperstation/code/mobs/hugbot.dm +++ b/hyperstation/code/mobs/hugbot.dm @@ -52,7 +52,7 @@ update_icon() -/mob/living/simple_animal/bot/hugbot/update_canmove() +/mob/living/simple_animal/bot/hugbot/update_mobility() . = ..() update_icon() @@ -253,11 +253,11 @@ C.adjustStaminaLoss(-15) else if(resting) C.resting = 0 - C.update_canmove() + C.update_mobility() else C.Knockdown(100) C.Stun(100) - C.update_canmove() + C.update_mobility() playsound(C.loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) diff --git a/hyperstation/code/modules/antagonists/wendigo/mob/metabolization.dm b/hyperstation/code/modules/antagonists/wendigo/mob/metabolization.dm index 547151cc4f..b384518592 100644 --- a/hyperstation/code/modules/antagonists/wendigo/mob/metabolization.dm +++ b/hyperstation/code/modules/antagonists/wendigo/mob/metabolization.dm @@ -2,24 +2,24 @@ /mob/living/carbon/wendigo/proc/metabolize_hunger() if(HAS_TRAIT(src, TRAIT_NOHUNGER)) return - + if(connected_link) if(connected_link.souls.len > 3) nutrition = min(800, nutrition + (HUNGER_FACTOR*connected_link.souls.len)) nutrition = max(0, nutrition - (HUNGER_FACTOR / (physiology.hunger_mod / (connected_link.souls.len + 1)))) else nutrition = max(0, nutrition - (HUNGER_FACTOR / physiology.hunger_mod)) - + switch(nutrition) if(NUTRITION_LEVEL_WELL_FED to INFINITY) - throw_alert("nutrition", /obj/screen/alert/full) + throw_alert("nutrition", /atom/movable/screen/alert/full) if(NUTRITION_LEVEL_HUNGRY to NUTRITION_LEVEL_FED) - throw_alert("nutrition", /obj/screen/alert/sated) + throw_alert("nutrition", /atom/movable/screen/alert/sated) if(NUTRITION_LEVEL_STARVING to NUTRITION_LEVEL_HUNGRY) - throw_alert("nutrition", /obj/screen/alert/hungry) + throw_alert("nutrition", /atom/movable/screen/alert/hungry) if(0 to NUTRITION_LEVEL_STARVING) - throw_alert("nutrition", /obj/screen/alert/starving) - + throw_alert("nutrition", /atom/movable/screen/alert/starving) + /mob/living/carbon/wendigo/reagent_check(datum/reagent/R) if(istype(R, /datum/reagent/fermi)) var/had_changed = FALSE @@ -35,7 +35,7 @@ if(R.type == /datum/reagent/fermi/BEsmaller) fake_breast_size = max(0, fake_breast_size - 0.25) had_changed = "BEsmaller" - + if(had_changed) R.volume -= R.metabolization_rate if(round(fake_penis_size, 1) == fake_penis_size && fake_penis_size) diff --git a/hyperstation/code/modules/antagonists/wendigo/mob/mob_defense.dm b/hyperstation/code/modules/antagonists/wendigo/mob/mob_defense.dm index d59e4bf479..87928ea8f1 100644 --- a/hyperstation/code/modules/antagonists/wendigo/mob/mob_defense.dm +++ b/hyperstation/code/modules/antagonists/wendigo/mob/mob_defense.dm @@ -17,13 +17,13 @@ if(bodytemperature > BODYTEMP_HEAT_DAMAGE_LIMIT && !HAS_TRAIT(src, TRAIT_RESISTHEAT)) switch(bodytemperature) if(280 to 300) - throw_alert("temp", /obj/screen/alert/hot, 1) + throw_alert("temp", /atom/movable/screen/alert/hot, 1) apply_damage(HEAT_DAMAGE_LEVEL_1*physiology.heat_mod, BURN) if(300 to 350) - throw_alert("temp", /obj/screen/alert/hot, 2) + throw_alert("temp", /atom/movable/screen/alert/hot, 2) apply_damage(HEAT_DAMAGE_LEVEL_2*physiology.heat_mod, BURN) if(350 to INFINITY) - throw_alert("temp", /obj/screen/alert/hot, 3) + throw_alert("temp", /atom/movable/screen/alert/hot, 3) if(on_fire) apply_damage(HEAT_DAMAGE_LEVEL_3*physiology.heat_mod, BURN) else @@ -33,13 +33,13 @@ if(!istype(loc, /obj/machinery/atmospherics/components/unary/cryo_cell)) switch(bodytemperature) if(200 to 260) - throw_alert("temp", /obj/screen/alert/cold, 1) + throw_alert("temp", /atom/movable/screen/alert/cold, 1) apply_damage(COLD_DAMAGE_LEVEL_1*physiology.cold_mod, BURN) if(0 to 120) - throw_alert("temp", /obj/screen/alert/cold, 2) + throw_alert("temp", /atom/movable/screen/alert/cold, 2) apply_damage(COLD_DAMAGE_LEVEL_2*physiology.cold_mod, BURN) if(-INFINITY to 0) - throw_alert("temp", /obj/screen/alert/cold, 3) + throw_alert("temp", /atom/movable/screen/alert/cold, 3) apply_damage(COLD_DAMAGE_LEVEL_3*physiology.cold_mod, BURN) else clear_alert("temp") @@ -54,16 +54,16 @@ switch(adjusted_pressure) if(HAZARD_HIGH_PRESSURE to INFINITY) adjustBruteLoss(min((((adjusted_pressure / HAZARD_HIGH_PRESSURE)-1)*PRESSURE_DAMAGE_COEFFICIENT)*physiology.pressure_mod, MAX_HIGH_PRESSURE_DAMAGE)) - throw_alert("pressure", /obj/screen/alert/highpressure, 2) + throw_alert("pressure", /atom/movable/screen/alert/highpressure, 2) if(WARNING_HIGH_PRESSURE to HAZARD_HIGH_PRESSURE) - throw_alert("pressure", /obj/screen/alert/highpressure, 1) + throw_alert("pressure", /atom/movable/screen/alert/highpressure, 1) if(WARNING_LOW_PRESSURE to WARNING_HIGH_PRESSURE) clear_alert("pressure") if(HAZARD_LOW_PRESSURE to WARNING_LOW_PRESSURE) - throw_alert("pressure", /obj/screen/alert/lowpressure, 1) + throw_alert("pressure", /atom/movable/screen/alert/lowpressure, 1) else adjustBruteLoss( LOW_PRESSURE_DAMAGE*physiology.pressure_mod ) - throw_alert("pressure", /obj/screen/alert/lowpressure, 2) + throw_alert("pressure", /atom/movable/screen/alert/lowpressure, 2) return diff --git a/hyperstation/code/modules/arousal/arousalhud.dm b/hyperstation/code/modules/arousal/arousalhud.dm index 5f43568bde..c881d29cba 100644 --- a/hyperstation/code/modules/arousal/arousalhud.dm +++ b/hyperstation/code/modules/arousal/arousalhud.dm @@ -130,7 +130,7 @@ V.toggle_visibility(picked_visibility) if(href_list["hidebreasts"]) - var/obj/item/organ/genital/breasts/B = usr.getorganslot("breasts") + var/obj/item/organ/genital/breasts/B = usr.getorganslot(ORGAN_SLOT_BREASTS) var/picked_visibility = input(usr, "Choose visibility", "Expose/Hide genitals", "Hidden by clothes") in list("Always visible", "Hidden by clothes", "Always hidden") B.toggle_visibility(picked_visibility) @@ -140,7 +140,7 @@ E.toggle_visibility(picked_visibility) if(href_list["hideanus"]) - var/obj/item/organ/genital/anus/A = usr.getorganslot("anus") + var/obj/item/organ/genital/butt/A = usr.getorganslot(ORGAN_SLOT_BUTT) var/picked_visibility = input(usr, "Choose visibility", "Expose/Hide genitals", "Hidden by clothes") in list("Always visible", "Hidden by clothes", "Always hidden") A.toggle_visibility(picked_visibility) @@ -262,7 +262,7 @@ O.equipment = null if(href_list["removeequipmentbreasts"]) - var/obj/item/organ/genital/breasts/O = usr.getorganslot("breasts") + var/obj/item/organ/genital/breasts/O = usr.getorganslot(ORGAN_SLOT_BREASTS) var/obj/item/I = O.equipment usr.put_in_hands(I) O.equipment = null @@ -284,7 +284,7 @@ O.equipment = null if(href_list["removeequipmentanus"]) - var/obj/item/organ/genital/anus/O = usr.getorganslot("anus") + var/obj/item/organ/genital/butt/O = usr.getorganslot(ORGAN_SLOT_BUTT) var/obj/item/I = O.equipment usr.put_in_hands(I) O.equipment = null @@ -630,7 +630,7 @@ obj/screen/arousal/proc/feedyourself() picked_organ = input(src, "with what?", "Climax", null) as null|obj in genitals_list else return - + if(picked_organ) //Good, got an organ, time to pick a container if(picked_organ.name == "penis")//if the select organ is a penis diff --git a/hyperstation/code/modules/integrated_electronics/input.dm b/hyperstation/code/modules/integrated_electronics/input.dm index 3c229bfe3a..5611b051da 100644 --- a/hyperstation/code/modules/integrated_electronics/input.dm +++ b/hyperstation/code/modules/integrated_electronics/input.dm @@ -28,7 +28,7 @@ return var/obj/item/organ/genital/penis/P = L.getorganslot("penis") - var/obj/item/organ/genital/breasts/B = L.getorganslot("breasts") + var/obj/item/organ/genital/breasts/B = L.getorganslot(ORGAN_SLOT_BREASTS) var/obj/item/organ/genital/testicles/T = L.getorganslot("testicles") //reset data, just incase they dont have that genitle @@ -77,4 +77,4 @@ set_pin_data(IC_OUTPUT, 2, L.breedable) push_data() activate_pin(2) -*/ \ No newline at end of file +*/ diff --git a/hyperstation/code/modules/resize/resizing.dm b/hyperstation/code/modules/resize/resizing.dm index 1779c62065..bffdad6d71 100644 --- a/hyperstation/code/modules/resize/resizing.dm +++ b/hyperstation/code/modules/resize/resizing.dm @@ -120,7 +120,7 @@ return TRUE if(abs(get_effective_size()/tmob.get_effective_size()) >= 2) - if(H.a_intent == "disarm" && H.canmove && !H.buckled) + if(H.a_intent == "disarm" && CHECK_MOBILITY(H, MOBILITY_MOVE) && !H.buckled) now_pushing = 0 H.forceMove(tmob.loc) sizediffStamLoss(tmob) @@ -147,7 +147,7 @@ return TRUE * commenting out for now.*/ - if(H.a_intent == "harm" && H.canmove && !H.buckled) + if(H.a_intent == "harm" && CHECK_MOBILITY(H, MOBILITY_MOVE) && !H.buckled) now_pushing = 0 H.forceMove(tmob.loc) sizediffStamLoss(tmob) @@ -177,7 +177,7 @@ commenting out for now */ return TRUE - // if(H.a_intent == "grab" && H.canmove && !H.buckled) + // if(H.a_intent == "grab" && CHECK_MOBILITY(H, MOBILITY_MOVE) && !H.buckled) // now_pushing = 0 // H.forceMove(tmob.loc) // sizediffStamLoss(tmob) diff --git a/hyperstation/code/obj/leash.dm b/hyperstation/code/obj/leash.dm index ac9f174322..09c9984fdf 100644 --- a/hyperstation/code/obj/leash.dm +++ b/hyperstation/code/obj/leash.dm @@ -14,9 +14,9 @@ Icons, maybe? /datum/status_effect/leash_dom status_type = STATUS_EFFECT_UNIQUE - alert_type = /obj/screen/alert/status_effect/leash_dom + alert_type = /atom/movable/screen/alert/status_effect/leash_dom -/obj/screen/alert/status_effect/leash_dom +/atom/movable/screen/alert/status_effect/leash_dom name = "Leash Master" desc = "You've got a leash, and a cute pet on the other end." icon_state = "leash_master" //These call icons that don't exist, so no icon comes up. Which is good. @@ -24,9 +24,9 @@ Icons, maybe? /datum/status_effect/leash_freepet status_type = STATUS_EFFECT_UNIQUE - alert_type = /obj/screen/alert/status_effect/leash_freepet + alert_type = /atom/movable/screen/alert/status_effect/leash_freepet -/obj/screen/alert/status_effect/leash_freepet +/atom/movable/screen/alert/status_effect/leash_freepet name = "Escaped Pet" desc = "You're on a leash, but you've no master. If anyone grabs the leash they'll gain control!" icon_state = "leash_freepet" @@ -36,9 +36,9 @@ Icons, maybe? id = "leashed" status_type = STATUS_EFFECT_UNIQUE var/mob/redirect_component - alert_type = /obj/screen/alert/status_effect/leash_pet + alert_type = /atom/movable/screen/alert/status_effect/leash_pet -/obj/screen/alert/status_effect/leash_pet +/atom/movable/screen/alert/status_effect/leash_pet name = "Leashed Pet" desc = "You're on the hook now! Be good for your master." icon_state = "leash_pet" diff --git a/tgstation.dme b/tgstation.dme index 48d544706e..b2ecb3f9a9 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3928,6 +3928,7 @@ #include "GainStation13\code\machinery\fattening_turret.dm" #include "GainStation13\code\machinery\feeding_tube.dm" #include "GainStation13\code\machinery\supply_teleporter.dm" +#include "GainStation13\code\mechanics\calorite.dm" #include "GainStation13\code\mechanics\fatness.dm" #include "GainStation13\code\mechanics\fatrousal.dm" #include "GainStation13\code\mechanics\fattening_trap.dm" @@ -3945,12 +3946,14 @@ #include "GainStation13\code\mobs\chocoslime.dm" #include "GainStation13\code\mobs\races\caloritegolem.dm" #include "GainStation13\code\modules\client\preferences\preferences.dm" +#include "GainStation13\code\modules\clothing\under\jobs\clothing.dm" #include "GainStation13\code\modules\clothing\under\jobs\modcivilian.dm" #include "GainStation13\code\modules\food_and_drinks\drinks.dm" #include "GainStation13\code\modules\food_and_drinks\food.dm" #include "GainStation13\code\modules\food_and_drinks\recipes_bigpizza.dm" #include "GainStation13\code\modules\food_and_drinks\objects\candy_flora.dm" #include "GainStation13\code\modules\food_and_drinks\recipes\recipes_ported.dm" +#include "GainStation13\code\modules\hud\alert.dm" #include "GainStation13\code\modules\gym\gym.dm" #include "GainStation13\code\modules\hydroponics\lipoplant.dm" #include "GainStation13\code\modules\hydroponics\munchies_weed.dm"