mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-30 00:29:02 +01:00
Merge pull request #55619 from tralezab/pancakes-made-pancakier
Pancakes Griddle
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
/datum/component/grillable
|
||||
dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS // So you can change grill results with various cookstuffs
|
||||
///Result atom type of grilling this object
|
||||
var/atom/cook_result
|
||||
///Amount of time required to cook the food
|
||||
@@ -28,6 +29,19 @@
|
||||
RegisterSignal(parent, COMSIG_ITEM_GRILLED, .proc/OnGrill)
|
||||
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/OnExamine)
|
||||
|
||||
// Inherit the new values passed to the component
|
||||
/datum/component/grillable/InheritComponent(datum/component/grillable/new_comp, original, cook_result, required_cook_time, positive_result, use_large_steam_sprite)
|
||||
if(!original)
|
||||
return
|
||||
if(cook_result)
|
||||
src.cook_result = cook_result
|
||||
if(required_cook_time)
|
||||
src.required_cook_time = required_cook_time
|
||||
if(positive_result)
|
||||
src.positive_result = positive_result
|
||||
if(use_large_steam_sprite)
|
||||
src.use_large_steam_sprite = use_large_steam_sprite
|
||||
|
||||
///Ran every time an item is grilled by something
|
||||
/datum/component/grillable/proc/OnGrill(datum/source, atom/used_grill, delta_time = 1)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
@@ -710,6 +710,47 @@
|
||||
tastes = list("pancakes" = 1)
|
||||
foodtypes = GRAIN | SUGAR | BREAKFAST
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
burns_on_grill = TRUE
|
||||
|
||||
/obj/item/food/pancakes/raw
|
||||
name = "goopy pancake"
|
||||
desc = "A barely cooked mess that some may mistake for a pancake. It longs for the griddle."
|
||||
icon_state = "rawpancakes_1"
|
||||
inhand_icon_state = "rawpancakes"
|
||||
food_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1)
|
||||
tastes = list("milky batter" = 1)
|
||||
burns_on_grill = FALSE
|
||||
|
||||
/obj/item/food/pancakes/raw/MakeGrillable()
|
||||
AddComponent(/datum/component/grillable,\
|
||||
cook_result = /obj/item/food/pancakes,\
|
||||
required_cook_time = rand(30 SECONDS, 40 SECONDS),\
|
||||
positive_result = TRUE,\
|
||||
use_large_steam_sprite = TRUE)
|
||||
|
||||
/obj/item/food/pancakes/raw/attackby(obj/item/garnish, mob/living/user, params)
|
||||
var/newresult
|
||||
if(istype(garnish, /obj/item/food/grown/berries))
|
||||
newresult = /obj/item/food/pancakes/blueberry
|
||||
name = "raw blueberry pancake"
|
||||
icon_state = "rawbbpancakes_1"
|
||||
inhand_icon_state = "rawbbpancakes"
|
||||
else if(istype(garnish, /obj/item/food/chocolatebar))
|
||||
newresult = /obj/item/food/pancakes/chocolatechip
|
||||
name = "raw chocolate chip pancake"
|
||||
icon_state = "rawccpancakes_1"
|
||||
inhand_icon_state = "rawccpancakes"
|
||||
else
|
||||
return ..()
|
||||
if(newresult)
|
||||
qdel(garnish)
|
||||
to_chat(user, "<span class='notice'>You add [garnish] to [src].</span>")
|
||||
AddComponent(/datum/component/grillable, cook_result = newresult)
|
||||
|
||||
/obj/item/food/pancakes/raw/examine(mob/user)
|
||||
. = ..()
|
||||
if(name == initial(name))
|
||||
. += "<span class='notice'>You can modify the pancake by adding <b>blueberries</b> or <b>chocolate</b> before finishing the griddle."
|
||||
|
||||
/obj/item/food/pancakes/blueberry
|
||||
name = "blueberry pancake"
|
||||
|
||||
@@ -26,6 +26,23 @@
|
||||
. = ..()
|
||||
grill_loop = new(list(src), FALSE)
|
||||
variant = rand(1,3)
|
||||
RegisterSignal(src, COMSIG_ATOM_EXPOSE_REAGENT, .proc/on_expose_reagent)
|
||||
|
||||
/obj/machinery/griddle/proc/on_expose_reagent(atom/parent_atom, datum/reagent/exposing_reagent, reac_volume)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
if(griddled_objects.len >= max_items || !istype(exposing_reagent, /datum/reagent/consumable/pancakebatter) || reac_volume < 5)
|
||||
return NONE //make sure you have space... it's actually batter... and a proper amount of it.
|
||||
|
||||
for(var/pancakes in 1 to FLOOR(reac_volume, 5) step 5) //this adds as many pancakes as you possibly could make, with 5u needed per pancake
|
||||
var/obj/item/food/pancakes/raw/new_pancake = new(src)
|
||||
new_pancake.pixel_x = rand(16,-16)
|
||||
new_pancake.pixel_y = rand(16,-16)
|
||||
AddToGrill(new_pancake)
|
||||
if(griddled_objects.len >= max_items)
|
||||
break
|
||||
visible_message("<span class='notice'>[exposing_reagent] begins to cook on [src].</span>")
|
||||
return NONE
|
||||
|
||||
/obj/machinery/griddle/crowbar_act(mob/living/user, obj/item/I)
|
||||
. = ..()
|
||||
|
||||
@@ -125,6 +125,10 @@
|
||||
/datum/chemical_reaction/cakebatter/vegan
|
||||
required_reagents = list(/datum/reagent/consumable/soymilk = 15, /datum/reagent/consumable/flour = 15, /datum/reagent/consumable/sugar = 5)
|
||||
|
||||
/datum/chemical_reaction/pancakebatter
|
||||
results = list(/datum/reagent/consumable/pancakebatter = 15)
|
||||
required_reagents = list(/datum/reagent/consumable/eggyolk = 12, /datum/reagent/consumable/milk = 10, /datum/reagent/consumable/flour = 5)
|
||||
|
||||
/datum/chemical_reaction/ricebowl
|
||||
required_reagents = list(/datum/reagent/consumable/rice = 10, /datum/reagent/water = 10)
|
||||
required_container = /obj/item/reagent_containers/glass/bowl
|
||||
@@ -149,3 +153,7 @@
|
||||
/datum/chemical_reaction/bbqsauce
|
||||
results = list(/datum/reagent/consumable/bbqsauce = 5)
|
||||
required_reagents = list(/datum/reagent/ash = 1, /datum/reagent/consumable/tomatojuice = 1, /datum/reagent/medicine/salglu_solution = 3, /datum/reagent/consumable/blackpepper = 1)
|
||||
|
||||
/datum/chemical_reaction/gravy
|
||||
results = list(/datum/reagent/consumable/gravy = 3)
|
||||
required_reagents = list(/datum/reagent/consumable/milk = 1, /datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/flour = 1)
|
||||
|
||||
@@ -272,7 +272,7 @@
|
||||
)
|
||||
result = /obj/item/food/donut/jelly/slimejelly/laugh
|
||||
|
||||
////////////////////////////////////////////////WAFFLES AND PANCAKES////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////WAFFLES////////////////////////////////////////////////
|
||||
|
||||
/datum/crafting_recipe/food/waffles
|
||||
time = 15
|
||||
@@ -312,33 +312,6 @@
|
||||
result = /obj/item/food/rofflewaffles
|
||||
subcategory = CAT_PASTRY
|
||||
|
||||
/datum/crafting_recipe/food/pancakes
|
||||
name = "Pancake"
|
||||
reqs = list(
|
||||
/obj/item/food/pastrybase = 1
|
||||
)
|
||||
result = /obj/item/food/pancakes
|
||||
subcategory = CAT_PASTRY
|
||||
|
||||
/datum/crafting_recipe/food/bbpancakes
|
||||
name = "Blueberry pancake"
|
||||
reqs = list(
|
||||
/obj/item/food/pastrybase = 1,
|
||||
/obj/item/food/grown/berries = 1
|
||||
)
|
||||
result = /obj/item/food/pancakes/blueberry
|
||||
subcategory = CAT_PASTRY
|
||||
|
||||
/datum/crafting_recipe/food/ccpancakes
|
||||
name = "Chocolate chip pancake"
|
||||
reqs = list(
|
||||
/obj/item/food/pastrybase = 1,
|
||||
/obj/item/food/chocolatebar = 1
|
||||
)
|
||||
result = /obj/item/food/pancakes/chocolatechip
|
||||
subcategory = CAT_PASTRY
|
||||
|
||||
|
||||
////////////////////////////////////////////////DONKPOCCKETS////////////////////////////////////////////////
|
||||
|
||||
/datum/crafting_recipe/food/donkpocket
|
||||
|
||||
@@ -861,3 +861,16 @@
|
||||
nutriment_factor = 5 * REAGENTS_METABOLISM
|
||||
taste_mult = 2
|
||||
taste_description = "fizzy sweetness"
|
||||
|
||||
/datum/reagent/consumable/gravy
|
||||
name = "Gravy"
|
||||
description = "A mixture of flour, water, and the juices of cooked meat."
|
||||
taste_description = "gravy"
|
||||
color = "#623301"
|
||||
taste_mult = 1.2
|
||||
|
||||
/datum/reagent/consumable/pancakebatter
|
||||
name = "pancake batter"
|
||||
description = "A very milky batter. 5 units of this on the griddle makes a mean pancake."
|
||||
taste_description = "milky batter"
|
||||
color = "#fccc98"
|
||||
|
||||
@@ -2324,13 +2324,6 @@
|
||||
color = "#E6E6DA"
|
||||
taste_mult = 0
|
||||
|
||||
/datum/reagent/consumable/gravy
|
||||
name = "Gravy"
|
||||
description = "A mixture of flour, water, and the juices of cooked meat."
|
||||
taste_description = "gravy"
|
||||
color = "#623301"
|
||||
taste_mult = 1.2
|
||||
|
||||
/datum/reagent/determination
|
||||
name = "Determination"
|
||||
description = "For when you need to push on a little more. Do NOT allow near plants."
|
||||
|
||||
@@ -582,10 +582,6 @@
|
||||
required_reagents = list(/datum/reagent/water/hollowwater = 1)
|
||||
required_catalysts = list(/datum/reagent/water/holywater = 1)
|
||||
|
||||
/datum/chemical_reaction/gravy
|
||||
results = list(/datum/reagent/consumable/gravy = 3)
|
||||
required_reagents = list(/datum/reagent/consumable/milk = 1, /datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/flour = 1)
|
||||
|
||||
/datum/chemical_reaction/exotic_stabilizer
|
||||
results = list(/datum/reagent/exotic_stabilizer = 2)
|
||||
required_reagents = list(/datum/reagent/plasma_oxide = 1,/datum/reagent/stabilizing_agent = 1)
|
||||
@@ -599,3 +595,4 @@
|
||||
var/location = get_turf(holder.my_atom)
|
||||
for(var/i in 1 to created_volume)
|
||||
new /obj/item/stack/sheet/mineral/silver(location)
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 82 KiB |
Reference in New Issue
Block a user