diff --git a/code/game/objects/items/weapons/circuitboards/machinery/miscboards.dm b/code/game/objects/items/weapons/circuitboards/machinery/miscboards.dm index 34e32ecc557..ddc5e602504 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/miscboards.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/miscboards.dm @@ -139,6 +139,18 @@ "/obj/item/stock_parts/scanning_module" = 1, "/obj/item/stock_parts/matter_bin" = 2) +/obj/item/circuitboard/grill + name = T_BOARD("grill") + desc = "The circuitboard for a grill." + build_path = /obj/machinery/appliance/cooker/grill + origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 3) + board_type = "machine" + req_components = list( + "/obj/item/stock_parts/capacitor" = 2, + "/obj/item/stock_parts/micro_laser" = 1, + "/obj/item/stack/cable_coil" = 5 + ) + /obj/item/circuitboard/candymachine name = T_BOARD("candy machine") desc = "The circuitboard for a candy machine." diff --git a/code/modules/cooking/machinery/cooking_machines/container.dm b/code/modules/cooking/machinery/cooking_machines/container.dm index 158946311e2..e17b34c55ae 100644 --- a/code/modules/cooking/machinery/cooking_machines/container.dm +++ b/code/modules/cooking/machinery/cooking_machines/container.dm @@ -239,7 +239,8 @@ icon_state = "grill_grate" appliancetype = GRILL insertable = list( - /obj/item/reagent_containers/food/snacks/meat + /obj/item/reagent_containers/food/snacks/meat, + /obj/item/reagent_containers/food/snacks/xenomeat ) /obj/item/reagent_containers/cooking_container/grill_grate/can_fit() diff --git a/code/modules/cooking/machinery/cooking_machines/grill.dm b/code/modules/cooking/machinery/cooking_machines/grill.dm index c6ffa707fef..3e9d6fe98f1 100644 --- a/code/modules/cooking/machinery/cooking_machines/grill.dm +++ b/code/modules/cooking/machinery/cooking_machines/grill.dm @@ -21,6 +21,13 @@ cooking_coeff = 0.3 // cook it nice and slow + component_types = list( + /obj/item/circuitboard/grill, + /obj/item/stock_parts/capacitor = 2, + /obj/item/stock_parts/micro_laser, + /obj/item/stack/cable_coil = 5 + ) + starts_with = list( /obj/item/reagent_containers/cooking_container/grill_grate ) @@ -59,8 +66,10 @@ var/obj/item/reagent_containers/cooking_container/grill_grate/G = CI.container if(G) add_overlay(image('icons/obj/cooking_machines.dmi', "grill")) - var/contents_len = length(G.contents) - if(!contents_len) - return - for(var/i = 1 to contents_len) - add_overlay(image('icons/obj/cooking_machines.dmi', "meat[i]")) \ No newline at end of file + var/counter = 1 + for(var/thing in G.contents) + if(istype(thing, /obj/item/reagent_containers/food/snacks/meat)) + add_overlay(image('icons/obj/cooking_machines.dmi', "meat[counter]")) + else if(istype(thing, /obj/item/reagent_containers/food/snacks/xenomeat)) + add_overlay(image('icons/obj/cooking_machines.dmi', "xenomeat[counter]")) + counter++ \ No newline at end of file diff --git a/code/modules/cooking/recipes/recipe.dm b/code/modules/cooking/recipes/recipe.dm index 11e5698499b..0427336121f 100644 --- a/code/modules/cooking/recipes/recipe.dm +++ b/code/modules/cooking/recipes/recipe.dm @@ -70,6 +70,8 @@ /decl/recipe/proc/get_appliance_names() var/list/appliance_names + if(appliance & GRILL) // this comes first in the proc because it's the most important - geeves + LAZYADD(appliance_names, "a grill") if(appliance & MIX) LAZYADD(appliance_names, "a mixing bowl or plate") if(appliance & FRYER) diff --git a/code/modules/cooking/recipes/recipes_grill.dm b/code/modules/cooking/recipes/recipes_grill.dm index 5ccd591c8fb..deef9e0bfaf 100644 --- a/code/modules/cooking/recipes/recipes_grill.dm +++ b/code/modules/cooking/recipes/recipes_grill.dm @@ -3,5 +3,27 @@ items = list( /obj/item/reagent_containers/food/snacks/meat ) - reagents = list(/decl/reagent/sodiumchloride = 1, /decl/reagent/blackpepper = 1, /decl/reagent/spacespice = 1) + reagents = list(/decl/reagent/sodiumchloride = 1, /decl/reagent/blackpepper = 1) result = /obj/item/reagent_containers/food/snacks/meatsteak/grilled + +/decl/recipe/grilled_meat_spicy + appliance = GRILL + items = list( + /obj/item/reagent_containers/food/snacks/meat + ) + reagents = list(/decl/reagent/sodiumchloride = 1, /decl/reagent/blackpepper = 1, /decl/reagent/spacespice = 1) + result = /obj/item/reagent_containers/food/snacks/meatsteak/grilled/spicy + +/decl/recipe/grilled_xenomeat + appliance = GRILL + items = list( + /obj/item/reagent_containers/food/snacks/xenomeat + ) + result = /obj/item/reagent_containers/food/snacks/xenomeat/grilled + +/decl/recipe/grilled_xenomeat/make_food(obj/container) // make sure we burn all the polyacid away + . = ..() + var/list/results = . + for(var/thing in results) + var/obj/item/XMG = thing + XMG.reagents.del_reagent(/decl/reagent/acid/polyacid) \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm index 13bbffed44f..c4b3898a51c 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -20,6 +20,7 @@ speak_chance = 5 turns_per_move = 5 see_in_dark = 10 + meat_amount = 3 meat_type = /obj/item/reagent_containers/food/snacks/xenomeat organ_names = list("thorax", "legs", "head") response_help = "pets" diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 61b3d37fa41..b94d5f1a12b 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -726,7 +726,9 @@ mob/living/simple_animal/bullet_act(var/obj/item/projectile/Proj) if(issmall(src)) user.visible_message("\The [user] chops up \the [src]!") - new/obj/effect/decal/cleanable/blood/splatter(get_turf(src)) + var/obj/effect/decal/cleanable/blood/splatter/S = new /obj/effect/decal/cleanable/blood/splatter(get_turf(src)) + S.basecolor = blood_type + S.update_icon() qdel(src) else user.visible_message("\The [user] butchers \the [src] messily!") diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index 310fc0af3f6..64c40bdd51d 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -886,6 +886,32 @@ reagents_to_add = list(/decl/reagent/nutriment/protein = 6, /decl/reagent/acid/polyacid = 6) +/obj/item/reagent_containers/food/snacks/xenomeat/grilled + name = "grilled xeno steak" + desc = "A piece of grilled xeno meat. The process converts the dangerous acids within into tasty fats, even though the final look might be... upsetting." + icon_state = "xenosteak" + + trash = /obj/item/trash/plate/steak + center_of_mass = list("x"=16, "y"=13) + bitesize = 2 + reagents_to_add = list(/decl/reagent/nutriment/protein = 6, /decl/reagent/nutriment/triglyceride = 2, /decl/reagent/capsaicin = 2) + +/obj/item/reagent_containers/food/snacks/xenomeat/grilled/update_icon() + var/percent = round((reagents.total_volume / 10) * 100) + switch(percent) + if(0 to 10) + icon_state = "xenosteak_10" + if(11 to 25) + icon_state = "xenosteak_25" + if(26 to 40) + icon_state = "xenosteak_40" + if(41 to 60) + icon_state = "xenosteak_60" + if(61 to 75) + icon_state = "xenosteak_75" + if(76 to INFINITY) + icon_state = "xenosteak" + /obj/item/reagent_containers/food/snacks/meatball name = "meatball" desc = "A great meal all round." @@ -1512,7 +1538,11 @@ /obj/item/reagent_containers/food/snacks/meatsteak/grilled name = "grilled steak" desc = "A piece of meat grilled to absolute perfection. Sssssssip. This is the life." - reagents_to_add = list(/decl/reagent/nutriment/protein = 6, /decl/reagent/nutriment/triglyceride = 2, /decl/reagent/sodiumchloride = 1, /decl/reagent/blackpepper = 1, /decl/reagent/spacespice = 1) + reagents_to_add = list(/decl/reagent/nutriment/protein = 6, /decl/reagent/nutriment/triglyceride = 2, /decl/reagent/sodiumchloride = 1, /decl/reagent/blackpepper = 1) + +/obj/item/reagent_containers/food/snacks/meatsteak/grilled/spicy + desc = "A piece of meat grilled to absolute perfection, spiced to tastebud specification. Sssssssip. This is the life." + reagents_to_add = list(/decl/reagent/nutriment/protein = 6, /decl/reagent/nutriment/triglyceride = 2, /decl/reagent/sodiumchloride = 1, /decl/reagent/blackpepper = 1, /decl/reagent/spacespice = 2) /obj/item/reagent_containers/food/snacks/spacylibertyduff name = "spacy liberty duff" diff --git a/code/modules/research/designs/circuit/machine_circuits.dm b/code/modules/research/designs/circuit/machine_circuits.dm index ee9794afc13..15d98c3fc36 100644 --- a/code/modules/research/designs/circuit/machine_circuits.dm +++ b/code/modules/research/designs/circuit/machine_circuits.dm @@ -136,6 +136,11 @@ req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2) build_path = /obj/item/circuitboard/cerealmaker +/datum/design/circuit/machine/grill + name = "Grill" + req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2) + build_path = /obj/item/circuitboard/grill + /datum/design/circuit/machine/candymaker name = "Candy Machine" req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2) diff --git a/html/changelogs/geeves-grill_buffs.yml b/html/changelogs/geeves-grill_buffs.yml new file mode 100644 index 00000000000..0ecc4740c46 --- /dev/null +++ b/html/changelogs/geeves-grill_buffs.yml @@ -0,0 +1,10 @@ +author: Geeves + +delete-after: True + +changes: + - rscadd: "You can now grill xenomeat on the grill, as is. The polyacid inside will provide the spice you need." + - rscadd: "Ported new grill sprites." + - rscadd: "Added grill circuitboards to RnD, mapped one into the maintenance workshop." + - rscadd: "Increased the amount of meat greimorians drop when butchered." + - tweak: "Added an additional recipe for grilled meat that only needs salt and pepper, no space spice." \ No newline at end of file diff --git a/icons/obj/cooking_machines.dmi b/icons/obj/cooking_machines.dmi index a566e64d39a..3a9f7b6522a 100644 Binary files a/icons/obj/cooking_machines.dmi and b/icons/obj/cooking_machines.dmi differ diff --git a/icons/obj/food.dmi b/icons/obj/food.dmi index dddc1f6a6d4..1deb809a862 100644 Binary files a/icons/obj/food.dmi and b/icons/obj/food.dmi differ diff --git a/maps/aurora/aurora-4_mainlevel.dmm b/maps/aurora/aurora-4_mainlevel.dmm index 07fbce51edb..fb49fe97c67 100644 --- a/maps/aurora/aurora-4_mainlevel.dmm +++ b/maps/aurora/aurora-4_mainlevel.dmm @@ -59956,6 +59956,7 @@ /obj/item/circuitboard/mech_recharger, /obj/item/circuitboard/optable, /obj/item/circuitboard/security/engineering, +/obj/item/circuitboard/grill, /turf/simulated/floor/carpet/rubber, /area/maintenance/workshop) "dtt" = (