mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-09 16:12:17 +00:00
Huge Bundle of Fixes, Update Cooking to current Aurora
Cooking times are now no longer 10-15 minutes per item, the LARGEST items will take around ~4-5 minutes, 6 at the maximum in the case of the superbigbite (one of the most filling food items in the game). Cooking oil tanks added Appliances are now constructible instead of being eldritch black magic Recipes are now reorganized to either fryer/oven/grill based on where they're made (Although recipes_microwave still needs a LOT more sorting) Critical time bug with cooking fixed, AND you can now upgrade your appliances for even higher efficiencies!
This commit is contained in:
@@ -46,6 +46,13 @@
|
||||
containertype = /obj/structure/closet/crate
|
||||
containername = "crate of bar supplies"
|
||||
|
||||
/datum/supply_pack/hospitality/cookingoil
|
||||
name = "Cooking oil tank crate"
|
||||
contains = list(/obj/structure/reagent_dispensers/cookingoil)
|
||||
cost = 10
|
||||
containertype = /obj/structure/largecrate
|
||||
containername = "cooking oil tank crate"
|
||||
|
||||
/datum/supply_pack/randomised/hospitality/
|
||||
group = "Hospitality"
|
||||
|
||||
|
||||
@@ -81,6 +81,31 @@
|
||||
frame_class = FRAME_CLASS_MACHINE
|
||||
frame_size = 4
|
||||
|
||||
/datum/frame/frame_types/oven
|
||||
name = "Oven"
|
||||
frame_class = FRAME_CLASS_MACHINE
|
||||
frame_size = 4
|
||||
|
||||
/datum/frame/frame_types/fryer
|
||||
name = "Fryer"
|
||||
frame_class = FRAME_CLASS_MACHINE
|
||||
frame_size = 4
|
||||
|
||||
/datum/frame/frame_types/grill
|
||||
name = "Grill"
|
||||
frame_class = FRAME_CLASS_MACHINE
|
||||
frame_size = 4
|
||||
|
||||
/datum/frame/frame_types/cerealmaker
|
||||
name = "Cereal Maker"
|
||||
frame_class = FRAME_CLASS_MACHINE
|
||||
frame_size = 4
|
||||
|
||||
/datum/frame/frame_types/candymachine
|
||||
name = "Candy Machine"
|
||||
frame_class = FRAME_CLASS_MACHINE
|
||||
frame_size = 4
|
||||
|
||||
/datum/frame/frame_types/fax
|
||||
name = "Fax"
|
||||
frame_class = FRAME_CLASS_MACHINE
|
||||
|
||||
@@ -121,16 +121,6 @@
|
||||
/obj/item/weapon/stock_parts/motor = 2,
|
||||
/obj/item/stack/cable_coil = 5)
|
||||
|
||||
/obj/item/weapon/circuitboard/microwave
|
||||
name = T_BOARD("microwave")
|
||||
build_path = /obj/machinery/microwave
|
||||
board_type = new /datum/frame/frame_types/microwave
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50)
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/console_screen = 1,
|
||||
/obj/item/weapon/stock_parts/motor = 1,
|
||||
/obj/item/weapon/stock_parts/capacitor = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/recharger
|
||||
name = T_BOARD("recharger")
|
||||
build_path = /obj/machinery/recharger
|
||||
@@ -250,13 +240,3 @@
|
||||
/obj/item/weapon/stock_parts/spring = 1,
|
||||
/obj/item/stack/cable_coil = 5)
|
||||
|
||||
/obj/item/weapon/circuitboard/microwave/advanced
|
||||
name = T_BOARD("deluxe microwave")
|
||||
build_path = /obj/machinery/microwave/advanced
|
||||
board_type = new /datum/frame/frame_types/microwave
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50)
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/console_screen = 1,
|
||||
/obj/item/weapon/stock_parts/motor = 1,
|
||||
/obj/item/weapon/stock_parts/capacitor = 1)
|
||||
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
/obj/item/weapon/circuitboard/microwave
|
||||
name = T_BOARD("microwave")
|
||||
desc = "The circuitboard for a microwave."
|
||||
build_path = /obj/machinery/microwave
|
||||
board_type = new /datum/frame/frame_types/microwave
|
||||
contain_parts = 0
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50)
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/console_screen = 1,
|
||||
/obj/item/weapon/stock_parts/capacitor = 3, // Original Capacitor count was 1
|
||||
/obj/item/weapon/stock_parts/motor = 1,
|
||||
/obj/item/weapon/stock_parts/scanning_module = 1,
|
||||
/obj/item/weapon/stock_parts/matter_bin = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/oven
|
||||
name = T_BOARD("oven")
|
||||
desc = "The circuitboard for an oven."
|
||||
build_path = /obj/machinery/appliance/cooker/oven
|
||||
board_type = new /datum/frame/frame_types/oven
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50)
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/capacitor = 3,
|
||||
/obj/item/weapon/stock_parts/scanning_module = 1,
|
||||
/obj/item/weapon/stock_parts/matter_bin = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/fryer
|
||||
name = T_BOARD("deep fryer")
|
||||
desc = "The circuitboard for a deep fryer."
|
||||
build_path = /obj/machinery/appliance/cooker/fryer
|
||||
board_type = new /datum/frame/frame_types/fryer
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/capacitor = 3,
|
||||
/obj/item/weapon/stock_parts/scanning_module = 1,
|
||||
/obj/item/weapon/stock_parts/matter_bin = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/grill
|
||||
name = T_BOARD("grill")
|
||||
desc = "The circuitboard for an industrial grill."
|
||||
build_path = /obj/machinery/appliance/cooker/grill
|
||||
board_type = new /datum/frame/frame_types/grill
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/capacitor = 3,
|
||||
/obj/item/weapon/stock_parts/scanning_module = 1,
|
||||
/obj/item/weapon/stock_parts/matter_bin = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/cerealmaker
|
||||
name = T_BOARD("cereal maker")
|
||||
desc = "The circuitboard for a cereal maker."
|
||||
build_path = /obj/machinery/appliance/mixer/cereal
|
||||
board_type = new /datum/frame/frame_types/cerealmaker
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/capacitor = 3,
|
||||
/obj/item/weapon/stock_parts/scanning_module = 1,
|
||||
/obj/item/weapon/stock_parts/matter_bin = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/candymachine
|
||||
name = T_BOARD("candy machine")
|
||||
desc = "The circuitboard for a candy machine."
|
||||
build_path = /obj/machinery/appliance/mixer/candy
|
||||
board_type = new /datum/frame/frame_types/candymachine
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/capacitor = 3,
|
||||
/obj/item/weapon/stock_parts/scanning_module = 1,
|
||||
/obj/item/weapon/stock_parts/matter_bin = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/microwave/advanced
|
||||
name = T_BOARD("deluxe microwave")
|
||||
build_path = /obj/machinery/microwave/advanced
|
||||
board_type = new /datum/frame/frame_types/microwave
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50)
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/console_screen = 1,
|
||||
/obj/item/weapon/stock_parts/motor = 1,
|
||||
/obj/item/weapon/stock_parts/capacitor = 1)
|
||||
@@ -4366,7 +4366,7 @@
|
||||
|
||||
//Code for dipping food in batter
|
||||
/obj/item/weapon/reagent_containers/food/snacks/afterattack(obj/O as obj, mob/user as mob, proximity)
|
||||
if(O.is_open_container() && O.reagents && !(istype(O, /obj/item/weapon/reagent_containers/food)))
|
||||
if(O.is_open_container() && O.reagents && !(istype(O, /obj/item/weapon/reagent_containers/food)) && proximity)
|
||||
for (var/r in O.reagents.reagent_list)
|
||||
|
||||
var/datum/reagent/R = r
|
||||
|
||||
@@ -16,10 +16,10 @@
|
||||
use_power = USE_POWER_IDLE
|
||||
idle_power_usage = 5 // Power used when turned on, but not processing anything
|
||||
active_power_usage = 1000 // Power used when turned on and actively cooking something
|
||||
var/initial_active_power_usage = 1000
|
||||
|
||||
var/cooking_power = 1
|
||||
var/initial_cooking_power = 1
|
||||
var/cooking_power = 0 // Effectiveness/speed at cooking
|
||||
var/cooking_coeff = 0 // Optimal power * proximity to optimal temp; used to calc. cooking power.
|
||||
var/heating_power = 1000 // Effectiveness at heating up; not used for mixers, should be equal to active_power_usage
|
||||
var/max_contents = 1 // Maximum number of things this appliance can simultaneously cook
|
||||
var/on_icon // Icon state used when cooking.
|
||||
var/off_icon // Icon state used when not cooking.
|
||||
@@ -29,7 +29,7 @@
|
||||
var/mobdamagetype = BRUTE // Burn damage for cooking appliances, brute for cereal/candy
|
||||
var/food_color // Colour of resulting food item.
|
||||
var/cooked_sound = 'sound/machines/ding.ogg' // Sound played when cooking completes.
|
||||
var/can_burn_food // Can the object burn food that is left inside?
|
||||
var/can_burn_food = FALSE // Can the object burn food that is left inside?
|
||||
var/burn_chance = 10 // How likely is the food to burn?
|
||||
var/list/cooking_objs = list() // List of things being cooked
|
||||
|
||||
@@ -40,18 +40,13 @@
|
||||
|
||||
var/container_type = null
|
||||
|
||||
var/combine_first = 0//If 1, this appliance will do combinaiton cooking before checking recipes
|
||||
var/combine_first = FALSE // If TRUE, this appliance will do combination cooking before checking recipes
|
||||
|
||||
/obj/machinery/appliance/Initialize()
|
||||
. = ..()
|
||||
component_parts = list()
|
||||
component_parts += /obj/item/weapon/circuitboard/cooking
|
||||
component_parts += /obj/item/weapon/stock_parts/capacitor
|
||||
component_parts += /obj/item/weapon/stock_parts/capacitor
|
||||
component_parts += /obj/item/weapon/stock_parts/capacitor
|
||||
component_parts += /obj/item/weapon/stock_parts/scanning_module
|
||||
component_parts += /obj/item/weapon/stock_parts/matter_bin
|
||||
component_parts += /obj/item/weapon/stock_parts/matter_bin
|
||||
|
||||
default_apply_parts()
|
||||
|
||||
if(output_options.len)
|
||||
verbs += /obj/machinery/appliance/proc/choose_output
|
||||
|
||||
@@ -228,7 +223,7 @@
|
||||
else if(istype(check, /obj/item/weapon/disk/nuclear))
|
||||
to_chat(user, "<span class='warning'>You can't cook that.</span>")
|
||||
return 0
|
||||
else if(I.is_crowbar() || I.is_screwdriver()) // You can't cook tools, dummy.
|
||||
else if(I.is_crowbar() || I.is_screwdriver() || istype(I, /obj/item/weapon/storage/part_replacer)) // You can't cook tools, dummy.
|
||||
return 0
|
||||
else if(!istype(check) && !istype(check, /obj/item/weapon/holder))
|
||||
to_chat(user, "<span class='warning'>That's not edible.</span>")
|
||||
@@ -301,7 +296,7 @@
|
||||
|
||||
/obj/machinery/appliance/proc/get_cooking_work(var/datum/cooking_item/CI)
|
||||
for (var/obj/item/J in CI.container)
|
||||
oilwork(J, CI)
|
||||
cookwork_by_item(J, CI)
|
||||
|
||||
for (var/r in CI.container.reagents.reagent_list)
|
||||
var/datum/reagent/R = r
|
||||
@@ -328,7 +323,7 @@
|
||||
CI.max_cookwork += buffer*multiplier
|
||||
|
||||
//Just a helper to save code duplication in the above
|
||||
/obj/machinery/appliance/proc/oilwork(var/obj/item/I, var/datum/cooking_item/CI)
|
||||
/obj/machinery/appliance/proc/cookwork_by_item(var/obj/item/I, var/datum/cooking_item/CI)
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/S = I
|
||||
var/work = 0
|
||||
if (istype(S))
|
||||
@@ -725,18 +720,13 @@
|
||||
|
||||
for(var/obj/item/weapon/stock_parts/P in src.component_parts)
|
||||
if(istype(P, /obj/item/weapon/stock_parts/scanning_module))
|
||||
scan_rating += P.rating
|
||||
scan_rating += P.rating - 1 // Default parts shouldn't mess with stats
|
||||
// to_world("RefreshParts returned scan rating of [scan_rating] during this step.") // Debug lines, uncomment if you need to test.
|
||||
else if(istype(P, /obj/item/weapon/stock_parts/capacitor))
|
||||
cap_rating += P.rating
|
||||
cap_rating += P.rating - 1 // Default parts shouldn't mess with stats
|
||||
// to_world("RefreshParts returned cap rating of [cap_rating] during this step.") // Debug lines, uncomment if you need to test.
|
||||
|
||||
active_power_usage = initial(active_power_usage) - scan_rating*10
|
||||
cooking_power = initial(cooking_power) + (scan_rating+cap_rating)/10
|
||||
|
||||
/obj/item/weapon/circuitboard/cooking
|
||||
name = "kitchen appliance circuitry"
|
||||
desc = "The circuitboard for many kitchen appliances. Not of much use."
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/capacitor = 3,
|
||||
/obj/item/weapon/stock_parts/scanning_module = 1,
|
||||
/obj/item/weapon/stock_parts/matter_bin = 2)
|
||||
active_power_usage = initial(active_power_usage) - scan_rating * 25
|
||||
heating_power = initial(heating_power) + cap_rating * 25
|
||||
cooking_power = cooking_coeff * (1 + (scan_rating + cap_rating) / 20) // 100% eff. becomes 120%, 140%, 160% w/ better parts, thus rewarding upgrading the appliances during your shift.
|
||||
// to_world("RefreshParts returned cooking power of [cooking_power] during this step.") // Debug lines, uncomment if you need to test.
|
||||
|
||||
@@ -2,27 +2,29 @@
|
||||
var/temperature = T20C
|
||||
var/min_temp = 80 + T0C //Minimum temperature to do any cooking
|
||||
var/optimal_temp = 200 + T0C //Temperature at which we have 100% efficiency. efficiency is lowered on either side of this
|
||||
var/optimal_power = 0.1//cooking power at 100%
|
||||
var/optimal_power = 0.6 //cooking power at 100% - This variable determines the MAXIMUM increase in do_cooking_ticks, once math goes through. If you want ticks of 0.5, set it to 0.5, etc.
|
||||
|
||||
var/loss = 1 //Temp lost per proc when equalising
|
||||
var/resistance = 32000 //Resistance to heating. combines with active power usage to determine how long heating takes. 32k by default.
|
||||
var/resistance = 32000 //Resistance to heating. combines with heating power to determine how long heating takes. 32k by default.
|
||||
|
||||
var/light_x = 0
|
||||
var/light_y = 0
|
||||
cooking_coeff = 0
|
||||
cooking_power = 0
|
||||
mobdamagetype = BURN
|
||||
can_burn_food = TRUE
|
||||
|
||||
/obj/machinery/appliance/cooker/examine(var/mob/user)
|
||||
. = ..()
|
||||
if(.) //no need to duplicate adjacency check
|
||||
if(!stat)
|
||||
if (temperature < min_temp)
|
||||
to_chat(user, span("warning", "\The [src] is still heating up and is too cold to cook anything yet."))
|
||||
to_chat(user, "<span class='warning'>\The [src] is still heating up and is too cold to cook anything yet.</span>")
|
||||
else
|
||||
to_chat(user, span("notice", "It is running at [round(get_efficiency(), 0.1)]% efficiency!"))
|
||||
to_chat(user, "<span class='notice'>It is running at [round(get_efficiency(), 0.1)]% efficiency!</span>")
|
||||
to_chat(user, "Temperature: [round(temperature - T0C, 0.1)]C / [round(optimal_temp - T0C, 0.1)]C")
|
||||
else
|
||||
to_chat(user, span("warning", "It is switched off."))
|
||||
to_chat(user, "<span class='warning'>It is switched off.</span>")
|
||||
|
||||
/obj/machinery/appliance/cooker/list_contents(var/mob/user)
|
||||
if (cooking_objs.len)
|
||||
@@ -35,10 +37,10 @@
|
||||
string += "- [CI.container.label(num)], [report_progress(CI)]</br>"
|
||||
to_chat(user, string)
|
||||
else
|
||||
to_chat(user, span("notice","It is empty."))
|
||||
to_chat(user, "<span class='notice'>It's empty.</span>")
|
||||
|
||||
/obj/machinery/appliance/cooker/proc/get_efficiency()
|
||||
//RefreshParts()
|
||||
// to_world("Our cooking_power is [cooking_power] and our efficiency is [(cooking_power / optimal_power) * 100].") // Debug lines, uncomment if you need to test.
|
||||
return (cooking_power / optimal_power) * 100
|
||||
|
||||
/obj/machinery/appliance/cooker/Initialize()
|
||||
@@ -80,6 +82,12 @@
|
||||
/obj/machinery/appliance/cooker/proc/update_cooking_power()
|
||||
var/temp_scale = 0
|
||||
if(temperature > min_temp)
|
||||
if(temperature >= optimal_temp) // If we're at or above optimal temp, then we're going to be at 1 for temp scale. No use penalizing you for the cookers increasing heat constantly (until we implement setting a temp on the oven via a menu.)
|
||||
temp_scale = 1
|
||||
else
|
||||
temp_scale = (temperature - min_temp) / (optimal_temp - min_temp) // If we're between min and optimal this will yield a value in the range 0-1
|
||||
|
||||
/* // old code for reference, will be useful if/when we implement ovens with configurable temperatures - TODO recipes with optimal temps for cooking per-recipe??
|
||||
temp_scale = (temperature - min_temp) / (optimal_temp - min_temp) // If we're between min and optimal this will yield a value in the range 0-1
|
||||
|
||||
if(temp_scale > 1) // We're above optimal, efficiency goes down as we pass too much over it
|
||||
@@ -87,9 +95,12 @@
|
||||
temp_scale = 0
|
||||
else
|
||||
temp_scale = 1 - (temp_scale - 1)
|
||||
*/
|
||||
|
||||
cooking_power = optimal_power * temp_scale
|
||||
// RefreshParts()
|
||||
cooking_coeff = optimal_power * temp_scale
|
||||
// to_world("Our cooking_power is [cooking_power] and our tempscale is [temp_scale], and our cooking_coeff is [cooking_coeff] before RefreshParts.") // Debug lines, uncomment if you need to test.
|
||||
RefreshParts()
|
||||
// to_world("Our cooking_power is [cooking_power] after RefreshParts.") // Debug lines, uncomment if you need to test.
|
||||
|
||||
/obj/machinery/appliance/cooker/proc/heat_up()
|
||||
if(temperature < optimal_temp)
|
||||
@@ -97,7 +108,7 @@
|
||||
playsound(src, 'sound/machines/click.ogg', 20, 1)
|
||||
use_power = 2.//If we're heating we use the active power
|
||||
update_icon()
|
||||
temperature += active_power_usage / resistance
|
||||
temperature += heating_power / resistance
|
||||
update_cooking_power()
|
||||
return 1
|
||||
else
|
||||
|
||||
@@ -10,7 +10,7 @@ fundamental differences
|
||||
/obj/machinery/appliance/mixer
|
||||
max_contents = 1
|
||||
stat = POWEROFF
|
||||
cooking_power = 0.4
|
||||
cooking_coeff = 0.75 // Original value 0.4
|
||||
active_power_usage = 3000
|
||||
idle_power_usage = 50
|
||||
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
on_icon = "mixer_on"
|
||||
cook_type = "candied"
|
||||
appliancetype = CANDYMAKER
|
||||
cooking_power = 0.6
|
||||
circuit = /obj/item/weapon/circuitboard/candymachine
|
||||
cooking_coeff = 1.0 // Original Value 0.6
|
||||
|
||||
output_options = list(
|
||||
"Jawbreaker" = /obj/item/weapon/reagent_containers/food/snacks/variable/jawbreaker,
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
on_icon = "cereal_on"
|
||||
off_icon = "cereal_off"
|
||||
appliancetype = CEREALMAKER
|
||||
circuit = /obj/item/weapon/circuitboard/cerealmaker
|
||||
|
||||
output_options = list(
|
||||
"Cereal" = /obj/item/weapon/reagent_containers/food/snacks/variable/cereal
|
||||
|
||||
@@ -150,6 +150,15 @@
|
||||
max_space = 30
|
||||
max_reagents = 120
|
||||
|
||||
/obj/item/weapon/reagent_containers/cooking_container/oven/Initialize()
|
||||
. = ..()
|
||||
|
||||
// We add to the insertable list specifically for the oven trays, to allow specialty cakes.
|
||||
insertable += list(
|
||||
/obj/item/clothing/head/cakehat, // This is because we want to allow birthday cakes to be makeable.
|
||||
/obj/item/organ/internal/brain // As before, needed for braincake
|
||||
)
|
||||
|
||||
/obj/item/weapon/reagent_containers/cooking_container/fryer
|
||||
name = "fryer basket"
|
||||
shortname = "basket"
|
||||
|
||||
@@ -9,18 +9,20 @@
|
||||
food_color = "#FFAD33"
|
||||
cooked_sound = 'sound/machines/ding.ogg'
|
||||
var/datum/looping_sound/deep_fryer/fry_loop
|
||||
circuit = /obj/item/weapon/circuitboard/fryer
|
||||
appliancetype = FRYER
|
||||
active_power_usage = 12 KILOWATTS
|
||||
heating_power = 12000
|
||||
|
||||
min_temp = 140 + T0C // Same as above, increasing this to just under 2x to make the % increase on efficiency not quite so painful as it would be at 80.
|
||||
optimal_temp = 400 + T0C // Increasing this to be 2x Oven to allow for a much higher/realistic frying temperatures. Doesn't really do anything but make heating the fryer take a bit longer.
|
||||
optimal_power = 0.35
|
||||
optimal_power = 0.95 // .35 higher than the default to give fryers faster cooking speed.
|
||||
|
||||
idle_power_usage = 3.6 KILOWATTS
|
||||
// Power used to maintain temperature once it's heated.
|
||||
// Going with 25% of the active power. This is a somewhat arbitrary value.
|
||||
|
||||
resistance = 20000 // Approx. 8-9 minutes to heat up.
|
||||
resistance = 60000 // Approx. 10 minutes to heat up.
|
||||
|
||||
max_contents = 2
|
||||
container_type = /obj/item/weapon/reagent_containers/cooking_container/fryer
|
||||
|
||||
@@ -3,24 +3,29 @@
|
||||
desc = "Backyard grilling, IN SPACE."
|
||||
icon_state = "grill_off"
|
||||
cook_type = "grilled"
|
||||
appliancetype = GRILL
|
||||
food_color = "#A34719"
|
||||
on_icon = "grill_on"
|
||||
off_icon = "grill_off"
|
||||
can_burn_food = 1
|
||||
stat = POWEROFF
|
||||
|
||||
appliancetype = GRILL
|
||||
|
||||
can_burn_food = TRUE
|
||||
circuit = /obj/item/weapon/circuitboard/grill
|
||||
active_power_usage = 4 KILOWATTS
|
||||
heating_power = 4000
|
||||
idle_power_usage = 2 KILOWATTS
|
||||
|
||||
optimal_power = 1.2 // Things on the grill cook .6 faster - this is now the fastest appliance to heat and to cook on. BURGERS GO SIZZLE.
|
||||
|
||||
stat = POWEROFF // Starts turned off.
|
||||
|
||||
// Grill is faster to heat and setup than the rest.
|
||||
optimal_temp = 120 + T0C
|
||||
min_temp = 60 + T0C
|
||||
resistance = 8 KILOWATTS // Very fast to heat up.
|
||||
|
||||
max_contents = 3 // Arbitrary number, 3 grill 'racks'
|
||||
container_type = /obj/item/weapon/reagent_containers/cooking_container/grill
|
||||
|
||||
/* // Test Comment this out too, /cooker does this for us, and this path '/obj/machinery/appliance/grill' is invalid anyways, meaning it does jack shit. - Updated the paths, but I'm basically commenting all this shit out and if the grill works as-normal, none of this stuff is needed.
|
||||
/obj/machinery/appliance/grill/toggle_power()
|
||||
set src in view()
|
||||
set name = "Toggle Power"
|
||||
@@ -42,12 +47,13 @@
|
||||
playsound(src, 'sound/machines/click.ogg', 40, 1)
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/appliance/grill/Initialize()
|
||||
|
||||
/obj/machinery/appliance/cooker/grill/Initialize()
|
||||
. = ..()
|
||||
// cooking_objs += new /datum/cooking_item(new /obj/item/weapon/reagent_containers/cooking_container(src))
|
||||
cooking = FALSE
|
||||
|
||||
/obj/machinery/appliance/grill/has_space(var/obj/item/I)
|
||||
/obj/machinery/appliance/cooker/grill/has_space(var/obj/item/I)
|
||||
var/datum/cooking_item/CI = cooking_objs[1]
|
||||
if (!CI || !CI.container)
|
||||
return 0
|
||||
@@ -56,7 +62,8 @@
|
||||
return CI
|
||||
|
||||
return 0
|
||||
|
||||
*/
|
||||
/* // Test comment this out, I don't think this is doing shit anyways.
|
||||
//Container is not removable
|
||||
/obj/machinery/appliance/grill/removal_menu(var/mob/user)
|
||||
if (can_remove_items(user))
|
||||
@@ -79,14 +86,17 @@
|
||||
update_icon()
|
||||
return 1
|
||||
return 0
|
||||
*/
|
||||
|
||||
/obj/machinery/appliance/grill/update_icon()
|
||||
/obj/machinery/appliance/grill/update_icon() // TODO: Cooking icon
|
||||
if(!stat)
|
||||
icon_state = on_icon
|
||||
else
|
||||
icon_state = off_icon
|
||||
|
||||
/* // Test remove this too.
|
||||
/obj/machinery/appliance/grill/process()
|
||||
if (!stat)
|
||||
for (var/i in cooking_objs)
|
||||
do_cooking_tick(i)
|
||||
*/
|
||||
@@ -6,14 +6,16 @@
|
||||
cook_type = "baked"
|
||||
appliancetype = OVEN
|
||||
food_color = "#A34719"
|
||||
can_burn_food = 1
|
||||
can_burn_food = TRUE
|
||||
circuit = /obj/item/weapon/circuitboard/oven
|
||||
active_power_usage = 6 KILOWATTS
|
||||
heating_power = 6000
|
||||
//Based on a double deck electric convection oven
|
||||
|
||||
resistance = 16000
|
||||
resistance = 30000 // Approx. 12 minutes to heat up.
|
||||
idle_power_usage = 2 KILOWATTS
|
||||
//uses ~30% power to stay warm
|
||||
optimal_power = 0.2
|
||||
optimal_power = 0.8 // Oven cooks .2 faster than the default speed.
|
||||
|
||||
light_x = 2
|
||||
max_contents = 5
|
||||
@@ -74,19 +76,27 @@
|
||||
|
||||
if(open)
|
||||
open = FALSE
|
||||
loss = (active_power_usage / resistance)*0.5
|
||||
loss = (heating_power / resistance) * 0.5
|
||||
cooking = TRUE
|
||||
else
|
||||
open = TRUE
|
||||
loss = (active_power_usage / resistance)*4
|
||||
loss = (heating_power / resistance) * 4
|
||||
//When the oven door is opened, heat is lost MUCH faster and you stop cooking (because the door is open)
|
||||
cooking = FALSE
|
||||
|
||||
playsound(src, 'sound/machines/hatch_open.ogg', 20, 1)
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/appliance/cooker/oven/proc/manip(var/obj/item/I)
|
||||
// check if someone's trying to manipulate the machine
|
||||
|
||||
if(I.is_crowbar() || I.is_screwdriver() || istype(I, /obj/item/weapon/storage/part_replacer))
|
||||
return TRUE
|
||||
else
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/appliance/cooker/oven/can_insert(var/obj/item/I, var/mob/user)
|
||||
if(!open)
|
||||
if(!open && !manip(I))
|
||||
to_chat(user, "<span class='warning'>You can't put anything in while the door is closed!</span>")
|
||||
return 0
|
||||
|
||||
@@ -117,6 +127,7 @@
|
||||
/obj/machinery/appliance/cooker/oven/finish_cooking(var/datum/cooking_item/CI)
|
||||
if(CI.combine_target)
|
||||
CI.result_type = 3//Combination type. We're making something out of our ingredients
|
||||
visible_message("<span class='notice'>\The [src] pings!</span>")
|
||||
combination_cook(CI)
|
||||
return
|
||||
else
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
|
||||
/obj/machinery/microwave/Initialize()
|
||||
. = ..()
|
||||
|
||||
reagents = new/datum/reagents(100)
|
||||
reagents.my_atom = src
|
||||
|
||||
@@ -156,19 +157,27 @@
|
||||
var/obj/item/weapon/grab/G = O
|
||||
to_chat(user, "<span class='warning'>This is ridiculous. You can not fit \the [G.affecting] in this [src].</span>")
|
||||
return 1
|
||||
else if(O.is_screwdriver())
|
||||
default_deconstruction_screwdriver(user, O)
|
||||
return
|
||||
else if(O.is_crowbar())
|
||||
user.visible_message( \
|
||||
"<span class='notice'>\The [user] begins [src.anchored ? "unsecuring" : "securing"] the microwave.</span>", \
|
||||
"<span class='notice'>You attempt to [src.anchored ? "unsecure" : "secure"] the microwave.</span>"
|
||||
)
|
||||
if (do_after(user,20))
|
||||
user.visible_message( \
|
||||
"<span class='notice'>\The [user] [src.anchored ? "unsecures" : "secures"] the microwave.</span>", \
|
||||
"<span class='notice'>You [src.anchored ? "unsecure" : "secure"] the microwave.</span>"
|
||||
)
|
||||
src.anchored = !src.anchored
|
||||
if(default_deconstruction_crowbar(user, O))
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You decide not to do that.</span>")
|
||||
user.visible_message( \
|
||||
"<span class='notice'>\The [user] begins [src.anchored ? "unsecuring" : "securing"] the microwave.</span>", \
|
||||
"<span class='notice'>You attempt to [src.anchored ? "unsecure" : "secure"] the microwave.</span>"
|
||||
)
|
||||
if (do_after(user,20/O.toolspeed))
|
||||
user.visible_message( \
|
||||
"<span class='notice'>\The [user] [src.anchored ? "unsecures" : "secures"] the microwave.</span>", \
|
||||
"<span class='notice'>You [src.anchored ? "unsecure" : "secure"] the microwave.</span>"
|
||||
)
|
||||
src.anchored = !src.anchored
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You decide not to do that.</span>")
|
||||
else if(default_part_replacement(user, O))
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You have no idea what you can cook with this [O].</span>")
|
||||
..()
|
||||
|
||||
@@ -195,23 +195,23 @@
|
||||
return
|
||||
|
||||
|
||||
// We will subtract all the ingredients from the container, and transfer their reagents into a holder
|
||||
// We will not touch things which are not required for this recipe. They will be left behind for the caller
|
||||
// to decide what to do. They may be used again to make another recipe or discarded, or merged into the results,
|
||||
// thats no longer the concern of this proc
|
||||
var/obj/temp = new /obj(src)
|
||||
temp.create_reagents(999999999)
|
||||
//We will subtract all the ingredients from the container, and transfer their reagents into a holder
|
||||
//We will not touch things which are not required for this recipe. They will be left behind for the caller
|
||||
//to decide what to do. They may be used again to make another recipe or discarded, or merged into the results,
|
||||
//thats no longer the concern of this proc
|
||||
var/datum/reagents/buffer = new /datum/reagents(10000000000, null)//
|
||||
|
||||
// Find items we need
|
||||
if(items && items.len)
|
||||
|
||||
//Find items we need
|
||||
if (items && items.len)
|
||||
for (var/i in items)
|
||||
var/obj/item/I = locate(i) in container
|
||||
if (I && I.reagents)
|
||||
I.reagents.trans_to_holder(temp.reagents,I.reagents.total_volume)
|
||||
I.reagents.trans_to_holder(buffer,I.reagents.total_volume)
|
||||
qdel(I)
|
||||
|
||||
// Find fruits
|
||||
if(fruit && fruit.len)
|
||||
//Find fruits
|
||||
if (fruit && fruit.len)
|
||||
var/list/checklist = list()
|
||||
checklist = fruit.Copy()
|
||||
|
||||
@@ -219,18 +219,18 @@
|
||||
if(!G.seed || !G.seed.kitchen_tag || isnull(checklist[G.seed.kitchen_tag]))
|
||||
continue
|
||||
|
||||
if(checklist[G.seed.kitchen_tag] > 0)
|
||||
if (checklist[G.seed.kitchen_tag] > 0)
|
||||
//We found a thing we need
|
||||
checklist[G.seed.kitchen_tag]--
|
||||
if(G && G.reagents)
|
||||
G.reagents.trans_to_holder(temp.reagents,G.reagents.total_volume)
|
||||
if (G && G.reagents)
|
||||
G.reagents.trans_to_holder(buffer,G.reagents.total_volume)
|
||||
qdel(G)
|
||||
|
||||
// And lastly deduct necessary quantities of reagents
|
||||
if(reagents && reagents.len)
|
||||
//And lastly deduct necessary quantities of reagents
|
||||
if (reagents && reagents.len)
|
||||
for (var/r in reagents)
|
||||
// Doesnt matter whether or not there's enough, we assume that check is done before
|
||||
container.reagents.trans_id_to(temp, r, reagents[r])
|
||||
//Doesnt matter whether or not there's enough, we assume that check is done before
|
||||
container.reagents.trans_type_to(buffer, r, reagents[r])
|
||||
|
||||
/*
|
||||
Now we've removed all the ingredients that were used and we have the buffer containing the total of
|
||||
@@ -244,64 +244,62 @@
|
||||
If, as in the most common case, there is only a single result, then it will just be a reference to
|
||||
the single-result's reagents
|
||||
*/
|
||||
var/obj/tempholder = new(src)
|
||||
tempholder.create_reagents(999999999)
|
||||
var/datum/reagents/holder = new/datum/reagents(10000000000)
|
||||
var/list/results = list()
|
||||
while (tally < result_quantity)
|
||||
var/obj/result_obj = new result(container)
|
||||
results.Add(result_obj)
|
||||
|
||||
if(!result_obj.reagents)//This shouldn't happen
|
||||
if (!result_obj.reagents)//This shouldn't happen
|
||||
//If the result somehow has no reagents defined, then create a new holder
|
||||
log_runtime(EXCEPTION("<span class='danger'>[result_obj] had no reagents!</span>"))
|
||||
result_obj.create_reagents(temp.reagents.total_volume*1.5)
|
||||
result_obj.reagents = new /datum/reagents(buffer.total_volume*1.5, result_obj)
|
||||
|
||||
if(result_quantity == 1)
|
||||
qdel(tempholder.reagents)
|
||||
tempholder.reagents = result_obj.reagents
|
||||
if (result_quantity == 1)
|
||||
qdel(holder)
|
||||
holder = result_obj.reagents
|
||||
else
|
||||
log_runtime(EXCEPTION("<span class='danger'>[result_quantity] was greater than 1! Check [result_obj]!</span>"))
|
||||
result_obj.reagents.trans_to(tempholder.reagents, result_obj.reagents.total_volume)
|
||||
result_obj.reagents.trans_to(holder, result_obj.reagents.total_volume)
|
||||
tally++
|
||||
|
||||
|
||||
switch(reagent_mix)
|
||||
if(RECIPE_REAGENT_REPLACE)
|
||||
if (RECIPE_REAGENT_REPLACE)
|
||||
//We do no transferring
|
||||
if(RECIPE_REAGENT_SUM)
|
||||
if (RECIPE_REAGENT_SUM)
|
||||
//Sum is easy, just shove the entire buffer into the result
|
||||
temp.reagents.trans_to_holder(tempholder.reagents, temp.reagents.total_volume)
|
||||
if(RECIPE_REAGENT_MAX)
|
||||
buffer.trans_to_holder(holder, buffer.total_volume)
|
||||
if (RECIPE_REAGENT_MAX)
|
||||
//We want the highest of each.
|
||||
//Iterate through everything in buffer. If the target has less than the buffer, then top it up
|
||||
for (var/datum/reagent/R in temp.reagents.reagent_list)
|
||||
var/rvol = tempholder.reagents.get_reagent_amount(R.id)
|
||||
for (var/datum/reagent/R in buffer.reagent_list)
|
||||
var/rvol = holder.get_reagent_amount(R.type)
|
||||
if (rvol < R.volume)
|
||||
//Transfer the difference
|
||||
temp.reagents.trans_id_to(tempholder, R.id, R.volume-rvol)
|
||||
buffer.trans_type_to(holder, R.type, R.volume-rvol)
|
||||
|
||||
if(RECIPE_REAGENT_MIN)
|
||||
if (RECIPE_REAGENT_MIN)
|
||||
//Min is slightly more complex. We want the result to have the lowest from each side
|
||||
//But zero will not count. Where a side has zero its ignored and the side with a nonzero value is used
|
||||
for (var/datum/reagent/R in temp.reagents.reagent_list)
|
||||
var/rvol = tempholder.reagents.get_reagent_amount(R.id)
|
||||
if(rvol == 0) //If the target has zero of this reagent
|
||||
temp.reagents.trans_id_to(tempholder, R.id, R.volume)
|
||||
for (var/datum/reagent/R in buffer.reagent_list)
|
||||
var/rvol = holder.get_reagent_amount(R.type)
|
||||
if (rvol == 0) //If the target has zero of this reagent
|
||||
buffer.trans_type_to(holder, R.type, R.volume)
|
||||
//Then transfer all of ours
|
||||
|
||||
else if(rvol > R.volume)
|
||||
else if (rvol > R.volume)
|
||||
//if the target has more than ours
|
||||
//Remove the difference
|
||||
tempholder.reagents.remove_reagent(R.id, rvol-R.volume)
|
||||
holder.remove_reagent(R.type, rvol-R.volume)
|
||||
|
||||
|
||||
if(results.len > 1)
|
||||
if (results.len > 1)
|
||||
//If we're here, then holder is a buffer containing the total reagents for all the results.
|
||||
//So now we redistribute it among them
|
||||
var/total = tempholder.reagents.total_volume
|
||||
var/total = holder.total_volume
|
||||
for (var/i in results)
|
||||
var/atom/a = i //optimisation
|
||||
tempholder.reagents.trans_to(a, total / results.len)
|
||||
holder.trans_to(a, total / results.len)
|
||||
|
||||
return results
|
||||
|
||||
// When exact is false, extraneous ingredients are ignored
|
||||
|
||||
@@ -77,28 +77,36 @@
|
||||
|
||||
//Sweet Recipes.
|
||||
//==================
|
||||
// All donuts were given reagents of 5 to equal old recipes and make for faster cook times.
|
||||
/datum/recipe/jellydonut
|
||||
appliance = FRYER
|
||||
reagents = list("berryjuice" = 10, "sugar" = 10)
|
||||
reagents = list("berryjuice" = 5, "sugar" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/doughslice
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/donut/jelly
|
||||
result_quantity = 2
|
||||
|
||||
/datum/recipe/jellydonut/poisonberry
|
||||
reagents = list("poisonberryjuice" = 5, "sugar" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/donut/poisonberry
|
||||
|
||||
/datum/recipe/jellydonut/slime
|
||||
appliance = FRYER
|
||||
reagents = list("slimejelly" = 10, "sugar" = 10)
|
||||
reagents = list("slimejelly" = 5, "sugar" = 5)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly
|
||||
|
||||
/datum/recipe/jellydonut/cherry
|
||||
appliance = FRYER
|
||||
reagents = list("cherryjelly" = 10, "sugar" = 10)
|
||||
reagents = list("cherryjelly" = 5, "sugar" = 5)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly
|
||||
|
||||
/datum/recipe/donut
|
||||
appliance = FRYER
|
||||
reagents = list("sugar" = 10)
|
||||
reagents = list("sugar" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/doughslice
|
||||
)
|
||||
|
||||
231
code/modules/food/recipes_grill.dm
Normal file
231
code/modules/food/recipes_grill.dm
Normal file
@@ -0,0 +1,231 @@
|
||||
/datum/recipe/humanburger
|
||||
appliance = GRILL
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/human,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bun
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/human/burger
|
||||
|
||||
/datum/recipe/plainburger
|
||||
appliance = GRILL
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bun,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat //do not place this recipe before /datum/recipe/humanburger
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/monkeyburger
|
||||
|
||||
/datum/recipe/syntiburger
|
||||
appliance = GRILL
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bun,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/monkeyburger
|
||||
|
||||
/datum/recipe/brainburger
|
||||
appliance = GRILL
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bun,
|
||||
/obj/item/organ/internal/brain
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/brainburger
|
||||
|
||||
/datum/recipe/roburger
|
||||
appliance = GRILL
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bun,
|
||||
/obj/item/robot_parts/head
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/roburger
|
||||
|
||||
/datum/recipe/xenoburger
|
||||
appliance = GRILL
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bun,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/xenomeat
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/xenoburger
|
||||
|
||||
/datum/recipe/fishburger
|
||||
appliance = GRILL
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bun,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/carpmeat
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/fishburger
|
||||
|
||||
/datum/recipe/tofuburger
|
||||
appliance = GRILL
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bun,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tofu
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/tofuburger
|
||||
|
||||
/datum/recipe/ghostburger
|
||||
appliance = GRILL
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bun,
|
||||
/obj/item/weapon/ectoplasm //where do you even find this stuff
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/ghostburger
|
||||
|
||||
/datum/recipe/clownburger
|
||||
appliance = GRILL
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bun,
|
||||
/obj/item/clothing/mask/gas/clown_hat
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/clownburger
|
||||
|
||||
/datum/recipe/mimeburger
|
||||
appliance = GRILL
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bun,
|
||||
/obj/item/clothing/head/beret
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/mimeburger
|
||||
|
||||
/datum/recipe/mouseburger
|
||||
appliance = GRILL
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bun,
|
||||
/obj/item/weapon/holder/mouse
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/mouseburger
|
||||
|
||||
/datum/recipe/bunbun
|
||||
appliance = GRILL
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bun,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bun
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/bunbun
|
||||
|
||||
/datum/recipe/hotdog
|
||||
appliance = GRILL
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bun,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sausage
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/hotdog
|
||||
|
||||
/datum/recipe/humankabob
|
||||
appliance = GRILL
|
||||
items = list(
|
||||
/obj/item/stack/rods,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/human,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/human,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/human/kabob
|
||||
|
||||
/datum/recipe/kabob //Do not put before humankabob
|
||||
appliance = GRILL
|
||||
items = list(
|
||||
/obj/item/stack/rods,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/monkeykabob
|
||||
|
||||
/datum/recipe/monkeykabob
|
||||
appliance = GRILL
|
||||
items = list(
|
||||
/obj/item/stack/rods,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/monkey
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/monkeykabob
|
||||
|
||||
/datum/recipe/syntikabob
|
||||
appliance = GRILL
|
||||
items = list(
|
||||
/obj/item/stack/rods,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/monkeykabob
|
||||
|
||||
/datum/recipe/tofukabob
|
||||
appliance = GRILL
|
||||
items = list(
|
||||
/obj/item/stack/rods,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tofu,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tofu,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/tofukabob
|
||||
|
||||
/datum/recipe/spellburger
|
||||
appliance = GRILL
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/monkeyburger,
|
||||
/obj/item/clothing/head/wizard/fake,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/spellburger
|
||||
|
||||
/datum/recipe/spellburger
|
||||
appliance = GRILL
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/monkeyburger,
|
||||
/obj/item/clothing/head/wizard,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/spellburger
|
||||
|
||||
/datum/recipe/bigbiteburger
|
||||
appliance = GRILL
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/monkeyburger,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat,
|
||||
)
|
||||
reagents = list("egg" = 3)
|
||||
reagent_mix = RECIPE_REAGENT_REPLACE
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/bigbiteburger
|
||||
|
||||
/datum/recipe/superbiteburger
|
||||
appliance = GRILL
|
||||
fruit = list("tomato" = 1)
|
||||
reagents = list("sodiumchloride" = 5, "blackpepper" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/boiledegg,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/superbiteburger
|
||||
|
||||
/datum/recipe/slimeburger
|
||||
appliance = GRILL
|
||||
reagents = list("slimejelly" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bun
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/jellyburger/slime
|
||||
|
||||
/datum/recipe/jellyburger
|
||||
appliance = GRILL
|
||||
reagents = list("cherryjelly" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bun
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/jellyburger/cherry
|
||||
|
||||
/datum/recipe/bearburger
|
||||
appliance = GRILL
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bun,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bearmeat
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/bearburger
|
||||
|
||||
/datum/recipe/baconburger
|
||||
appliance = GRILL
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bun,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bacon,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bacon
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/burger/bacon
|
||||
@@ -43,47 +43,7 @@ I said no!
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/devilledegg
|
||||
|
||||
/datum/recipe/dionaroast
|
||||
fruit = list("apple" = 1)
|
||||
reagents = list("pacid" = 5) //It dissolves the carapace. Still poisonous, though.
|
||||
items = list(/obj/item/weapon/holder/diona)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/dionaroast
|
||||
/* // These should be fryer recipes, as should the other donuts, TODO Conversions
|
||||
/datum/recipe/jellydonut
|
||||
reagents = list("berryjuice" = 5, "sugar" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/donut/jelly
|
||||
|
||||
/datum/recipe/jellydonut/poisonberry
|
||||
reagents = list("poisonberryjuice" = 5, "sugar" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/donut/poisonberry
|
||||
|
||||
/datum/recipe/jellydonut/slime
|
||||
reagents = list("slimejelly" = 5, "sugar" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly
|
||||
|
||||
/datum/recipe/jellydonut/cherry
|
||||
reagents = list("cherryjelly" = 5, "sugar" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly
|
||||
|
||||
/datum/recipe/donut
|
||||
reagents = list("sugar" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/donut/normal
|
||||
*/
|
||||
/* // Test remove these in favor of grillin' on the grill, bby.
|
||||
/datum/recipe/humanburger
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/human,
|
||||
@@ -167,6 +127,7 @@ I said no!
|
||||
/obj/item/weapon/holder/mouse
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/mouseburger
|
||||
*/
|
||||
|
||||
/datum/recipe/bunbun
|
||||
items = list(
|
||||
@@ -211,44 +172,6 @@ I said no!
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/donkpocket //SPECIAL
|
||||
|
||||
/datum/recipe/meatbread
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/meatbread
|
||||
|
||||
/datum/recipe/xenomeatbread
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/xenomeat,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/xenomeat,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/xenomeat,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/xenomeatbread
|
||||
|
||||
/datum/recipe/bananabread
|
||||
fruit = list("banana" = 1)
|
||||
reagents = list("milk" = 5, "sugar" = 15)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/bananabread
|
||||
|
||||
/datum/recipe/omelette
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
|
||||
@@ -289,41 +212,6 @@ I said no!
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/soylentgreen
|
||||
|
||||
/datum/recipe/meatpie
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/meatpie
|
||||
|
||||
/datum/recipe/tofupie
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tofu,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/tofupie
|
||||
|
||||
/datum/recipe/xemeatpie
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/xenomeat,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/xemeatpie
|
||||
|
||||
/datum/recipe/pie
|
||||
fruit = list("banana" = 1)
|
||||
reagents = list("sugar" = 5)
|
||||
items = list(/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/pie
|
||||
|
||||
/datum/recipe/cherrypie
|
||||
fruit = list("cherries" = 1)
|
||||
reagents = list("sugar" = 10)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/cherrypie
|
||||
|
||||
/datum/recipe/berryclafoutis
|
||||
fruit = list("berries" = 1)
|
||||
items = list(
|
||||
@@ -344,14 +232,8 @@ I said no!
|
||||
/obj/item/weapon/reagent_containers/food/snacks/xenomeat
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/wingfangchu
|
||||
/* - TODO: Port this to Fryer
|
||||
/datum/recipe/chaosdonut
|
||||
reagents = list("frostoil" = 5, "capsaicin" = 5, "sugar" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/donut/chaos
|
||||
*/
|
||||
|
||||
/* // Test remove these in favor of grillin' on the grill, bby.
|
||||
/datum/recipe/humankabob
|
||||
items = list(
|
||||
/obj/item/stack/rods,
|
||||
@@ -391,6 +273,7 @@ I said no!
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tofu,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/tofukabob
|
||||
*/
|
||||
|
||||
/datum/recipe/tofubread
|
||||
items = list(
|
||||
@@ -593,16 +476,7 @@ I said no!
|
||||
items = list(/obj/item/weapon/reagent_containers/food/snacks/meat)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/coldchili
|
||||
|
||||
/datum/recipe/amanita_pie
|
||||
reagents = list("amatoxin" = 5)
|
||||
items = list(/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/amanita_pie
|
||||
|
||||
/datum/recipe/plump_pie
|
||||
fruit = list("plumphelmet" = 1)
|
||||
items = list(/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/plump_pie
|
||||
|
||||
/* // Testremove to swap to grill
|
||||
/datum/recipe/spellburger
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/monkeyburger,
|
||||
@@ -627,7 +501,7 @@ I said no!
|
||||
reagents = list("egg" = 3)
|
||||
reagent_mix = RECIPE_REAGENT_REPLACE
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/bigbiteburger
|
||||
|
||||
*/
|
||||
/datum/recipe/enchiladas
|
||||
fruit = list("chili" = 2, "corn" = 1)
|
||||
items = list(/obj/item/weapon/reagent_containers/food/snacks/cutlet)
|
||||
@@ -808,7 +682,7 @@ I said no!
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatball,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/spesslaw
|
||||
|
||||
/*
|
||||
/datum/recipe/superbiteburger
|
||||
fruit = list("tomato" = 1)
|
||||
reagents = list("sodiumchloride" = 5, "blackpepper" = 5)
|
||||
@@ -820,7 +694,7 @@ I said no!
|
||||
/obj/item/weapon/reagent_containers/food/snacks/boiledegg,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/superbiteburger
|
||||
|
||||
*/
|
||||
/datum/recipe/candiedapple
|
||||
fruit = list("apple" = 1)
|
||||
reagents = list("water" = 5, "sugar" = 5)
|
||||
@@ -942,11 +816,6 @@ I said no!
|
||||
reagent_mix = RECIPE_REAGENT_REPLACE
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/mysterysoup
|
||||
|
||||
/datum/recipe/pumpkinpie
|
||||
fruit = list("pumpkin" = 1)
|
||||
reagents = list("milk" = 5, "sugar" = 5, "egg" = 3, "flour" = 10)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pumpkinpie
|
||||
|
||||
/datum/recipe/plumphelmetbiscuit
|
||||
fruit = list("plumphelmet" = 1)
|
||||
reagents = list("water" = 5, "flour" = 5)
|
||||
@@ -972,14 +841,6 @@ I said no!
|
||||
reagents = list("water" = 10)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/beetsoup
|
||||
|
||||
/datum/recipe/appletart
|
||||
fruit = list("goldapple" = 1)
|
||||
reagents = list("sugar" = 5, "milk" = 5, "flour" = 10)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/appletart
|
||||
|
||||
/datum/recipe/tossedsalad
|
||||
fruit = list("cabbage" = 2, "tomato" = 1, "carrot" = 1, "apple" = 1)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/tossedsalad
|
||||
@@ -1012,13 +873,6 @@ I said no!
|
||||
for (var/obj/item/weapon/reagent_containers/food/snacks/validsalad/being_cooked in .)
|
||||
being_cooked.reagents.del_reagent("toxin")
|
||||
|
||||
/datum/recipe/cracker
|
||||
reagents = list("sodiumchloride" = 1)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/doughslice
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/cracker
|
||||
|
||||
/datum/recipe/stuffing
|
||||
reagents = list("water" = 5, "sodiumchloride" = 1, "blackpepper" = 1)
|
||||
items = list(
|
||||
@@ -1292,64 +1146,6 @@ I said no!
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/piginblanket
|
||||
|
||||
// Cakes.
|
||||
/datum/recipe/cake
|
||||
reagents = list("milk" = 5, "flour" = 15, "sugar" = 15, "egg" = 9, "vanilla" = 1)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/plaincake
|
||||
|
||||
/datum/recipe/cake/carrot
|
||||
fruit = list("carrot" = 1)
|
||||
reagents = list("milk" = 5, "flour" = 15, "egg" = 9,"sugar" = 5)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/carrotcake
|
||||
|
||||
/datum/recipe/cake/cheese
|
||||
reagents = list("milk" = 5, "flour" = 15, "sugar" = 15, "egg" = 9)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesecake
|
||||
|
||||
/datum/recipe/cake/peanut
|
||||
fruit = list("peanut" = 3)
|
||||
reagents = list("milk" = 5, "flour" = 10, "sugar" = 5, "egg" = 6, "peanutbutter" = 5)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/peanutcake
|
||||
|
||||
/datum/recipe/cake/orange
|
||||
fruit = list("orange" = 1)
|
||||
reagents = list("milk" = 5, "flour" = 15, "egg" = 9,"sugar" = 5)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/orangecake
|
||||
|
||||
/datum/recipe/cake/lime
|
||||
fruit = list("lime" = 1)
|
||||
reagents = list("milk" = 5, "flour" = 15, "egg" = 9,"sugar" = 5)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/limecake
|
||||
|
||||
/datum/recipe/cake/lemon
|
||||
fruit = list("lemon" = 1)
|
||||
reagents = list("milk" = 5, "flour" = 15, "egg" = 9,"sugar" = 5)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/lemoncake
|
||||
|
||||
/datum/recipe/cake/chocolate
|
||||
items = list(/obj/item/weapon/reagent_containers/food/snacks/chocolatebar)
|
||||
reagents = list("milk" = 5, "flour" = 15, "egg" = 9,"sugar" = 5)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/chocolatecake
|
||||
|
||||
/datum/recipe/cake/birthday
|
||||
reagents = list("milk" = 5, "flour" = 15, "sugar" = 15, "egg" = 9)
|
||||
items = list(/obj/item/clothing/head/cakehat)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/birthdaycake
|
||||
|
||||
/datum/recipe/cake/apple
|
||||
fruit = list("apple" = 1)
|
||||
reagents = list("milk" = 5, "flour" = 15, "egg" = 9,"sugar" = 5)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/applecake
|
||||
|
||||
/datum/recipe/cake/brain
|
||||
reagents = list("milk" = 5, "flour" = 15, "sugar" = 15, "egg" = 9)
|
||||
items = list(/obj/item/organ/internal/brain)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/braincake
|
||||
|
||||
/datum/recipe/bagelplain
|
||||
reagents = list("water" = 5)
|
||||
items = list(
|
||||
@@ -1439,13 +1235,14 @@ I said no!
|
||||
fruit = list("peanut" = 2, "potato" = 1)
|
||||
reagent_mix = RECIPE_REAGENT_REPLACE //Simplify end product
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/yellowcurry
|
||||
|
||||
/*
|
||||
/datum/recipe/bearburger
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bun,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bearmeat
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/bearburger
|
||||
*/
|
||||
|
||||
/datum/recipe/bearchili
|
||||
fruit = list("chili" = 1, "tomato" = 1)
|
||||
@@ -1808,7 +1605,7 @@ I said no!
|
||||
/obj/item/weapon/reagent_containers/food/snacks/friedegg
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/bacon_and_eggs
|
||||
|
||||
/*
|
||||
/datum/recipe/baconburger
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bun,
|
||||
@@ -1817,6 +1614,7 @@ I said no!
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bacon
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/burger/bacon
|
||||
*/
|
||||
|
||||
/datum/recipe/ntmuffin
|
||||
items = list(
|
||||
|
||||
@@ -9,23 +9,8 @@
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/path_to_some_food
|
||||
*/
|
||||
// All of this shit needs to be gone through and reorganized into different recipes per machine - Rykka 7/16/2020
|
||||
/datum/recipe/jellydonut
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/doughslice)
|
||||
|
||||
/datum/recipe/jellydonut/slime
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/doughslice)
|
||||
|
||||
/datum/recipe/jellydonut/cherry
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/doughslice)
|
||||
|
||||
/datum/recipe/donut
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/doughslice)
|
||||
|
||||
/datum/recipe/sushi
|
||||
/datum/recipe/carpsushi
|
||||
fruit = list("cabbage" = 1)
|
||||
reagents = list("rice" = 20)
|
||||
items = list(
|
||||
@@ -45,37 +30,6 @@
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/lasagna
|
||||
|
||||
/datum/recipe/goulash
|
||||
fruit = list("tomato" = 1)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cutlet,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/spagetti
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/goulash
|
||||
|
||||
/datum/recipe/donerkebab
|
||||
fruit = list("tomato" = 1, "cabbage" = 1)
|
||||
reagents = list("sodiumchloride" = 1)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatsteak,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/donerkebab
|
||||
|
||||
/datum/recipe/roastbeef
|
||||
fruit = list("carrot" = 2, "potato" = 2)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/roastbeef
|
||||
|
||||
/datum/recipe/reishicup
|
||||
reagents = list("psilocybin" = 3, "sugar" = 3)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/reishicup
|
||||
|
||||
/datum/recipe/chickenwings
|
||||
reagents = list("capsaicin" = 5, "flour" = 10)
|
||||
items = list(
|
||||
@@ -86,22 +40,6 @@
|
||||
)
|
||||
result = /obj/item/weapon/storage/box/wings //This is kinda like the donut box.
|
||||
|
||||
/datum/recipe/hotandsoursoup
|
||||
fruit = list("cabbage" = 1, "mushroom" = 1)
|
||||
reagents = list("sodiumchloride" = 2, "blackpepper" = 2, "water" = 10)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tofu
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/hotandsoursoup
|
||||
|
||||
/datum/recipe/kitsuneudon
|
||||
reagents = list("egg" = 3)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/spagetti,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tofu
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/kitsuneudon
|
||||
|
||||
/datum/recipe/generalschicken
|
||||
reagents = list("capsaicin" = 2, "sugar" = 2, "flour" = 10)
|
||||
items = list(
|
||||
@@ -131,28 +69,6 @@
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/boiledegg/roiz
|
||||
|
||||
/datum/recipe/pillbugball
|
||||
reagents = list("carbon" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/bugball
|
||||
|
||||
/datum/recipe/mammi
|
||||
fruit = list("orange" = 1)
|
||||
reagents = list("water" = 10, "flour" = 10, "milk" = 5, "sodiumchloride" = 1)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/mammi
|
||||
|
||||
/datum/recipe/makaroni
|
||||
reagents = list("flour" = 15, "milk" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/makaroni
|
||||
|
||||
/datum/recipe/lobster
|
||||
fruit = list("lemon" = 1, "cabbage" = 1)
|
||||
items = list(
|
||||
|
||||
@@ -421,27 +421,34 @@
|
||||
//============
|
||||
/datum/recipe/cake
|
||||
appliance = OVEN
|
||||
reagents = list("milk" = 5, "flour" = 15, "sugar" = 15, "egg" = 9)
|
||||
reagents = list("milk" = 5, "flour" = 15, "sugar" = 15, "egg" = 9, "vanilla" = 1)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/plaincake
|
||||
reagent_mix = RECIPE_REAGENT_REPLACE
|
||||
|
||||
/datum/recipe/cake/carrot
|
||||
appliance = OVEN
|
||||
fruit = list("carrot" = 3)
|
||||
reagents = list("milk" = 5, "flour" = 15, "egg" = 9,"sugar" = 5)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/carrotcake
|
||||
|
||||
/datum/recipe/cake/cheese
|
||||
appliance = OVEN
|
||||
reagents = list("milk" = 5, "flour" = 15, "sugar" = 15, "egg" = 9)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesecake
|
||||
|
||||
/datum/recipe/cake/peanut
|
||||
fruit = list("peanut" = 3)
|
||||
reagents = list("milk" = 5, "flour" = 10, "sugar" = 5, "egg" = 6, "peanutbutter" = 5)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/peanutcake
|
||||
|
||||
/datum/recipe/cake/orange
|
||||
appliance = OVEN
|
||||
fruit = list("orange" = 1)
|
||||
reagents = list("milk" = 5, "flour" = 15, "egg" = 9, "orangejuice" = 3, "sugar" = 5)
|
||||
reagents = list("milk" = 5, "flour" = 15, "egg" = 9, "sugar" = 5)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/orangecake
|
||||
|
||||
/datum/recipe/cake/lime
|
||||
@@ -464,16 +471,19 @@
|
||||
|
||||
/datum/recipe/cake/birthday
|
||||
appliance = OVEN
|
||||
reagents = list("milk" = 5, "flour" = 15, "sugar" = 15, "egg" = 9)
|
||||
items = list(/obj/item/clothing/head/cakehat)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/birthdaycake
|
||||
|
||||
/datum/recipe/cake/apple
|
||||
appliance = OVEN
|
||||
fruit = list("apple" = 2)
|
||||
reagents = list("milk" = 5, "flour" = 15, "egg" = 9,"sugar" = 5)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/applecake
|
||||
|
||||
/datum/recipe/cake/brain
|
||||
appliance = OVEN
|
||||
reagents = list("milk" = 5, "flour" = 15, "sugar" = 15, "egg" = 9)
|
||||
items = list(/obj/item/organ/internal/brain)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/braincake
|
||||
|
||||
|
||||
@@ -153,7 +153,9 @@
|
||||
/obj/item/weapon/reagent_containers/glass,
|
||||
/obj/item/weapon/reagent_containers/food,
|
||||
/obj/item/seeds,
|
||||
/obj/item/weapon/grown
|
||||
/obj/item/weapon/grown,
|
||||
/obj/item/trash,
|
||||
/obj/item/weapon/reagent_containers/cooking_container
|
||||
)
|
||||
|
||||
/obj/item/weapon/gripper/gravekeeper //Used for handling grave things, flowers, etc.
|
||||
|
||||
@@ -282,6 +282,34 @@
|
||||
|
||||
trans_to(target, amount, multiplier, copy)
|
||||
|
||||
/datum/reagents/proc/trans_type_to(var/target, var/rtype, var/amount = 1)
|
||||
if (!target)
|
||||
return
|
||||
|
||||
var/datum/reagent/transfering_reagent = get_reagent(rtype)
|
||||
|
||||
if (istype(target, /atom))
|
||||
var/atom/A = target
|
||||
if (!A.reagents || !A.simulated)
|
||||
return
|
||||
|
||||
amount = min(amount, transfering_reagent.volume)
|
||||
|
||||
if(!amount)
|
||||
return
|
||||
|
||||
|
||||
var/datum/reagents/F = new /datum/reagents(amount)
|
||||
var/tmpdata = get_data(rtype)
|
||||
F.add_reagent(rtype, amount, tmpdata)
|
||||
remove_reagent(rtype, amount)
|
||||
|
||||
|
||||
if (istype(target, /atom))
|
||||
return F.trans_to(target, amount) // Let this proc check the atom's type
|
||||
else if (istype(target, /datum/reagents))
|
||||
return F.trans_to_holder(target, amount)
|
||||
|
||||
/datum/reagents/proc/trans_id_to(var/atom/target, var/id, var/amount = 1)
|
||||
if (!target || !target.reagents)
|
||||
return
|
||||
|
||||
@@ -583,13 +583,48 @@ CIRCUITS BELOW
|
||||
req_tech = list(TECH_DATA = 4, TECH_BIO = 3)
|
||||
build_path = /obj/item/weapon/circuitboard/aicore
|
||||
sort_string = "XAAAA"
|
||||
// Cooking Appliances
|
||||
/datum/design/circuit/microwave
|
||||
name = "microwave board"
|
||||
id = "microwave_board"
|
||||
req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
|
||||
build_path = /obj/item/weapon/circuitboard/microwave
|
||||
sort_string = "HACAM"
|
||||
|
||||
/datum/design/circuit/oven
|
||||
name = "oven board"
|
||||
id = "oven_board"
|
||||
req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
|
||||
build_path = /obj/item/weapon/circuitboard/oven
|
||||
sort_string = "HACAN"
|
||||
|
||||
/datum/design/circuit/fryer
|
||||
name = "deep fryer board"
|
||||
id = "fryer_board"
|
||||
req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
|
||||
build_path = /obj/item/weapon/circuitboard/fryer
|
||||
sort_string = "HACAO"
|
||||
|
||||
/datum/design/circuit/cerealmaker
|
||||
name = "cereal maker board"
|
||||
id = "cerealmaker_board"
|
||||
req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
|
||||
build_path = /obj/item/weapon/circuitboard/cerealmaker
|
||||
sort_string = "HACAP"
|
||||
|
||||
/datum/design/circuit/candymaker
|
||||
name = "candy machine board"
|
||||
id = "candymachine_board"
|
||||
req_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
|
||||
build_path = /obj/item/weapon/circuitboard/candymachine
|
||||
sort_string = "HACAQ"
|
||||
|
||||
/datum/design/circuit/microwave/advanced
|
||||
name = "deluxe microwave"
|
||||
id = "deluxe microwave"
|
||||
req_tech = list(TECH_DATA = 5, TECH_ENGINEERING = 5, TECH_BLUESPACE = 4)
|
||||
build_path = /obj/item/weapon/circuitboard/microwave/advanced
|
||||
sort_string = "MAAAC"
|
||||
sort_string = "HACAA"
|
||||
|
||||
/datum/design/circuit/shield_generator
|
||||
name = "shield generator"
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 128 KiB After Width: | Height: | Size: 130 KiB |
@@ -1238,6 +1238,7 @@
|
||||
#include "code\game\objects\items\weapons\circuitboards\machinery\cloning.dm"
|
||||
#include "code\game\objects\items\weapons\circuitboards\machinery\engineering.dm"
|
||||
#include "code\game\objects\items\weapons\circuitboards\machinery\jukebox.dm"
|
||||
#include "code\game\objects\items\weapons\circuitboards\machinery\kitchen_appliances.dm"
|
||||
#include "code\game\objects\items\weapons\circuitboards\machinery\mech_recharger.dm"
|
||||
#include "code\game\objects\items\weapons\circuitboards\machinery\mining_drill.dm"
|
||||
#include "code\game\objects\items\weapons\circuitboards\machinery\pacman.dm"
|
||||
@@ -2065,6 +2066,7 @@
|
||||
#include "code\modules\food\recipe.dm"
|
||||
#include "code\modules\food\recipe_dump.dm"
|
||||
#include "code\modules\food\recipes_fryer.dm"
|
||||
#include "code\modules\food\recipes_grill.dm"
|
||||
#include "code\modules\food\recipes_microwave.dm"
|
||||
#include "code\modules\food\recipes_microwave_vr.dm"
|
||||
#include "code\modules\food\recipes_oven.dm"
|
||||
|
||||
Reference in New Issue
Block a user