diff --git a/code/game/objects/structures/bonfire.dm b/code/game/objects/structures/bonfire.dm index 4178457456a..c9a5238d808 100644 --- a/code/game/objects/structures/bonfire.dm +++ b/code/game/objects/structures/bonfire.dm @@ -6,6 +6,8 @@ density = FALSE anchored = TRUE buckle_lying = FALSE + layer = TURF_LAYER + 0.5 // We want it to layer underneath food and things on top of it. + var/burning = FALSE var/next_fuel_consumption = 0 // world.time of when next item in fuel list gets eatten to sustain the fire. var/grill = FALSE @@ -35,9 +37,21 @@ . = ..(ml, MAT_SIFWOOD) /obj/structure/bonfire/attackby(obj/item/W, mob/user) + + // Place food on the grill. + if(istype(W, /obj/item/reagent_containers/food/snacks) && grill) + if(user.unEquip(W)) + W.dropInto(loc) + // Place it on top of the grill. + W.pixel_x = 0 + W.pixel_y = 12 + return TRUE + if(istype(W, /obj/item/stack/rods) && !can_buckle && !grill) var/obj/item/stack/rods/R = W var/choice = input(user, "What would you like to construct?", "Bonfire") as null|anything in list("Stake","Grill") + if(!choice || user.incapacitated() || !Adjacent(user)) + return TRUE switch(choice) if("Stake") R.use(1) @@ -46,23 +60,24 @@ to_chat(user, "You add a rod to \the [src].") var/mutable_appearance/rod_underlay = mutable_appearance('icons/obj/structures.dmi', "bonfire_rod") rod_underlay.pixel_y = 16 - rod_underlay.appearance_flags = RESET_COLOR|PIXEL_SCALE|TILE_BOUND + rod_underlay.appearance_flags = RESET_COLOR | PIXEL_SCALE | TILE_BOUND | KEEP_APART underlays += rod_underlay if("Grill") R.use(1) grill = TRUE to_chat(user, "You add a grill to \the [src].") update_icon() - else - return ..() + return TRUE - else if(istype(W, /obj/item/stack/material/wood) || istype(W, /obj/item/stack/material/log) ) + if(istype(W, /obj/item/stack/material/wood) || istype(W, /obj/item/stack/material/log) ) add_fuel(W, user) + return TRUE - else if(W.is_hot()) + if(W.is_hot()) ignite() - else - return ..() + return TRUE + + return ..() /obj/structure/bonfire/attack_hand(mob/user) if(has_buckled_mobs()) @@ -193,14 +208,14 @@ if(4.6 to 10) state = "bonfire_hot" var/image/I = image(icon, state) - I.appearance_flags = RESET_COLOR + I.appearance_flags = RESET_COLOR | KEEP_APART add_overlay(I) if(has_buckled_mobs() && get_fuel_amount() >= 5) I = image(icon, "bonfire_intense") I.pixel_y = 13 I.layer = MOB_LAYER + 0.1 - I.appearance_flags = RESET_COLOR + I.appearance_flags = RESET_COLOR | KEEP_APART add_overlay(I) var/light_strength = max(get_fuel_amount() / 2, 2) @@ -210,10 +225,9 @@ if(grill) var/image/grille_image = image(icon, "bonfire_grill") - grille_image.appearance_flags = RESET_COLOR + grille_image.appearance_flags = RESET_COLOR | KEEP_APART add_overlay(grille_image) - /obj/structure/bonfire/process() if(!check_oxygen()) extinguish() @@ -222,7 +236,10 @@ if(!consume_fuel(pop(contents))) extinguish() return - if(!grill) + if(grill) + for(var/obj/item/reagent_containers/food/snacks/snack in loc) + snack.grill(src) + else burn() if(burning) @@ -384,7 +401,7 @@ if(6.6 to 10) state = "fireplace_intense" //don't need to throw a corpse inside to make it burn hotter. var/image/I = image(icon, state) - I.appearance_flags = RESET_COLOR + I.appearance_flags = RESET_COLOR | KEEP_APART add_overlay(I) var/light_strength = max(get_fuel_amount() / 2, 2) @@ -423,4 +440,4 @@ /obj/structure/fireplace/water_act(amount) if(prob(amount * 10)) - extinguish() \ No newline at end of file + extinguish() diff --git a/code/modules/economy/price_list.dm b/code/modules/economy/price_list.dm index 46d1e9fb993..92c0975b5a7 100644 --- a/code/modules/economy/price_list.dm +++ b/code/modules/economy/price_list.dm @@ -696,7 +696,10 @@ /obj/item/reagent_containers/food/snacks/cubancarp price_tag = 5 -/obj/item/reagent_containers/food/snacks/loadedbakedpotato +/obj/item/reagent_containers/food/snacks/bakedpotato + price_tag = 3 + +/obj/item/reagent_containers/food/snacks/bakedpotato/loaded price_tag = 5 /obj/item/reagent_containers/food/snacks/fries @@ -1026,4 +1029,4 @@ //******************************// /datum/reagent/ethanol/euphoria - price_tag = 30 \ No newline at end of file + price_tag = 30 diff --git a/code/modules/food/food/snacks.dm b/code/modules/food/food/snacks.dm index 8242754353b..d0bef2fa211 100644 --- a/code/modules/food/food/snacks.dm +++ b/code/modules/food/food/snacks.dm @@ -45,6 +45,37 @@ . = ..() nutriment_desc = null +/obj/item/reagent_containers/food/snacks + + // Halfassed version of Crabs' cooking system on Cit, should + // be folded into that if it is ported to Polaris. + + /// How many SSobj ticks of cooking the food has experienced. + var/backyard_grilling_progress = 0 + /// What object type the food cooks into. + var/backyard_grilling_product = /obj/item/reagent_containers/food/snacks/badrecipe + /// How many SSobj ticks it takes for the food to cook. + var/backyard_grilling_threshold = 10 + /// The message shown when the food cooks. + var/backyard_grilling_announcement = "smokes and chars!" + /// The span class used for the message above. Burned food defaults to SPAN_DANGER. + var/backyard_grilling_span = "notice" + +/obj/item/reagent_containers/food/snacks/proc/grill(var/atom/heat_source) + if(!backyard_grilling_product || !backyard_grilling_threshold) + return + backyard_grilling_progress++ + if(backyard_grilling_progress >= backyard_grilling_threshold) + backyard_grilling_progress = 0 + var/obj/item/food = new backyard_grilling_product + food.dropInto(loc) + if(backyard_grilling_announcement) + if(istype(food, /obj/item/reagent_containers/food/snacks/badrecipe)) + food.visible_message(SPAN_DANGER("\The [src] [backyard_grilling_announcement]")) + else + food.visible_message("\The [src] [backyard_grilling_announcement]") + qdel(src) + //Placeholder for effect that trigger on eating that aren't tied to reagents. /obj/item/reagent_containers/food/snacks/proc/On_Consume(var/mob/M) if(!usr) @@ -943,10 +974,13 @@ center_of_mass = list("x"=16, "y"=10) bitesize = 6 +/obj/item/reagent_containers/food/snacks/xenomeat/proc/add_venom() + reagents.add_reagent("pacid",6) + /obj/item/reagent_containers/food/snacks/xenomeat/Initialize() . = ..() reagents.add_reagent("protein", 6, TASTE_DATA(list("faintly metallic meat" = 6))) - reagents.add_reagent("pacid",6) + add_venom() /obj/item/reagent_containers/food/snacks/xenomeat/spidermeat // Substitute for recipes requiring xeno meat. name = "spider meat" @@ -955,11 +989,21 @@ filling_color = "#43DE18" center_of_mass = list("x"=16, "y"=10) bitesize = 6 + backyard_grilling_product = /obj/item/reagent_containers/food/snacks/xenomeat/spidermeat/charred + backyard_grilling_announcement = "smokes as the poison burns away." -/obj/item/reagent_containers/food/snacks/xenomeat/spidermeat/Initialize() - . = ..() +/obj/item/reagent_containers/food/snacks/xenomeat/spidermeat/add_venom() + ..() reagents.add_reagent("spidertoxin",6) - reagents.remove_reagent("pacid",6) + +/obj/item/reagent_containers/food/snacks/xenomeat/spidermeat/charred + name = "charred spider meat" + desc = "A slab of green meat with char lines. The poison has been burned out of it." + color = COLOR_LIGHT_RED + backyard_grilling_product = /obj/item/reagent_containers/food/snacks/badrecipe + +/obj/item/reagent_containers/food/snacks/xenomeat/spidermeat/charred/add_venom() + return /obj/item/reagent_containers/food/snacks/meatball name = "meatball" @@ -1001,6 +1045,24 @@ . = ..() reagents.add_reagent("protein", 2, TASTE_DATA(list("salty meat mush" = 2))) +/obj/item/reagent_containers/food/snacks/donkpocket/grill(var/atom/heat_source) + + backyard_grilling_progress++ + if(backyard_grilling_progress >= backyard_grilling_threshold) + backyard_grilling_progress = 0 + + // We're already warm, so we burn. + if(warm) + var/obj/item/reagent_containers/food/snacks/badrecipe/whoops = new + whoops.dropInto(loc) + visible_message(SPAN_DANGER("\The [src] chars and blackens!")) + qdel(src) + return + + // Otherwise we just warm up. + heat() + visible_message(SPAN_NOTICE("\The [src] steams gently!")) + /obj/item/reagent_containers/food/snacks/donkpocket/proc/heat() warm = 1 for(var/reagent in heated_reagents) @@ -1464,16 +1526,23 @@ unpopped = max(0, unpopped-1) . = ..() -/obj/item/reagent_containers/food/snacks/loadedbakedpotato - name = "loaded baked potato" +/obj/item/reagent_containers/food/snacks/bakedpotato + name = "baked potato" desc = "Totally baked." - icon_state = "loadedbakedpotato" + icon_state = "bakedpotato" filling_color = "#9C7A68" center_of_mass = list("x"=16, "y"=10) + nutriment_amt = 6 + nutriment_desc = list("baked potato" = 3) + nutriment_allergens = ALLERGEN_VEGETABLE + bitesize = 2 + +/obj/item/reagent_containers/food/snacks/bakedpotato/loaded + name = "loaded baked potato" + icon_state = "loadedbakedpotato" nutriment_amt = 12 nutriment_desc = list("baked potato" = 3, "cheese" = 3) nutriment_allergens = ALLERGEN_VEGETABLE|ALLERGEN_DAIRY - bitesize = 2 /obj/item/reagent_containers/food/snacks/fries name = "skinny fries" @@ -1578,6 +1647,23 @@ filling_color = "#211F02" center_of_mass = list("x"=16, "y"=12) bitesize = 2 + backyard_grilling_product = null + +/obj/item/reagent_containers/food/snacks/badrecipe/grill(var/atom/heat_source) + if(!backyard_grilling_progress) // Smoke on our first grill + // Produce nasty smoke. + var/datum/effect_system/smoke_spread/bad/burntfood/smoke = new /datum/effect_system/smoke_spread/bad/burntfood + playsound(src, 'sound/effects/smoke.ogg', 20, 1) + smoke.attach(src) + smoke.set_up(10, 0, get_turf(src), 300) + smoke.start() + // Set off fire alarms! + var/obj/machinery/firealarm/FA = locate() in get_area(src) + if(FA) + FA.alarm() + backyard_grilling_progress++ + if(backyard_grilling_progress >= backyard_grilling_threshold) + qdel(src) /obj/item/reagent_containers/food/snacks/badrecipe/Initialize() . = ..() @@ -2107,6 +2193,8 @@ nutriment_desc = list("bread" = 3, "cheese" = 3) nutriment_allergens = ALLERGEN_DAIRY bitesize = 2 + backyard_grilling_product = /obj/item/reagent_containers/food/snacks/toastedsandwich + backyard_grilling_announcement = "is toasted golden brown." /obj/item/reagent_containers/food/snacks/clubsandwich name = "club sandwich" @@ -3592,6 +3680,8 @@ nutriment_amt = 4 nutriment_desc = list("uncooked dough" = 3) nutriment_allergens = ALLERGEN_GRAINS|ALLERGEN_EGGS //We're going to call the egg a gameplay abstraction for the mostpart, but for now you JUST put an egg in here...= + backyard_grilling_product = /obj/item/reagent_containers/food/snacks/bun + backyard_grilling_announcement = "is baked into a simple bun." // Dough + rolling pin = flat dough /obj/item/reagent_containers/food/snacks/dough/attackby(obj/item/W as obj, mob/user as mob) @@ -3612,7 +3702,8 @@ nutriment_desc = list("raw dough" = 3) center_of_mass = list("x"=16, "y"=16) nutriment_allergens = ALLERGEN_GRAINS|ALLERGEN_EGGS - + backyard_grilling_product = /obj/item/reagent_containers/food/snacks/flatbread + backyard_grilling_announcement = "is baked into a simple flatbread." /obj/item/reagent_containers/food/snacks/doughslice name = "dough slice" @@ -3736,6 +3827,8 @@ icon_state = "rawcutlet" bitesize = 1 center_of_mass = list("x"=17, "y"=20) + backyard_grilling_product = /obj/item/reagent_containers/food/snacks/cutlet + backyard_grilling_announcement = "sizzles as it is grilled through." /obj/item/reagent_containers/food/snacks/rawcutlet/Initialize() . = ..() @@ -3760,6 +3853,8 @@ icon_state = "rawmeatball" bitesize = 2 center_of_mass = list("x"=16, "y"=15) + backyard_grilling_product = /obj/item/reagent_containers/food/snacks/meatball + backyard_grilling_announcement = "sizzles as it is grilled through." /obj/item/reagent_containers/food/snacks/rawmeatball/Initialize() . = ..() @@ -3796,6 +3891,8 @@ nutriment_amt = 3 nutriment_desc = list("raw potato" = 3) nutriment_allergens = ALLERGEN_VEGETABLE + // This probably should need a container and oil + // backyard_grilling_product = /obj/item/reagent_containers/food/snacks/fries /obj/item/reagent_containers/food/snacks/rawsunflower name = "sunflower seeds" @@ -3807,6 +3904,8 @@ nutriment_amt = 1 nutriment_desc = list("starch" = 3) nutriment_allergens = ALLERGEN_SEEDS + // This probably should need a container and oil + // backyard_grilling_product = /obj/item/reagent_containers/food/snacks/roastedsunflower /obj/item/reagent_containers/food/snacks/frostbelle name = "frostbelle bud" @@ -4233,6 +4332,8 @@ nutriment_amt = 2 nutriment_desc = list("tartness" = 1) w_class = ITEMSIZE_TINY + backyard_grilling_product = /obj/item/reagent_containers/food/snacks/roast_sifpod + backyard_grilling_announcement = "crackles and pops as the roast hull splits open." /obj/item/reagent_containers/food/snacks/siffruit/Initialize() . = ..() diff --git a/code/modules/food/food/snacks_sif.dm b/code/modules/food/food/snacks_sif.dm new file mode 100644 index 00000000000..03948e1f048 --- /dev/null +++ b/code/modules/food/food/snacks_sif.dm @@ -0,0 +1,102 @@ +/obj/item/reagent_containers/food/snacks/roast_sifpod + name = "roast sifpod" + desc = "A charred and blackened sifpod, roasted to kill the toxins and split open to reveal steaming blue-green fruit jelly within. A popular campfire snack." + icon = 'icons/obj/food_sivian.dmi' + icon_state = "roastpod" + nutriment_amt = 4 + nutriment_desc = list( + SPECIES_TESHARI = list( + "rich, tart fruit jelly" = 4, + "pungent muskiness" = 1 + ), + TASTE_STRING_DEFAULT = list( + "sweet, tart fruit jelly" = 4, + "pungent muskiness" = 1 + ) + ) + nutriment_allergens = ALLERGEN_FRUIT + bitesize = 3 + +/obj/item/reagent_containers/food/snacks/sif_gumbo + name = "\improper Londuneyja gumbo" + desc = "A hearty stew of fish, fruit, spices and vegetables native to the Londuneyja region of Sif, along with a few Solar staples. A dish commonly served in rural settings, talked up as capable of warding off even the freezing Sivian winds." + gender = PLURAL + icon = 'icons/obj/food_sivian.dmi' + icon_state = "gumbo" + trash = /obj/item/trash/gumbo_bowl + nutriment_amt = 8 + nutriment_desc = list( + "smoky fish" = 3, + "spiced vegetables" = 3, + "stewed fruit" = 3, + "savoury stewed rice" = 5, + "rich spices" = 5 + ) + nutriment_allergens = ALLERGEN_FRUIT | ALLERGEN_FISH | ALLERGEN_VEGETABLE | ALLERGEN_GRAINS + bitesize = 3 + +/obj/item/trash/gumbo_bowl + name = "brown bowl" + icon_state = "gumbo_bowl" + +/obj/item/reagent_containers/food/snacks/sif_jambalaya + name = "\improper Ullran jambalaya" + desc = "A colourful rice dish made with local Sivian fare, often made in bulk to feed large families or groups of workers in the rural areas of the Ullran Expanse. Spider sausage is optional, but highly recommended." + gender = PLURAL + icon = 'icons/obj/food_sivian.dmi' + icon_state = "jambalaya" + trash = /obj/item/trash/jambalaya_plate + nutriment_amt = 2 + nutriment_desc = list( + "rich tomato and chili" = 3, + "savoury rice" = 5, + "spiced meat" = 5, + "tangy fruit" = 2 + ) + bitesize = 3 + nutriment_allergens = ALLERGEN_FRUIT | ALLERGEN_MEAT | ALLERGEN_VEGETABLE | ALLERGEN_GRAINS + +/obj/item/reagent_containers/food/snacks/sif_jambalaya/Initialize() + . = ..() + reagents.add_reagent("protein", 1) + reagents.add_reagent("tomatojuice", 1) + reagents.add_reagent("water", 1) + reagents.add_reagent("rice", 1) + +/obj/item/trash/jambalaya_plate + name = "plate" + icon_state = "blue_plate" + +/obj/item/reagent_containers/food/snacks/sif_gerjao_auga + name = "gerjao auga" + desc = "A serving of finely shredded, fermented eyebulbs, similar in consistency to sauerkraut, but with an offputting citrus smell. Goes well with smoked shantak flank." + gender = PLURAL + icon = 'icons/obj/food_sivian.dmi' + icon_state = "gerjao_auga" + trash = /obj/item/trash/gerjao_auga_bowl + nutriment_amt = 3 + nutriment_desc = list( + "sharp vinegar" = 4, + "bitter citrus" = 2, + "sourness" = 4 + ) + nutriment_allergens = ALLERGEN_FRUIT + bitesize = 2 + +/obj/item/reagent_containers/food/snacks/sif_gerjao_auga/Initialize() + . = ..() + reagents.add_reagent("vinegar", 1) + +/obj/item/trash/gerjao_auga_bowl + name = "small bowl" + icon_state = "small_blue_bowl" + +/* +/obj/item/reagent_containers/food/snacks/sif_wabback_gratin + name = "wabback gratin" + desc = "A creamy, filling dish of baked black and white wabback slices, with a layer of cheese on top. The baking neutralizes the serotrotium and crisps the cheese!" + +/obj/item/reagent_containers/food/snacks/siftromming + name = "sifstromming" + desc = "A portion of Sivian native fish, fermented in sifsap and brine. Commonly used to preserve meat in the Sivian wilds, and quite popular with the local Teshari." +*/ diff --git a/code/modules/food/recipes_microwave.dm b/code/modules/food/recipes_microwave.dm index 2779e048fa7..25b588955f0 100644 --- a/code/modules/food/recipes_microwave.dm +++ b/code/modules/food/recipes_microwave.dm @@ -119,11 +119,14 @@ I said no! ) result = /obj/item/reagent_containers/food/snacks/wingfangchu -/datum/recipe/loadedbakedpotato +/datum/recipe/bakedpotato fruit = list("potato" = 1) - items = list(/obj/item/reagent_containers/food/snacks/cheesewedge) reagent_mix = RECIPE_REAGENT_REPLACE //No raw tater - result = /obj/item/reagent_containers/food/snacks/loadedbakedpotato + result = /obj/item/reagent_containers/food/snacks/bakedpotato + +/datum/recipe/bakedpotato/loaded + items = list(/obj/item/reagent_containers/food/snacks/cheesewedge) + result = /obj/item/reagent_containers/food/snacks/bakedpotato/loaded /datum/recipe/microchips appliance = MICROWAVE diff --git a/code/modules/food/recipes_oven.dm b/code/modules/food/recipes_oven.dm index f42f82ee182..67de954da5b 100644 --- a/code/modules/food/recipes_oven.dm +++ b/code/modules/food/recipes_oven.dm @@ -671,7 +671,7 @@ appliance = OVEN fruit = list("potato" = 1) items = list(/obj/item/reagent_containers/food/snacks/cheesewedge) - result = /obj/item/reagent_containers/food/snacks/loadedbakedpotato + result = /obj/item/reagent_containers/food/snacks/bakedpotato/loaded /datum/recipe/meatbun appliance = OVEN diff --git a/code/modules/food/recipes_sif.dm b/code/modules/food/recipes_sif.dm new file mode 100644 index 00000000000..773070fb98c --- /dev/null +++ b/code/modules/food/recipes_sif.dm @@ -0,0 +1,85 @@ +/datum/recipe/roast_sifpod + appliance = OVEN + items = list(/obj/item/reagent_containers/food/snacks/siffruit) + reagent_mix = RECIPE_REAGENT_REPLACE // Clear the sifsap. + result = /obj/item/reagent_containers/food/snacks/roast_sifpod + +/datum/recipe/roast_sifpod/grown + items = null + fruit = list("sifpod" = 1) + +/datum/recipe/sif_gerjao_auga + appliance = MICROWAVE + fruit = list("eyebulbs" = 1) + reagent_mix = RECIPE_REAGENT_REPLACE + reagents = list( + "water" = 5, + "sodiumchloride" = 2, + "enzyme" = 1 + ) + result = /obj/item/reagent_containers/food/snacks/sif_gerjao_auga + +/datum/recipe/sif_jambalaya + appliance = OVEN + reagent_mix = RECIPE_REAGENT_REPLACE + result_quantity = 5 // This is a lot, but we have no way to make a big bulk stew item and split it up currently. + reagents = list( + "water" = 5, + "rice" = 10, + "spacespice" = 2 + ) + items = list( + /obj/item/reagent_containers/food/snacks/meat, + /obj/item/reagent_containers/food/snacks/meat + ) + fruit = list( + "eyebulbs" = 1, + "tomato" = 1, + "chili" = 1, + "celery" = 1 + ) + result = /obj/item/reagent_containers/food/snacks/sif_jambalaya + +/datum/recipe/sif_jambalaya/fish + items = list( + /obj/item/reagent_containers/food/snacks/carpmeat, + /obj/item/reagent_containers/food/snacks/carpmeat + ) + +/datum/recipe/sif_jambalaya/mixed + items = list( + /obj/item/reagent_containers/food/snacks/meat, + /obj/item/reagent_containers/food/snacks/carpmeat + ) + +/datum/recipe/sif_gumbo + appliance = OVEN + reagent_mix = RECIPE_REAGENT_REPLACE + result_quantity = 3 // See jambalaya above. + reagents = list( + "water" = 5, + "rice" = 5, + "spacespice" = 2 + ) + items = list( + /obj/item/reagent_containers/food/snacks/meat, + /obj/item/reagent_containers/food/snacks/meat + ) + fruit = list( + "wabback" = 1, + "celery" = 1, + ) + // fish, wabback, meat, rice, celery + result = /obj/item/reagent_containers/food/snacks/sif_gumbo + +/datum/recipe/sif_gumbo/fish + items = list( + /obj/item/reagent_containers/food/snacks/carpmeat, + /obj/item/reagent_containers/food/snacks/carpmeat + ) + +/datum/recipe/sif_gumbo/mixed + items = list( + /obj/item/reagent_containers/food/snacks/meat, + /obj/item/reagent_containers/food/snacks/carpmeat + ) diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index 2fc6b3dd7f2..eee7b4eb21b 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -38,6 +38,9 @@ name = "[seed.seed_name]" trash = seed.get_trash_type() + backyard_grilling_product = seed.backyard_grilling_product + backyard_grilling_threshold = seed.backyard_grilling_threshold + backyard_grilling_announcement = seed.backyard_grilling_announcement update_icon() diff --git a/code/modules/hydroponics/seed.dm b/code/modules/hydroponics/seed.dm index c6cee8cb206..d391bf5da3e 100644 --- a/code/modules/hydroponics/seed.dm +++ b/code/modules/hydroponics/seed.dm @@ -27,6 +27,11 @@ var/has_item_product // Item products. (Eggy) var/force_layer + // Backyard grilling vars. Not passed through genetics. + var/backyard_grilling_threshold = 5 + var/backyard_grilling_product = /obj/item/reagent_containers/food/snacks/badrecipe + var/backyard_grilling_announcement = "smokes and chars!" + // Making the assumption anything in HYDRO-ponics is capable of processing water, and nutrients commonly associated with it, leaving us with the below to be tweaked. var/list/beneficial_reagents // Reagents considered uniquely 'beneficial' by a plant. var/list/mutagenic_reagents // Reagents considered uniquely 'mutagenic' by a plant. diff --git a/code/modules/hydroponics/seedtypes/apples.dm b/code/modules/hydroponics/seedtypes/apples.dm index 4bd8a0bade9..19dc4391429 100644 --- a/code/modules/hydroponics/seedtypes/apples.dm +++ b/code/modules/hydroponics/seedtypes/apples.dm @@ -45,7 +45,9 @@ name = "sifbulb" seed_name = "sivian pod" display_name = "sivian pod" - kitchen_tag = "apple" + kitchen_tag = "sifpod" + backyard_grilling_product = /obj/item/reagent_containers/food/snacks/roast_sifpod + backyard_grilling_announcement = "crackles and pops as the roast hull splits open." chems = list("nutriment" = list(1,5),"sifsap" = list(10,20)) /datum/seed/apple/sif/New() @@ -59,4 +61,4 @@ set_trait(TRAIT_PRODUCT_COLOUR,"#0720c3") set_trait(TRAIT_PLANT_ICON,"tree5") set_trait(TRAIT_FLESH_COLOUR,"#05157d") - set_trait(TRAIT_IDEAL_LIGHT, 1) \ No newline at end of file + set_trait(TRAIT_IDEAL_LIGHT, 1) diff --git a/code/modules/hydroponics/seedtypes/corn.dm b/code/modules/hydroponics/seedtypes/corn.dm index 40071604fb1..3c71e888ef7 100644 --- a/code/modules/hydroponics/seedtypes/corn.dm +++ b/code/modules/hydroponics/seedtypes/corn.dm @@ -5,6 +5,8 @@ kitchen_tag = "corn" chems = list("nutriment" = list(1,10), "cornoil" = list(3,15)) trash_type = /obj/item/corncob + backyard_grilling_product = /obj/item/reagent_containers/food/snacks/popcorn + backyard_grilling_announcement = "pops enthusiastically!" /datum/seed/corn/New() ..() @@ -18,4 +20,4 @@ set_trait(TRAIT_PLANT_ICON,"corn") set_trait(TRAIT_IDEAL_HEAT, 298) set_trait(TRAIT_IDEAL_LIGHT, 6) - set_trait(TRAIT_WATER_CONSUMPTION, 6) \ No newline at end of file + set_trait(TRAIT_WATER_CONSUMPTION, 6) diff --git a/code/modules/hydroponics/seedtypes/flowers.dm b/code/modules/hydroponics/seedtypes/flowers.dm index 529c7219279..a59d4f04c02 100644 --- a/code/modules/hydroponics/seedtypes/flowers.dm +++ b/code/modules/hydroponics/seedtypes/flowers.dm @@ -58,6 +58,7 @@ seed_name = "cavebulbs" display_name = "cavebulbs" kitchen_tag = null + chems = list("nutriment" = list(1,10), "spacespice" = list(1,10)) /datum/seed/flower/sunflower/cavebulbs/New() ..() @@ -118,4 +119,4 @@ ..() set_trait(TRAIT_IDEAL_LIGHT, 1) set_trait(TRAIT_PLANT_COLOUR,"#5e0303") - set_trait(TRAIT_CARNIVOROUS,1) \ No newline at end of file + set_trait(TRAIT_CARNIVOROUS,1) diff --git a/code/modules/hydroponics/seedtypes/grapes.dm b/code/modules/hydroponics/seedtypes/grapes.dm index 9e91155b4aa..4446a1bbf35 100644 --- a/code/modules/hydroponics/seedtypes/grapes.dm +++ b/code/modules/hydroponics/seedtypes/grapes.dm @@ -36,6 +36,7 @@ name = "eyebulbs" seed_name = "eyebulb" display_name = "eyebulbs" + kitchen_tag = "eyebulbs" mutants = null chems = list("nutriment" = list(1,3), "imidazoline" = list(3,5)) @@ -43,4 +44,3 @@ ..() set_trait(TRAIT_PLANT_COLOUR,"#471a73") set_trait(TRAIT_PRODUCT_COLOUR,"#131217") - diff --git a/code/modules/hydroponics/seedtypes/potato.dm b/code/modules/hydroponics/seedtypes/potato.dm index 8aad55afc60..f0fb34f4b2a 100644 --- a/code/modules/hydroponics/seedtypes/potato.dm +++ b/code/modules/hydroponics/seedtypes/potato.dm @@ -4,6 +4,8 @@ display_name = "potatoes" kitchen_tag = "potato" chems = list("nutriment" = list(1,10), "potatojuice" = list(10,10)) + backyard_grilling_product = /obj/item/reagent_containers/food/snacks/bakedpotato + backyard_grilling_announcement = "steams as it is baked through." /datum/seed/potato/New() ..() @@ -15,4 +17,4 @@ set_trait(TRAIT_PRODUCT_ICON,"potato") set_trait(TRAIT_PRODUCT_COLOUR,"#D4CAB4") set_trait(TRAIT_PLANT_ICON,"bush2") - set_trait(TRAIT_WATER_CONSUMPTION, 6) \ No newline at end of file + set_trait(TRAIT_WATER_CONSUMPTION, 6) diff --git a/code/modules/hydroponics/seedtypes/wabback.dm b/code/modules/hydroponics/seedtypes/wabback.dm index 8c1e9411f07..1c3f05d9ddc 100644 --- a/code/modules/hydroponics/seedtypes/wabback.dm +++ b/code/modules/hydroponics/seedtypes/wabback.dm @@ -51,4 +51,4 @@ set_trait(TRAIT_IDEAL_LIGHT, 3) set_trait(TRAIT_WATER_CONSUMPTION, 7) set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.1) - set_trait(TRAIT_YIELD,5) \ No newline at end of file + set_trait(TRAIT_YIELD,5) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/animal.dm b/code/modules/mob/living/simple_mob/subtypes/animal/animal.dm index cd4fe3e5662..cd292024161 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/animal.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/animal.dm @@ -49,6 +49,13 @@ /mob/living/simple_mob/animal/leaves_tracks_type() return tracks_type + +/mob/living/simple_mob/animal/handle_regular_hud_updates() + if(!client) + return FALSE + . = ..() + set_fullscreen(druggy, "high", /obj/screen/fullscreen/high) + /mob/living/simple_mob/animal/proc/has_appetite() return TRUE diff --git a/code/modules/reagents/reactions/instant/food.dm b/code/modules/reagents/reactions/instant/food.dm index d19ea24ade0..f91e82aead6 100644 --- a/code/modules/reagents/reactions/instant/food.dm +++ b/code/modules/reagents/reactions/instant/food.dm @@ -112,7 +112,7 @@ /decl/chemical_reaction/instant/food/meatball/on_reaction(var/datum/reagents/holder, var/created_volume) var/location = get_turf(holder.my_atom) for(var/i = 1, i <= created_volume, i++) - new /obj/item/reagent_containers/food/snacks/meatball(location) + new /obj/item/reagent_containers/food/snacks/rawmeatball(location) return /decl/chemical_reaction/instant/food/dough diff --git a/code/modules/reagents/reagents/food_drinks.dm b/code/modules/reagents/reagents/food_drinks.dm index 4f8a906a702..2dba7c62c41 100644 --- a/code/modules/reagents/reagents/food_drinks.dm +++ b/code/modules/reagents/reagents/food_drinks.dm @@ -691,6 +691,12 @@ reagent_state = SOLID color = "#e08702" +// Drakenip... +/datum/reagent/spacespice/affect_animal(var/mob/living/simple_mob/animal/M, var/removed) + ..() + if(istype(M, /mob/living/simple_mob/animal/sif/grafadreka)) + M.druggy = max(M.druggy, 15) + /datum/reagent/browniemix name = "Brownie Mix" id = "browniemix" diff --git a/icons/obj/food.dmi b/icons/obj/food.dmi index 8d546d61ca2..e9035998bf5 100644 Binary files a/icons/obj/food.dmi and b/icons/obj/food.dmi differ diff --git a/icons/obj/food_sivian.dmi b/icons/obj/food_sivian.dmi new file mode 100644 index 00000000000..94c7b61011d Binary files /dev/null and b/icons/obj/food_sivian.dmi differ diff --git a/icons/obj/trash.dmi b/icons/obj/trash.dmi index 10d64d69d26..a4333efc724 100644 Binary files a/icons/obj/trash.dmi and b/icons/obj/trash.dmi differ diff --git a/polaris.dme b/polaris.dme index aefc5ed3f13..41a81938e72 100644 --- a/polaris.dme +++ b/polaris.dme @@ -1895,6 +1895,7 @@ #include "code\modules\food\recipes_grill.dm" #include "code\modules\food\recipes_microwave.dm" #include "code\modules\food\recipes_oven.dm" +#include "code\modules\food\recipes_sif.dm" #include "code\modules\food\drinkingglass\drinkingglass.dm" #include "code\modules\food\drinkingglass\extras.dm" #include "code\modules\food\drinkingglass\glass_boxes.dm" @@ -1908,6 +1909,7 @@ #include "code\modules\food\food\lunch.dm" #include "code\modules\food\food\sandwich.dm" #include "code\modules\food\food\snacks.dm" +#include "code\modules\food\food\snacks_sif.dm" #include "code\modules\food\food\thecake.dm" #include "code\modules\food\food\drinks\bottle.dm" #include "code\modules\food\food\drinks\cup.dm"