mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-13 08:03:43 +01:00
Kitchen Overhaul
MASSIVE overhaul to the kitchen, should make the chef job more interesting. Additions: - Candy Maker! - - This machine allows the chef to create a variety of sugary treats for the crew to enjoy. - Candy! Lots of candy and this is only the first wave! - - More candy planned / dreamed for the future - Candy Moulds - - Craftable from plastic sheets, also available in the kitchen vendor. Use these to make different candy types - - These are returned if you successfully make the candy. Screw up and the mould is destroyed! - Cardboard Tubes are now craftable from cardboard Changes: - Oven and Grill have been updated to work more in line with the Microwave and Candy Maker. - - This means that they are also buildable and upgradeable! - - Boards for the oven, grill, and candy maker are available from the circuit printer. - Many recipes moved from the microwave to the oven and grill. - - For example, bread is made in the oven, and kabobs are made on the grill. - Adds "byproduct" var to recipes - - Allows for the return of an item in addition to the result, currently used for candy moulds Fixes - Adds Grape Juice reagent. - - This will fix a runtime and also allow people to actually drink from the purple cans. Sprite Credits - Many thanks to FoS for their sprites for a lot of the candies which I combined and recolored - - Also thanks for the new sprites which were included, but not all used (yet!) - I also edited and created some horrible sprites for a few candy items and machine states. - - Hopefully they will be such an eyesore that a real spriter steps up and provides something nice. This overhaul should hopefully add a little variety to the chef role, while keeping it largely unchanged in terms of difficulty.
This commit is contained in:
@@ -0,0 +1,427 @@
|
||||
|
||||
/obj/machinery/candy_maker
|
||||
name = "candy machine"
|
||||
desc = "Get yer box of deep fried deep fried deep fried deep fried cotton candy cereal sandwich cookies here!"
|
||||
icon = 'icons/obj/cooking_machines.dmi'
|
||||
icon_state = "candymaker_off"
|
||||
layer = 2.9
|
||||
density = 1
|
||||
anchored = 1
|
||||
use_power = 1
|
||||
idle_power_usage = 5
|
||||
active_power_usage = 100
|
||||
flags = OPENCONTAINER | NOREACT
|
||||
var/operating = 0 // Is it on?
|
||||
var/dirty = 0 // = {0..100} Does it need cleaning?
|
||||
var/broken = 0 // ={0,1,2} How broken is it???
|
||||
var/global/list/datum/recipe/available_recipes // List of the recipes you can use
|
||||
var/global/list/acceptable_items // List of the items you can put in
|
||||
var/global/list/acceptable_reagents // List of the reagents you can put in
|
||||
var/global/max_n_of_items = 0
|
||||
var/efficiency
|
||||
|
||||
// see code/modules/food/recipes_candy.dm for recipes
|
||||
|
||||
/*******************
|
||||
* Initialising
|
||||
********************/
|
||||
|
||||
/obj/machinery/candy_maker/New()
|
||||
//..() //do not need this
|
||||
reagents = new/datum/reagents(100)
|
||||
reagents.my_atom = src
|
||||
if (!available_recipes)
|
||||
available_recipes = new
|
||||
for (var/type in (typesof(/datum/recipe/candy)-/datum/recipe/candy))
|
||||
available_recipes+= new type
|
||||
acceptable_items = new
|
||||
acceptable_reagents = new
|
||||
for (var/datum/recipe/candy/recipe in available_recipes)
|
||||
for (var/item in recipe.items)
|
||||
acceptable_items |= item
|
||||
for (var/reagent in recipe.reagents)
|
||||
acceptable_reagents |= reagent
|
||||
if (recipe.items)
|
||||
max_n_of_items = max(max_n_of_items,recipe.items.len)
|
||||
|
||||
component_parts = list()
|
||||
component_parts += new /obj/item/weapon/circuitboard/candy_maker(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/manipulator(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
|
||||
component_parts += new /obj/item/stack/cable_coil(null, 5)
|
||||
RefreshParts()
|
||||
|
||||
|
||||
/obj/machinery/candy_maker/upgraded/New()
|
||||
..()
|
||||
component_parts = list()
|
||||
component_parts += new /obj/item/weapon/circuitboard/candy_maker(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/manipulator/pico(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
|
||||
component_parts += new /obj/item/stack/cable_coil(null, 5)
|
||||
RefreshParts()
|
||||
|
||||
/obj/machinery/candy_maker/RefreshParts()
|
||||
var/E
|
||||
for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts)
|
||||
E += M.rating
|
||||
efficiency = E
|
||||
|
||||
/*******************
|
||||
* Item Adding
|
||||
********************/
|
||||
|
||||
/obj/machinery/candy_maker/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
|
||||
if(operating)
|
||||
return
|
||||
if(!broken && dirty < 100)
|
||||
if(default_deconstruction_screwdriver(user, "candymaker_open", "candymaker_off", O))
|
||||
return
|
||||
if(exchange_parts(user, O))
|
||||
return
|
||||
if(istype(O, /obj/item/weapon/wrench))
|
||||
playsound(src, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
if(anchored)
|
||||
anchored = 0
|
||||
user << "<span class='caution'>The [src] can now be moved.</span>"
|
||||
return
|
||||
else if(!anchored)
|
||||
anchored = 1
|
||||
user << "<span class='caution'>The [src] is now secured.</span>"
|
||||
return
|
||||
|
||||
default_deconstruction_crowbar(O)
|
||||
|
||||
if(src.broken > 0)
|
||||
if(src.broken == 2 && istype(O, /obj/item/weapon/screwdriver)) // If it's broken and they're using a screwdriver
|
||||
user.visible_message( \
|
||||
"\blue [user] starts to fix part of the candy maker.", \
|
||||
"\blue You start to fix part of the candy maker." \
|
||||
)
|
||||
if (do_after(user,20))
|
||||
user.visible_message( \
|
||||
"\blue [user] fixes part of the candy maker.", \
|
||||
"\blue You have fixed part of the candy maker." \
|
||||
)
|
||||
src.broken = 1 // Fix it a bit
|
||||
else if(src.broken == 1 && istype(O, /obj/item/weapon/wrench)) // If it's broken and they're doing the wrench
|
||||
user.visible_message( \
|
||||
"\blue [user] starts to fix part of the candy maker.", \
|
||||
"\blue You start to fix part of the candy maker." \
|
||||
)
|
||||
if (do_after(user,20))
|
||||
user.visible_message( \
|
||||
"\blue [user] fixes the candy maker.", \
|
||||
"\blue You have fixed the candy maker." \
|
||||
)
|
||||
src.icon_state = "candymaker_off"
|
||||
src.broken = 0 // Fix it!
|
||||
src.dirty = 0 // just to be sure
|
||||
src.flags = OPENCONTAINER
|
||||
else
|
||||
user << "\red It's broken!"
|
||||
return 1
|
||||
else if(src.dirty==100) // The candy_maker is all dirty so can't be used!
|
||||
if(istype(O, /obj/item/weapon/reagent_containers/spray/cleaner) || istype(O, /obj/item/weapon/soap)) // If they're trying to clean it then let them
|
||||
user.visible_message( \
|
||||
"\blue [user] starts to clean the candy maker.", \
|
||||
"\blue You start to clean the candy maker." \
|
||||
)
|
||||
if (do_after(user,20))
|
||||
user.visible_message( \
|
||||
"\blue [user] has cleaned the candy maker.", \
|
||||
"\blue You have cleaned the candy maker." \
|
||||
)
|
||||
src.dirty = 0 // It's clean!
|
||||
src.broken = 0 // just to be sure
|
||||
src.icon_state = "candymaker_off"
|
||||
src.flags = OPENCONTAINER
|
||||
else //Otherwise bad luck!!
|
||||
user << "\red It's dirty!"
|
||||
return 1
|
||||
else if(is_type_in_list(O,acceptable_items))
|
||||
if (contents.len>=max_n_of_items)
|
||||
user << "\red This [src] is full of ingredients, you cannot put more."
|
||||
return 1
|
||||
if (istype(O,/obj/item/stack) && O:amount>1)
|
||||
new O.type (src)
|
||||
O:use(1)
|
||||
user.visible_message( \
|
||||
"\blue [user] has added one of [O] to \the [src].", \
|
||||
"\blue You add one of [O] to \the [src].")
|
||||
else
|
||||
// user.unEquip(O) //This just causes problems so far as I can tell. -Pete
|
||||
if(!user.drop_item())
|
||||
user << "<span class='notice'>\the [O] is stuck to your hand, you cannot put it in \the [src]</span>"
|
||||
return 0
|
||||
O.loc = src
|
||||
user.visible_message( \
|
||||
"\blue [user] has added \the [O] to \the [src].", \
|
||||
"\blue You add \the [O] to \the [src].")
|
||||
else if(istype(O,/obj/item/weapon/reagent_containers/glass) || \
|
||||
istype(O,/obj/item/weapon/reagent_containers/food/drinks) || \
|
||||
istype(O,/obj/item/weapon/reagent_containers/food/condiment) \
|
||||
)
|
||||
if (!O.reagents)
|
||||
return 1
|
||||
for (var/datum/reagent/R in O.reagents.reagent_list)
|
||||
if (!(R.id in acceptable_reagents))
|
||||
user << "\red Your [O] contains components unsuitable for cookery."
|
||||
return 1
|
||||
//G.reagents.trans_to(src,G.amount_per_transfer_from_this)
|
||||
else if(istype(O,/obj/item/weapon/grab))
|
||||
var/obj/item/weapon/grab/G = O
|
||||
user << "\red This is ridiculous. You can not fit \the [G.affecting] in this [src]."
|
||||
return 1
|
||||
else
|
||||
user << "\red You have no idea what you can cook with this [O]."
|
||||
return 1
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/candy_maker/attack_paw(mob/user as mob)
|
||||
return src.attack_hand(user)
|
||||
|
||||
/obj/machinery/candy_maker/attack_ai(mob/user as mob)
|
||||
return 0
|
||||
|
||||
/obj/machinery/candy_maker/attack_hand(mob/user as mob)
|
||||
user.set_machine(src)
|
||||
interact(user)
|
||||
|
||||
/*******************
|
||||
* candy_maker Menu
|
||||
********************/
|
||||
|
||||
/obj/machinery/candy_maker/interact(mob/user as mob) // The Candy Maker Menu
|
||||
if(panel_open || !anchored)
|
||||
return
|
||||
var/dat = ""
|
||||
if(src.broken > 0)
|
||||
dat = {"<TT>Bzzzzttttt</TT>"}
|
||||
else if(src.operating)
|
||||
var/whimsy_word = pick("Wonderizing", "Scrumpdiddlyumptiousification", "Miracle-coating", "Flavorifaction")
|
||||
dat = {"<TT>[whimsy_word] in progress!<BR>Please wait...!</TT>"}
|
||||
else if(src.dirty==100)
|
||||
dat = {"<TT>This candy maker is dirty!<BR>Please clean it before use!</TT>"}
|
||||
else
|
||||
var/list/items_counts = new
|
||||
var/list/items_measures = new
|
||||
var/list/items_measures_p = new
|
||||
for (var/obj/O in contents)
|
||||
var/display_name = O.name
|
||||
if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/egg))
|
||||
items_measures[display_name] = "egg"
|
||||
items_measures_p[display_name] = "eggs"
|
||||
if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/tofu))
|
||||
items_measures[display_name] = "tofu chunk"
|
||||
items_measures_p[display_name] = "tofu chunks"
|
||||
if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/meat)) //any meat
|
||||
items_measures[display_name] = "slab of meat"
|
||||
items_measures_p[display_name] = "slabs of meat"
|
||||
if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/donkpocket))
|
||||
display_name = "Turnovers"
|
||||
items_measures[display_name] = "turnover"
|
||||
items_measures_p[display_name] = "turnovers"
|
||||
if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/carpmeat))
|
||||
items_measures[display_name] = "fillet of meat"
|
||||
items_measures_p[display_name] = "fillets of meat"
|
||||
items_counts[display_name]++
|
||||
for (var/O in items_counts)
|
||||
var/N = items_counts[O]
|
||||
if (!(O in items_measures))
|
||||
dat += {"<B>[capitalize(O)]:</B> [N] [lowertext(O)]\s<BR>"}
|
||||
else
|
||||
if (N==1)
|
||||
dat += {"<B>[capitalize(O)]:</B> [N] [items_measures[O]]<BR>"}
|
||||
else
|
||||
dat += {"<B>[capitalize(O)]:</B> [N] [items_measures_p[O]]<BR>"}
|
||||
|
||||
for (var/datum/reagent/R in reagents.reagent_list)
|
||||
var/display_name = R.name
|
||||
if (R.id == "capsaicin")
|
||||
display_name = "Hotsauce"
|
||||
if (R.id == "frostoil")
|
||||
display_name = "Coldsauce"
|
||||
dat += {"<B>[display_name]:</B> [R.volume] unit\s<BR>"}
|
||||
|
||||
if (items_counts.len==0 && reagents.reagent_list.len==0)
|
||||
dat = {"<B>The candy maker is empty</B><BR>"}
|
||||
else
|
||||
dat = {"<b>Ingredients:</b><br>[dat]"}
|
||||
dat += {"<HR><BR>\
|
||||
<A href='?src=\ref[src];action=cook'>Turn on!<BR>\
|
||||
<A href='?src=\ref[src];action=dispose'>Eject ingredients!<BR>\
|
||||
"}
|
||||
|
||||
user << browse("<HEAD><TITLE>Candy Maker Controls</TITLE></HEAD><TT>[dat]</TT>", "window=candy_maker")
|
||||
onclose(user, "candy_maker")
|
||||
return
|
||||
|
||||
|
||||
|
||||
/***********************************
|
||||
* candy_maker Menu Handling/Cooking
|
||||
************************************/
|
||||
|
||||
/obj/machinery/candy_maker/proc/cook()
|
||||
if(stat & (NOPOWER|BROKEN))
|
||||
return
|
||||
start()
|
||||
if (reagents.total_volume==0 && !(locate(/obj) in contents)) //dry run
|
||||
if (!wzhzhzh(10))
|
||||
abort()
|
||||
return
|
||||
stop()
|
||||
return
|
||||
|
||||
var/datum/recipe/recipe = select_recipe(available_recipes,src)
|
||||
var/obj/cooked
|
||||
var/obj/byproduct
|
||||
if (!recipe)
|
||||
dirty += 1
|
||||
if (prob(max(10,dirty*5)))
|
||||
if (!wzhzhzh(4))
|
||||
abort()
|
||||
return
|
||||
muck_start()
|
||||
wzhzhzh(4)
|
||||
muck_finish()
|
||||
cooked = fail()
|
||||
cooked.loc = src.loc
|
||||
return
|
||||
else if (has_extra_item())
|
||||
if (!wzhzhzh(4))
|
||||
abort()
|
||||
return
|
||||
broke()
|
||||
cooked = fail()
|
||||
cooked.loc = src.loc
|
||||
return
|
||||
else
|
||||
if (!wzhzhzh(10))
|
||||
abort()
|
||||
return
|
||||
stop()
|
||||
cooked = fail()
|
||||
cooked.loc = src.loc
|
||||
return
|
||||
else
|
||||
var/halftime = round(recipe.time/10/2)
|
||||
if (!wzhzhzh(halftime))
|
||||
abort()
|
||||
return
|
||||
if (!wzhzhzh(halftime))
|
||||
abort()
|
||||
cooked = fail()
|
||||
cooked.loc = src.loc
|
||||
return
|
||||
cooked = recipe.make_food(src)
|
||||
byproduct = recipe.get_byproduct()
|
||||
stop()
|
||||
if(cooked)
|
||||
cooked.loc = src.loc
|
||||
for(var/i=1,i<efficiency,i++)
|
||||
cooked = new cooked.type(loc)
|
||||
if(byproduct)
|
||||
byproduct.loc = src.loc
|
||||
byproduct = new byproduct.type(loc)
|
||||
return
|
||||
|
||||
/obj/machinery/candy_maker/proc/wzhzhzh(var/seconds as num)
|
||||
for (var/i=1 to seconds)
|
||||
if (stat & (NOPOWER|BROKEN))
|
||||
return 0
|
||||
use_power(500)
|
||||
sleep(10)
|
||||
return 1
|
||||
|
||||
/obj/machinery/candy_maker/proc/has_extra_item()
|
||||
for (var/obj/O in contents)
|
||||
if ( \
|
||||
!istype(O,/obj/item/weapon/reagent_containers/food) && \
|
||||
!istype(O, /obj/item/weapon/grown) \
|
||||
)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/obj/machinery/candy_maker/proc/start()
|
||||
src.visible_message("\blue The candy maker turns on.", "\blue You hear a candy maker.")
|
||||
src.operating = 1
|
||||
src.icon_state = "candymaker_on"
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/candy_maker/proc/abort()
|
||||
src.operating = 0 // Turn it off again aferwards
|
||||
src.icon_state = "candymaker_off"
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/candy_maker/proc/stop()
|
||||
playsound(src.loc, 'sound/machines/ding.ogg', 50, 1)
|
||||
src.operating = 0 // Turn it off again aferwards
|
||||
src.icon_state = "candymaker_off"
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/candy_maker/proc/dispose()
|
||||
for (var/obj/O in contents)
|
||||
O.loc = src.loc
|
||||
if (src.reagents.total_volume)
|
||||
src.dirty++
|
||||
src.reagents.clear_reagents()
|
||||
usr << "\blue You dispose of the candy maker contents."
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/candy_maker/proc/muck_start()
|
||||
playsound(src.loc, 'sound/effects/splat.ogg', 50, 1) // Play a splat sound
|
||||
src.icon_state = "candymaker_dirty" // Make it look dirty!!
|
||||
|
||||
/obj/machinery/candy_maker/proc/muck_finish()
|
||||
playsound(src.loc, 'sound/machines/ding.ogg', 50, 1)
|
||||
src.visible_message("\red The candy maker gets covered in muck!")
|
||||
src.dirty = 100 // Make it dirty so it can't be used util cleaned
|
||||
src.flags = null //So you can't add condiments
|
||||
src.icon_state = "candymaker_dirty" // Make it look dirty too
|
||||
src.operating = 0 // Turn it off again aferwards
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/candy_maker/proc/broke()
|
||||
var/datum/effect/effect/system/spark_spread/s = new
|
||||
s.set_up(2, 1, src)
|
||||
s.start()
|
||||
src.icon_state = "candymaker_broke" // Make it look all busted up and shit
|
||||
src.visible_message("\red The candy maker breaks!") //Let them know they're stupid
|
||||
src.broken = 2 // Make it broken so it can't be used util fixed
|
||||
src.flags = null //So you can't add condiments
|
||||
src.operating = 0 // Turn it off again aferwards
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/candy_maker/proc/fail()
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/badrecipe/ffuu = new(src)
|
||||
var/amount = 0
|
||||
for (var/obj/O in contents-ffuu)
|
||||
amount++
|
||||
if (O.reagents)
|
||||
var/id = O.reagents.get_master_reagent_id()
|
||||
if (id)
|
||||
amount+=O.reagents.get_reagent_amount(id)
|
||||
del(O)
|
||||
src.reagents.clear_reagents()
|
||||
ffuu.reagents.add_reagent("carbon", amount)
|
||||
ffuu.reagents.add_reagent("toxin", amount/10)
|
||||
return ffuu
|
||||
|
||||
/obj/machinery/candy_maker/Topic(href, href_list)
|
||||
if(..() || panel_open)
|
||||
return
|
||||
|
||||
usr.set_machine(src)
|
||||
if(src.operating)
|
||||
src.updateUsrDialog()
|
||||
return
|
||||
|
||||
switch(href_list["action"])
|
||||
if ("cook")
|
||||
cook()
|
||||
|
||||
if ("dispose")
|
||||
dispose()
|
||||
return
|
||||
@@ -0,0 +1,424 @@
|
||||
|
||||
/obj/machinery/grill
|
||||
name = "grill"
|
||||
desc = "Backyard grilling, IN SPACE."
|
||||
icon = 'icons/obj/cooking_machines.dmi'
|
||||
icon_state = "grill_off"
|
||||
layer = 2.9
|
||||
density = 1
|
||||
anchored = 1
|
||||
use_power = 1
|
||||
idle_power_usage = 5
|
||||
active_power_usage = 100
|
||||
flags = OPENCONTAINER | NOREACT
|
||||
var/operating = 0 // Is it on?
|
||||
var/dirty = 0 // = {0..100} Does it need cleaning?
|
||||
var/broken = 0 // ={0,1,2} How broken is it???
|
||||
var/global/list/datum/recipe/available_recipes // List of the recipes you can use
|
||||
var/global/list/acceptable_items // List of the items you can put in
|
||||
var/global/list/acceptable_reagents // List of the reagents you can put in
|
||||
var/global/max_n_of_items = 0
|
||||
var/efficiency
|
||||
|
||||
|
||||
// see code/modules/food/recipes_grill.dm for recipes
|
||||
|
||||
/*******************
|
||||
* Initialising
|
||||
********************/
|
||||
|
||||
/obj/machinery/grill/New()
|
||||
//..() //do not need this
|
||||
reagents = new/datum/reagents(100)
|
||||
reagents.my_atom = src
|
||||
if (!available_recipes)
|
||||
available_recipes = new
|
||||
for (var/type in (typesof(/datum/recipe/grill)-/datum/recipe/grill))
|
||||
available_recipes+= new type
|
||||
acceptable_items = new
|
||||
acceptable_reagents = new
|
||||
for (var/datum/recipe/grill/recipe in available_recipes)
|
||||
for (var/item in recipe.items)
|
||||
acceptable_items |= item
|
||||
for (var/reagent in recipe.reagents)
|
||||
acceptable_reagents |= reagent
|
||||
if (recipe.items)
|
||||
max_n_of_items = max(max_n_of_items,recipe.items.len)
|
||||
|
||||
component_parts = list()
|
||||
component_parts += new /obj/item/weapon/circuitboard/grill(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/micro_laser(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/micro_laser(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
|
||||
component_parts += new /obj/item/stack/cable_coil(null, 5)
|
||||
RefreshParts()
|
||||
|
||||
|
||||
/obj/machinery/grill/upgraded/New()
|
||||
..()
|
||||
component_parts = list()
|
||||
component_parts += new /obj/item/weapon/circuitboard/grill(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/micro_laser/ultra(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/micro_laser/ultra(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
|
||||
component_parts += new /obj/item/stack/cable_coil(null, 5)
|
||||
RefreshParts()
|
||||
|
||||
/obj/machinery/grill/RefreshParts()
|
||||
var/E
|
||||
for(var/obj/item/weapon/stock_parts/micro_laser/M in component_parts)
|
||||
E += M.rating
|
||||
efficiency = round((E/2), 1) // There's 2 lasers, so halve the effect on the efficiency to keep it balanced
|
||||
|
||||
/*******************
|
||||
* Item Adding
|
||||
********************/
|
||||
|
||||
/obj/machinery/grill/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
|
||||
if(operating)
|
||||
return
|
||||
if(!broken && dirty < 100)
|
||||
if(default_deconstruction_screwdriver(user, "grill_open", "grill_off", O))
|
||||
return
|
||||
if(exchange_parts(user, O))
|
||||
return
|
||||
if(istype(O, /obj/item/weapon/wrench))
|
||||
playsound(src, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
if(anchored)
|
||||
anchored = 0
|
||||
user << "<span class='caution'>The [src] can now be moved.</span>"
|
||||
return
|
||||
else if(!anchored)
|
||||
anchored = 1
|
||||
user << "<span class='caution'>The [src] is now secured.</span>"
|
||||
return
|
||||
|
||||
default_deconstruction_crowbar(O)
|
||||
|
||||
if(src.broken > 0)
|
||||
if(src.broken == 2 && istype(O, /obj/item/weapon/screwdriver)) // If it's broken and they're using a screwdriver
|
||||
user.visible_message( \
|
||||
"\blue [user] starts to fix part of the grill.", \
|
||||
"\blue You start to fix part of the grill." \
|
||||
)
|
||||
if (do_after(user,20))
|
||||
user.visible_message( \
|
||||
"\blue [user] fixes part of the grill.", \
|
||||
"\blue You have fixed part of the grill." \
|
||||
)
|
||||
src.broken = 1 // Fix it a bit
|
||||
else if(src.broken == 1 && istype(O, /obj/item/weapon/wrench)) // If it's broken and they're doing the wrench
|
||||
user.visible_message( \
|
||||
"\blue [user] starts to fix part of the grill.", \
|
||||
"\blue You start to fix part of the grill." \
|
||||
)
|
||||
if (do_after(user,20))
|
||||
user.visible_message( \
|
||||
"\blue [user] fixes the grill.", \
|
||||
"\blue You have fixed the grill." \
|
||||
)
|
||||
src.icon_state = "grill_off"
|
||||
src.broken = 0 // Fix it!
|
||||
src.dirty = 0 // just to be sure
|
||||
src.flags = OPENCONTAINER
|
||||
else
|
||||
user << "\red It's broken!"
|
||||
return 1
|
||||
else if(src.dirty==100) // The grill is all dirty so can't be used!
|
||||
if(istype(O, /obj/item/weapon/reagent_containers/spray/cleaner) || istype(O, /obj/item/weapon/soap)) // If they're trying to clean it then let them
|
||||
user.visible_message( \
|
||||
"\blue [user] starts to clean the grill.", \
|
||||
"\blue You start to clean the grill." \
|
||||
)
|
||||
if (do_after(user,20))
|
||||
user.visible_message( \
|
||||
"\blue [user] has cleaned the grill.", \
|
||||
"\blue You have cleaned the grill." \
|
||||
)
|
||||
src.dirty = 0 // It's clean!
|
||||
src.broken = 0 // just to be sure
|
||||
src.icon_state = "grill_off"
|
||||
src.flags = OPENCONTAINER
|
||||
else //Otherwise bad luck!!
|
||||
user << "\red It's dirty!"
|
||||
return 1
|
||||
else if(is_type_in_list(O,acceptable_items))
|
||||
if (contents.len>=max_n_of_items)
|
||||
user << "\red This [src] is full of ingredients, you cannot put more."
|
||||
return 1
|
||||
if (istype(O,/obj/item/stack) && O:amount>1)
|
||||
new O.type (src)
|
||||
O:use(1)
|
||||
user.visible_message( \
|
||||
"\blue [user] has added one of [O] to \the [src].", \
|
||||
"\blue You add one of [O] to \the [src].")
|
||||
else
|
||||
// user.unEquip(O) //This just causes problems so far as I can tell. -Pete
|
||||
if(!user.drop_item())
|
||||
user << "<span class='notice'>\the [O] is stuck to your hand, you cannot put it in \the [src]</span>"
|
||||
return 0
|
||||
O.loc = src
|
||||
user.visible_message( \
|
||||
"\blue [user] has added \the [O] to \the [src].", \
|
||||
"\blue You add \the [O] to \the [src].")
|
||||
else if(istype(O,/obj/item/weapon/reagent_containers/glass) || \
|
||||
istype(O,/obj/item/weapon/reagent_containers/food/drinks) || \
|
||||
istype(O,/obj/item/weapon/reagent_containers/food/condiment) \
|
||||
)
|
||||
if (!O.reagents)
|
||||
return 1
|
||||
for (var/datum/reagent/R in O.reagents.reagent_list)
|
||||
if (!(R.id in acceptable_reagents))
|
||||
user << "\red Your [O] contains components unsuitable for cookery."
|
||||
return 1
|
||||
//G.reagents.trans_to(src,G.amount_per_transfer_from_this)
|
||||
else if(istype(O,/obj/item/weapon/grab))
|
||||
var/obj/item/weapon/grab/G = O
|
||||
user << "\red This is ridiculous. You can not fit \the [G.affecting] in this [src]."
|
||||
return 1
|
||||
else
|
||||
user << "\red You have no idea what you can cook with this [O]."
|
||||
return 1
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/grill/attack_paw(mob/user as mob)
|
||||
return src.attack_hand(user)
|
||||
|
||||
/obj/machinery/grill/attack_ai(mob/user as mob)
|
||||
return 0
|
||||
|
||||
/obj/machinery/grill/attack_hand(mob/user as mob)
|
||||
user.set_machine(src)
|
||||
interact(user)
|
||||
|
||||
/*******************
|
||||
* grill Menu
|
||||
********************/
|
||||
|
||||
/obj/machinery/grill/interact(mob/user as mob) // The grill Menu
|
||||
if(panel_open || !anchored)
|
||||
return
|
||||
var/dat = ""
|
||||
if(src.broken > 0)
|
||||
dat = {"<TT>Bzzzzttttt</TT>"}
|
||||
else if(src.operating)
|
||||
dat = {"<TT>Grilling in progress!<BR>Please wait...!</TT>"}
|
||||
else if(src.dirty==100)
|
||||
dat = {"<TT>This grill is dirty!<BR>Please clean it before use!</TT>"}
|
||||
else
|
||||
var/list/items_counts = new
|
||||
var/list/items_measures = new
|
||||
var/list/items_measures_p = new
|
||||
for (var/obj/O in contents)
|
||||
var/display_name = O.name
|
||||
if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/egg))
|
||||
items_measures[display_name] = "egg"
|
||||
items_measures_p[display_name] = "eggs"
|
||||
if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/tofu))
|
||||
items_measures[display_name] = "tofu chunk"
|
||||
items_measures_p[display_name] = "tofu chunks"
|
||||
if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/meat)) //any meat
|
||||
items_measures[display_name] = "slab of meat"
|
||||
items_measures_p[display_name] = "slabs of meat"
|
||||
if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/donkpocket))
|
||||
display_name = "Turnovers"
|
||||
items_measures[display_name] = "turnover"
|
||||
items_measures_p[display_name] = "turnovers"
|
||||
if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/carpmeat))
|
||||
items_measures[display_name] = "fillet of meat"
|
||||
items_measures_p[display_name] = "fillets of meat"
|
||||
items_counts[display_name]++
|
||||
for (var/O in items_counts)
|
||||
var/N = items_counts[O]
|
||||
if (!(O in items_measures))
|
||||
dat += {"<B>[capitalize(O)]:</B> [N] [lowertext(O)]\s<BR>"}
|
||||
else
|
||||
if (N==1)
|
||||
dat += {"<B>[capitalize(O)]:</B> [N] [items_measures[O]]<BR>"}
|
||||
else
|
||||
dat += {"<B>[capitalize(O)]:</B> [N] [items_measures_p[O]]<BR>"}
|
||||
|
||||
for (var/datum/reagent/R in reagents.reagent_list)
|
||||
var/display_name = R.name
|
||||
if (R.id == "capsaicin")
|
||||
display_name = "Hotsauce"
|
||||
if (R.id == "frostoil")
|
||||
display_name = "Coldsauce"
|
||||
dat += {"<B>[display_name]:</B> [R.volume] unit\s<BR>"}
|
||||
|
||||
if (items_counts.len==0 && reagents.reagent_list.len==0)
|
||||
dat = {"<B>The grill is empty</B><BR>"}
|
||||
else
|
||||
dat = {"<b>Ingredients:</b><br>[dat]"}
|
||||
dat += {"<HR><BR>\
|
||||
<A href='?src=\ref[src];action=cook'>Turn on!<BR>\
|
||||
<A href='?src=\ref[src];action=dispose'>Eject ingredients!<BR>\
|
||||
"}
|
||||
|
||||
user << browse("<HEAD><TITLE>grill Controls</TITLE></HEAD><TT>[dat]</TT>", "window=grill")
|
||||
onclose(user, "grill")
|
||||
return
|
||||
|
||||
|
||||
|
||||
/***********************************
|
||||
* grill Menu Handling/Cooking
|
||||
************************************/
|
||||
|
||||
/obj/machinery/grill/proc/cook()
|
||||
if(stat & (NOPOWER|BROKEN))
|
||||
return
|
||||
start()
|
||||
if (reagents.total_volume==0 && !(locate(/obj) in contents)) //dry run
|
||||
if (!wzhzhzh(10))
|
||||
abort()
|
||||
return
|
||||
stop()
|
||||
return
|
||||
|
||||
var/datum/recipe/recipe = select_recipe(available_recipes,src)
|
||||
var/obj/cooked
|
||||
if (!recipe)
|
||||
dirty += 1
|
||||
if (prob(max(10,dirty*5)))
|
||||
if (!wzhzhzh(4))
|
||||
abort()
|
||||
return
|
||||
muck_start()
|
||||
wzhzhzh(4)
|
||||
muck_finish()
|
||||
cooked = fail()
|
||||
cooked.loc = src.loc
|
||||
return
|
||||
else if (has_extra_item())
|
||||
if (!wzhzhzh(4))
|
||||
abort()
|
||||
return
|
||||
broke()
|
||||
cooked = fail()
|
||||
cooked.loc = src.loc
|
||||
return
|
||||
else
|
||||
if (!wzhzhzh(10))
|
||||
abort()
|
||||
return
|
||||
stop()
|
||||
cooked = fail()
|
||||
cooked.loc = src.loc
|
||||
return
|
||||
else
|
||||
var/halftime = round(recipe.time/10/2)
|
||||
if (!wzhzhzh(halftime))
|
||||
abort()
|
||||
return
|
||||
if (!wzhzhzh(halftime))
|
||||
abort()
|
||||
cooked = fail()
|
||||
cooked.loc = src.loc
|
||||
return
|
||||
cooked = recipe.make_food(src)
|
||||
stop()
|
||||
if(cooked)
|
||||
cooked.loc = src.loc
|
||||
for(var/i=1,i<efficiency,i++)
|
||||
cooked = new cooked.type(loc)
|
||||
return
|
||||
|
||||
/obj/machinery/grill/proc/wzhzhzh(var/seconds as num)
|
||||
for (var/i=1 to seconds)
|
||||
if (stat & (NOPOWER|BROKEN))
|
||||
return 0
|
||||
use_power(500)
|
||||
sleep(10)
|
||||
return 1
|
||||
|
||||
/obj/machinery/grill/proc/has_extra_item()
|
||||
for (var/obj/O in contents)
|
||||
if ( \
|
||||
!istype(O,/obj/item/weapon/reagent_containers/food) && \
|
||||
!istype(O, /obj/item/weapon/grown) \
|
||||
)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/obj/machinery/grill/proc/start()
|
||||
src.visible_message("\blue The grill turns on.", "\blue You hear a grill.")
|
||||
src.operating = 1
|
||||
src.icon_state = "grill_on"
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/grill/proc/abort()
|
||||
src.operating = 0 // Turn it off again aferwards
|
||||
src.icon_state = "grill_off"
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/grill/proc/stop()
|
||||
playsound(src.loc, 'sound/machines/ding.ogg', 50, 1)
|
||||
src.operating = 0 // Turn it off again aferwards
|
||||
src.icon_state = "grill_off"
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/grill/proc/dispose()
|
||||
for (var/obj/O in contents)
|
||||
O.loc = src.loc
|
||||
if (src.reagents.total_volume)
|
||||
src.dirty++
|
||||
src.reagents.clear_reagents()
|
||||
usr << "\blue You dispose of the grill contents."
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/grill/proc/muck_start()
|
||||
playsound(src.loc, 'sound/effects/splat.ogg', 50, 1) // Play a splat sound
|
||||
src.icon_state = "grill_dirty" // Make it look dirty!!
|
||||
|
||||
/obj/machinery/grill/proc/muck_finish()
|
||||
playsound(src.loc, 'sound/machines/ding.ogg', 50, 1)
|
||||
src.visible_message("\red The grill gets covered in muck!")
|
||||
src.dirty = 100 // Make it dirty so it can't be used util cleaned
|
||||
src.flags = null //So you can't add condiments
|
||||
src.icon_state = "grill_dirty" // Make it look dirty too
|
||||
src.operating = 0 // Turn it off again aferwards
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/grill/proc/broke()
|
||||
var/datum/effect/effect/system/spark_spread/s = new
|
||||
s.set_up(2, 1, src)
|
||||
s.start()
|
||||
src.icon_state = "grill_broke" // Make it look all busted up and shit
|
||||
src.visible_message("\red The grill breaks!") //Let them know they're stupid
|
||||
src.broken = 2 // Make it broken so it can't be used util fixed
|
||||
src.flags = null //So you can't add condiments
|
||||
src.operating = 0 // Turn it off again aferwards
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/grill/proc/fail()
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/badrecipe/ffuu = new(src)
|
||||
var/amount = 0
|
||||
for (var/obj/O in contents-ffuu)
|
||||
amount++
|
||||
if (O.reagents)
|
||||
var/id = O.reagents.get_master_reagent_id()
|
||||
if (id)
|
||||
amount+=O.reagents.get_reagent_amount(id)
|
||||
del(O)
|
||||
src.reagents.clear_reagents()
|
||||
ffuu.reagents.add_reagent("carbon", amount)
|
||||
ffuu.reagents.add_reagent("toxin", amount/10)
|
||||
return ffuu
|
||||
|
||||
/obj/machinery/grill/Topic(href, href_list)
|
||||
if(..() || panel_open)
|
||||
return
|
||||
|
||||
usr.set_machine(src)
|
||||
if(src.operating)
|
||||
src.updateUsrDialog()
|
||||
return
|
||||
|
||||
switch(href_list["action"])
|
||||
if ("cook")
|
||||
cook()
|
||||
|
||||
if ("dispose")
|
||||
dispose()
|
||||
return
|
||||
@@ -0,0 +1,424 @@
|
||||
|
||||
/obj/machinery/oven
|
||||
name = "oven"
|
||||
desc = "Cookies are ready, dear."
|
||||
icon = 'icons/obj/cooking_machines.dmi'
|
||||
icon_state = "oven_off"
|
||||
layer = 2.9
|
||||
density = 1
|
||||
anchored = 1
|
||||
use_power = 1
|
||||
idle_power_usage = 5
|
||||
active_power_usage = 100
|
||||
flags = OPENCONTAINER | NOREACT
|
||||
var/operating = 0 // Is it on?
|
||||
var/dirty = 0 // = {0..100} Does it need cleaning?
|
||||
var/broken = 0 // ={0,1,2} How broken is it???
|
||||
var/global/list/datum/recipe/available_recipes // List of the recipes you can use
|
||||
var/global/list/acceptable_items // List of the items you can put in
|
||||
var/global/list/acceptable_reagents // List of the reagents you can put in
|
||||
var/global/max_n_of_items = 0
|
||||
var/efficiency
|
||||
|
||||
|
||||
// see code/modules/food/recipes_oven.dm for recipes
|
||||
|
||||
/*******************
|
||||
* Initialising
|
||||
********************/
|
||||
|
||||
/obj/machinery/oven/New()
|
||||
//..() //do not need this
|
||||
reagents = new/datum/reagents(100)
|
||||
reagents.my_atom = src
|
||||
if (!available_recipes)
|
||||
available_recipes = new
|
||||
for (var/type in (typesof(/datum/recipe/oven)-/datum/recipe/oven))
|
||||
available_recipes+= new type
|
||||
acceptable_items = new
|
||||
acceptable_reagents = new
|
||||
for (var/datum/recipe/oven/recipe in available_recipes)
|
||||
for (var/item in recipe.items)
|
||||
acceptable_items |= item
|
||||
for (var/reagent in recipe.reagents)
|
||||
acceptable_reagents |= reagent
|
||||
if (recipe.items)
|
||||
max_n_of_items = max(max_n_of_items,recipe.items.len)
|
||||
|
||||
component_parts = list()
|
||||
component_parts += new /obj/item/weapon/circuitboard/oven(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/micro_laser(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/micro_laser(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
|
||||
component_parts += new /obj/item/stack/cable_coil(null, 5)
|
||||
RefreshParts()
|
||||
|
||||
|
||||
/obj/machinery/oven/upgraded/New()
|
||||
..()
|
||||
component_parts = list()
|
||||
component_parts += new /obj/item/weapon/circuitboard/oven(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/micro_laser/ultra(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/micro_laser/ultra(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
|
||||
component_parts += new /obj/item/stack/cable_coil(null, 5)
|
||||
RefreshParts()
|
||||
|
||||
/obj/machinery/oven/RefreshParts()
|
||||
var/E
|
||||
for(var/obj/item/weapon/stock_parts/micro_laser/M in component_parts)
|
||||
E += M.rating
|
||||
efficiency = round((E/2), 1) // There's 2 lasers, so halve the effect on the efficiency to keep it balanced
|
||||
|
||||
/*******************
|
||||
* Item Adding
|
||||
********************/
|
||||
|
||||
/obj/machinery/oven/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
|
||||
if(operating)
|
||||
return
|
||||
if(!broken && dirty < 100)
|
||||
if(default_deconstruction_screwdriver(user, "oven_open", "oven_off", O))
|
||||
return
|
||||
if(exchange_parts(user, O))
|
||||
return
|
||||
if(istype(O, /obj/item/weapon/wrench))
|
||||
playsound(src, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
if(anchored)
|
||||
anchored = 0
|
||||
user << "<span class='caution'>The [src] can now be moved.</span>"
|
||||
return
|
||||
else if(!anchored)
|
||||
anchored = 1
|
||||
user << "<span class='caution'>The [src] is now secured.</span>"
|
||||
return
|
||||
|
||||
default_deconstruction_crowbar(O)
|
||||
|
||||
if(src.broken > 0)
|
||||
if(src.broken == 2 && istype(O, /obj/item/weapon/screwdriver)) // If it's broken and they're using a screwdriver
|
||||
user.visible_message( \
|
||||
"\blue [user] starts to fix part of the oven.", \
|
||||
"\blue You start to fix part of the oven." \
|
||||
)
|
||||
if (do_after(user,20))
|
||||
user.visible_message( \
|
||||
"\blue [user] fixes part of the oven.", \
|
||||
"\blue You have fixed part of the oven." \
|
||||
)
|
||||
src.broken = 1 // Fix it a bit
|
||||
else if(src.broken == 1 && istype(O, /obj/item/weapon/wrench)) // If it's broken and they're doing the wrench
|
||||
user.visible_message( \
|
||||
"\blue [user] starts to fix part of the oven.", \
|
||||
"\blue You start to fix part of the oven." \
|
||||
)
|
||||
if (do_after(user,20))
|
||||
user.visible_message( \
|
||||
"\blue [user] fixes the oven.", \
|
||||
"\blue You have fixed the oven." \
|
||||
)
|
||||
src.icon_state = "oven_off"
|
||||
src.broken = 0 // Fix it!
|
||||
src.dirty = 0 // just to be sure
|
||||
src.flags = OPENCONTAINER
|
||||
else
|
||||
user << "\red It's broken!"
|
||||
return 1
|
||||
else if(src.dirty==100) // The oven is all dirty so can't be used!
|
||||
if(istype(O, /obj/item/weapon/reagent_containers/spray/cleaner) || istype(O, /obj/item/weapon/soap)) // If they're trying to clean it then let them
|
||||
user.visible_message( \
|
||||
"\blue [user] starts to clean the oven.", \
|
||||
"\blue You start to clean the oven." \
|
||||
)
|
||||
if (do_after(user,20))
|
||||
user.visible_message( \
|
||||
"\blue [user] has cleaned the oven.", \
|
||||
"\blue You have cleaned the oven." \
|
||||
)
|
||||
src.dirty = 0 // It's clean!
|
||||
src.broken = 0 // just to be sure
|
||||
src.icon_state = "oven_off"
|
||||
src.flags = OPENCONTAINER
|
||||
else //Otherwise bad luck!!
|
||||
user << "\red It's dirty!"
|
||||
return 1
|
||||
else if(is_type_in_list(O,acceptable_items))
|
||||
if (contents.len>=max_n_of_items)
|
||||
user << "\red This [src] is full of ingredients, you cannot put more."
|
||||
return 1
|
||||
if (istype(O,/obj/item/stack) && O:amount>1)
|
||||
new O.type (src)
|
||||
O:use(1)
|
||||
user.visible_message( \
|
||||
"\blue [user] has added one of [O] to \the [src].", \
|
||||
"\blue You add one of [O] to \the [src].")
|
||||
else
|
||||
// user.unEquip(O) //This just causes problems so far as I can tell. -Pete
|
||||
if(!user.drop_item())
|
||||
user << "<span class='notice'>\the [O] is stuck to your hand, you cannot put it in \the [src]</span>"
|
||||
return 0
|
||||
O.loc = src
|
||||
user.visible_message( \
|
||||
"\blue [user] has added \the [O] to \the [src].", \
|
||||
"\blue You add \the [O] to \the [src].")
|
||||
else if(istype(O,/obj/item/weapon/reagent_containers/glass) || \
|
||||
istype(O,/obj/item/weapon/reagent_containers/food/drinks) || \
|
||||
istype(O,/obj/item/weapon/reagent_containers/food/condiment) \
|
||||
)
|
||||
if (!O.reagents)
|
||||
return 1
|
||||
for (var/datum/reagent/R in O.reagents.reagent_list)
|
||||
if (!(R.id in acceptable_reagents))
|
||||
user << "\red Your [O] contains components unsuitable for cookery."
|
||||
return 1
|
||||
//G.reagents.trans_to(src,G.amount_per_transfer_from_this)
|
||||
else if(istype(O,/obj/item/weapon/grab))
|
||||
var/obj/item/weapon/grab/G = O
|
||||
user << "\red This is ridiculous. You can not fit \the [G.affecting] in this [src]."
|
||||
return 1
|
||||
else
|
||||
user << "\red You have no idea what you can cook with this [O]."
|
||||
return 1
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/oven/attack_paw(mob/user as mob)
|
||||
return src.attack_hand(user)
|
||||
|
||||
/obj/machinery/oven/attack_ai(mob/user as mob)
|
||||
return 0
|
||||
|
||||
/obj/machinery/oven/attack_hand(mob/user as mob)
|
||||
user.set_machine(src)
|
||||
interact(user)
|
||||
|
||||
/*******************
|
||||
* oven Menu
|
||||
********************/
|
||||
|
||||
/obj/machinery/oven/interact(mob/user as mob) // The oven Menu
|
||||
if(panel_open || !anchored)
|
||||
return
|
||||
var/dat = ""
|
||||
if(src.broken > 0)
|
||||
dat = {"<TT>Bzzzzttttt</TT>"}
|
||||
else if(src.operating)
|
||||
dat = {"<TT>Baking in progress!<BR>Please wait...!</TT>"}
|
||||
else if(src.dirty==100)
|
||||
dat = {"<TT>This oven is dirty!<BR>Please clean it before use!</TT>"}
|
||||
else
|
||||
var/list/items_counts = new
|
||||
var/list/items_measures = new
|
||||
var/list/items_measures_p = new
|
||||
for (var/obj/O in contents)
|
||||
var/display_name = O.name
|
||||
if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/egg))
|
||||
items_measures[display_name] = "egg"
|
||||
items_measures_p[display_name] = "eggs"
|
||||
if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/tofu))
|
||||
items_measures[display_name] = "tofu chunk"
|
||||
items_measures_p[display_name] = "tofu chunks"
|
||||
if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/meat)) //any meat
|
||||
items_measures[display_name] = "slab of meat"
|
||||
items_measures_p[display_name] = "slabs of meat"
|
||||
if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/donkpocket))
|
||||
display_name = "Turnovers"
|
||||
items_measures[display_name] = "turnover"
|
||||
items_measures_p[display_name] = "turnovers"
|
||||
if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/carpmeat))
|
||||
items_measures[display_name] = "fillet of meat"
|
||||
items_measures_p[display_name] = "fillets of meat"
|
||||
items_counts[display_name]++
|
||||
for (var/O in items_counts)
|
||||
var/N = items_counts[O]
|
||||
if (!(O in items_measures))
|
||||
dat += {"<B>[capitalize(O)]:</B> [N] [lowertext(O)]\s<BR>"}
|
||||
else
|
||||
if (N==1)
|
||||
dat += {"<B>[capitalize(O)]:</B> [N] [items_measures[O]]<BR>"}
|
||||
else
|
||||
dat += {"<B>[capitalize(O)]:</B> [N] [items_measures_p[O]]<BR>"}
|
||||
|
||||
for (var/datum/reagent/R in reagents.reagent_list)
|
||||
var/display_name = R.name
|
||||
if (R.id == "capsaicin")
|
||||
display_name = "Hotsauce"
|
||||
if (R.id == "frostoil")
|
||||
display_name = "Coldsauce"
|
||||
dat += {"<B>[display_name]:</B> [R.volume] unit\s<BR>"}
|
||||
|
||||
if (items_counts.len==0 && reagents.reagent_list.len==0)
|
||||
dat = {"<B>The oven is empty</B><BR>"}
|
||||
else
|
||||
dat = {"<b>Ingredients:</b><br>[dat]"}
|
||||
dat += {"<HR><BR>\
|
||||
<A href='?src=\ref[src];action=cook'>Turn on!<BR>\
|
||||
<A href='?src=\ref[src];action=dispose'>Eject ingredients!<BR>\
|
||||
"}
|
||||
|
||||
user << browse("<HEAD><TITLE>oven Controls</TITLE></HEAD><TT>[dat]</TT>", "window=oven")
|
||||
onclose(user, "oven")
|
||||
return
|
||||
|
||||
|
||||
|
||||
/***********************************
|
||||
* oven Menu Handling/Cooking
|
||||
************************************/
|
||||
|
||||
/obj/machinery/oven/proc/cook()
|
||||
if(stat & (NOPOWER|BROKEN))
|
||||
return
|
||||
start()
|
||||
if (reagents.total_volume==0 && !(locate(/obj) in contents)) //dry run
|
||||
if (!wzhzhzh(10))
|
||||
abort()
|
||||
return
|
||||
stop()
|
||||
return
|
||||
|
||||
var/datum/recipe/recipe = select_recipe(available_recipes,src)
|
||||
var/obj/cooked
|
||||
if (!recipe)
|
||||
dirty += 1
|
||||
if (prob(max(10,dirty*5)))
|
||||
if (!wzhzhzh(4))
|
||||
abort()
|
||||
return
|
||||
muck_start()
|
||||
wzhzhzh(4)
|
||||
muck_finish()
|
||||
cooked = fail()
|
||||
cooked.loc = src.loc
|
||||
return
|
||||
else if (has_extra_item())
|
||||
if (!wzhzhzh(4))
|
||||
abort()
|
||||
return
|
||||
broke()
|
||||
cooked = fail()
|
||||
cooked.loc = src.loc
|
||||
return
|
||||
else
|
||||
if (!wzhzhzh(10))
|
||||
abort()
|
||||
return
|
||||
stop()
|
||||
cooked = fail()
|
||||
cooked.loc = src.loc
|
||||
return
|
||||
else
|
||||
var/halftime = round(recipe.time/10/2)
|
||||
if (!wzhzhzh(halftime))
|
||||
abort()
|
||||
return
|
||||
if (!wzhzhzh(halftime))
|
||||
abort()
|
||||
cooked = fail()
|
||||
cooked.loc = src.loc
|
||||
return
|
||||
cooked = recipe.make_food(src)
|
||||
stop()
|
||||
if(cooked)
|
||||
cooked.loc = src.loc
|
||||
for(var/i=1,i<efficiency,i++)
|
||||
cooked = new cooked.type(loc)
|
||||
return
|
||||
|
||||
/obj/machinery/oven/proc/wzhzhzh(var/seconds as num)
|
||||
for (var/i=1 to seconds)
|
||||
if (stat & (NOPOWER|BROKEN))
|
||||
return 0
|
||||
use_power(500)
|
||||
sleep(10)
|
||||
return 1
|
||||
|
||||
/obj/machinery/oven/proc/has_extra_item()
|
||||
for (var/obj/O in contents)
|
||||
if ( \
|
||||
!istype(O,/obj/item/weapon/reagent_containers/food) && \
|
||||
!istype(O, /obj/item/weapon/grown) \
|
||||
)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/obj/machinery/oven/proc/start()
|
||||
src.visible_message("\blue The oven turns on.", "\blue You hear a oven.")
|
||||
src.operating = 1
|
||||
src.icon_state = "oven_on"
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/oven/proc/abort()
|
||||
src.operating = 0 // Turn it off again aferwards
|
||||
src.icon_state = "oven_off"
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/oven/proc/stop()
|
||||
playsound(src.loc, 'sound/machines/ding.ogg', 50, 1)
|
||||
src.operating = 0 // Turn it off again aferwards
|
||||
src.icon_state = "oven_off"
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/oven/proc/dispose()
|
||||
for (var/obj/O in contents)
|
||||
O.loc = src.loc
|
||||
if (src.reagents.total_volume)
|
||||
src.dirty++
|
||||
src.reagents.clear_reagents()
|
||||
usr << "\blue You dispose of the oven contents."
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/oven/proc/muck_start()
|
||||
playsound(src.loc, 'sound/effects/splat.ogg', 50, 1) // Play a splat sound
|
||||
src.icon_state = "oven_dirty" // Make it look dirty!!
|
||||
|
||||
/obj/machinery/oven/proc/muck_finish()
|
||||
playsound(src.loc, 'sound/machines/ding.ogg', 50, 1)
|
||||
src.visible_message("\red The oven gets covered in muck!")
|
||||
src.dirty = 100 // Make it dirty so it can't be used util cleaned
|
||||
src.flags = null //So you can't add condiments
|
||||
src.icon_state = "oven_dirty" // Make it look dirty too
|
||||
src.operating = 0 // Turn it off again aferwards
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/oven/proc/broke()
|
||||
var/datum/effect/effect/system/spark_spread/s = new
|
||||
s.set_up(2, 1, src)
|
||||
s.start()
|
||||
src.icon_state = "oven_broke" // Make it look all busted up and shit
|
||||
src.visible_message("\red The oven breaks!") //Let them know they're stupid
|
||||
src.broken = 2 // Make it broken so it can't be used util fixed
|
||||
src.flags = null //So you can't add condiments
|
||||
src.operating = 0 // Turn it off again aferwards
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/oven/proc/fail()
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/badrecipe/ffuu = new(src)
|
||||
var/amount = 0
|
||||
for (var/obj/O in contents-ffuu)
|
||||
amount++
|
||||
if (O.reagents)
|
||||
var/id = O.reagents.get_master_reagent_id()
|
||||
if (id)
|
||||
amount+=O.reagents.get_reagent_amount(id)
|
||||
del(O)
|
||||
src.reagents.clear_reagents()
|
||||
ffuu.reagents.add_reagent("carbon", amount)
|
||||
ffuu.reagents.add_reagent("toxin", amount/10)
|
||||
return ffuu
|
||||
|
||||
/obj/machinery/oven/Topic(href, href_list)
|
||||
if(..() || panel_open)
|
||||
return
|
||||
|
||||
usr.set_machine(src)
|
||||
if(src.operating)
|
||||
src.updateUsrDialog()
|
||||
return
|
||||
|
||||
switch(href_list["action"])
|
||||
if ("cook")
|
||||
cook()
|
||||
|
||||
if ("dispose")
|
||||
dispose()
|
||||
return
|
||||
@@ -0,0 +1,512 @@
|
||||
|
||||
/*
|
||||
* /datum/recipe/candy/
|
||||
* reagents = list()
|
||||
* items = list()
|
||||
* result = /obj/item/weapon/reagent_containers/food/snacks/
|
||||
* byproduct = /obj/item/ // only set this if the recipe has a byproduct, like returning it's mould
|
||||
*
|
||||
* NOTE: If using a mould, make sure to list it in *BOTH* the items and byproduct lists if it is to be returned.
|
||||
* Failure to list in both places will result in either consumption of the mould, or spontaneous generation of a mould.
|
||||
*
|
||||
*/
|
||||
|
||||
// ***********************************************************
|
||||
// Candy Ingredients / Flavorings Recipes
|
||||
// ***********************************************************
|
||||
|
||||
/datum/recipe/candy/chocolate_bar
|
||||
reagents = list("soymilk" = 2, "coco" = 2, "sugar" = 2)
|
||||
items = list()
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/chocolatebar
|
||||
|
||||
/datum/recipe/candy/chocolate_bar2
|
||||
reagents = list("milk" = 2, "coco" = 2, "sugar" = 2)
|
||||
items = list()
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/chocolatebar
|
||||
|
||||
/datum/recipe/candy/fudge
|
||||
reagents = list("sugar" = 5, "cream" = 5)
|
||||
items = list(/obj/item/weapon/reagent_containers/food/snacks/chocolatebar)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/fudge
|
||||
|
||||
/datum/recipe/candy/caramel
|
||||
reagents = list("sugar" = 5, "cream" = 5)
|
||||
items = list()
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/caramel
|
||||
|
||||
/datum/recipe/candy/toffee
|
||||
reagents = list("sugar" = 5)
|
||||
items = list(/obj/item/weapon/reagent_containers/food/snacks/flour)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/toffee
|
||||
|
||||
/datum/recipe/candy/taffy
|
||||
reagents = list("sugar" = 5, "water" = 5, "sodiumchloride" = 5)
|
||||
items = list()
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/taffy
|
||||
|
||||
/datum/recipe/candy/nougat
|
||||
reagents = list("sugar" = 5, "cornoil" = 5)
|
||||
items = list(/obj/item/weapon/reagent_containers/food/snacks/egg)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/nougat
|
||||
|
||||
// ***********************************************************
|
||||
// Base Candy Recipes (unflavored / plain)
|
||||
// ***********************************************************
|
||||
|
||||
/datum/recipe/candy/cotton
|
||||
reagents = list("sugar" = 15)
|
||||
items = list(
|
||||
/obj/item/weapon/c_tube,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/cotton
|
||||
|
||||
/datum/recipe/candy/gummybear
|
||||
reagents = list("sugar" = 5, "water" = 5, "cornoil" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/kitchen/mould/bear,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummybear
|
||||
byproduct = /obj/item/weapon/kitchen/mould/bear
|
||||
|
||||
/datum/recipe/candy/gummyworm
|
||||
reagents = list("sugar" = 5, "water" = 5, "cornoil" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/kitchen/mould/worm,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm
|
||||
byproduct = /obj/item/weapon/kitchen/mould/worm
|
||||
|
||||
/datum/recipe/candy/jellybean
|
||||
reagents = list("sugar" = 5, "water" = 5, "cornoil" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/kitchen/mould/bean,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean
|
||||
byproduct = /obj/item/weapon/kitchen/mould/bean
|
||||
|
||||
/datum/recipe/candy/jawbreaker
|
||||
reagents = list("sugar" = 10, "cornoil" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/kitchen/mould/ball,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jawbreaker
|
||||
byproduct = /obj/item/weapon/kitchen/mould/ball
|
||||
|
||||
/datum/recipe/candy/candycane
|
||||
reagents = list("sugar" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/kitchen/mould/cane,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/mint,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/mint
|
||||
byproduct = /obj/item/weapon/kitchen/mould/cane
|
||||
|
||||
/datum/recipe/candy/gum
|
||||
reagents = list("sugar" = 5, "water" = 5, "cornoil" = 5)
|
||||
items = list()
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gum
|
||||
|
||||
/datum/recipe/candy/candybar
|
||||
reagents = list("sugar" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/candybar
|
||||
|
||||
/datum/recipe/candy/cash
|
||||
reagents = list()
|
||||
items = list(
|
||||
/obj/item/weapon/kitchen/mould/cash,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/cash
|
||||
byproduct = /obj/item/weapon/kitchen/mould/cash
|
||||
|
||||
/datum/recipe/candy/coin
|
||||
reagents = list()
|
||||
items = list(
|
||||
/obj/item/weapon/kitchen/mould/coin,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/coin
|
||||
byproduct = /obj/item/weapon/kitchen/mould/coin
|
||||
|
||||
/datum/recipe/candy/sucker
|
||||
reagents = list("sugar" = 10, "cornoil" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/kitchen/mould/loli,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/sucker
|
||||
byproduct = /obj/item/weapon/kitchen/mould/loli
|
||||
|
||||
// ***********************************************************
|
||||
// Cotton Candy Recipes (flavored)
|
||||
// ***********************************************************
|
||||
|
||||
/datum/recipe/candy/cotton/red
|
||||
reagents = list("cherryjelly" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/cotton/red
|
||||
|
||||
/datum/recipe/candy/cotton/blue
|
||||
reagents = list("berryjuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/cotton/blue
|
||||
|
||||
/datum/recipe/candy/cotton/poison
|
||||
reagents = list("poisonberryjuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/cotton/poison
|
||||
|
||||
/datum/recipe/candy/cotton/green
|
||||
reagents = list("limejuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/cotton/green
|
||||
|
||||
/datum/recipe/candy/cotton/yellow
|
||||
reagents = list("lemonjuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/cotton/yellow
|
||||
|
||||
/datum/recipe/candy/cotton/orange
|
||||
reagents = list("orangejuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/cotton/orange
|
||||
|
||||
/datum/recipe/candy/cotton/purple
|
||||
reagents = list("grapejuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/cotton/purple
|
||||
|
||||
/datum/recipe/candy/cotton/pink
|
||||
reagents = list("watermelonjuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/cotton/pink
|
||||
|
||||
/datum/recipe/candy/cotton/rainbow
|
||||
reagents = list()
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/red,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/blue,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/green,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/yellow,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/orange,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/purple,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/pink,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/cotton/rainbow
|
||||
|
||||
/datum/recipe/candy/cotton/rainbow2
|
||||
reagents = list()
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/red,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/poison,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/green,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/yellow,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/orange,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/purple,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/pink,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/cotton/bad_rainbow
|
||||
|
||||
// ***********************************************************
|
||||
// Gummy Bear Recipes (flavored)
|
||||
// ***********************************************************
|
||||
|
||||
/datum/recipe/candy/gummybear/red
|
||||
reagents = list("cherryjelly" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummybear/red
|
||||
|
||||
/datum/recipe/candy/gummybear/blue
|
||||
reagents = list("berryjuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummybear/blue
|
||||
|
||||
/datum/recipe/candy/gummybear/poison
|
||||
reagents = list("poisonberryjuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummybear/poison
|
||||
|
||||
/datum/recipe/candy/gummybear/green
|
||||
reagents = list("limejuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummybear/green
|
||||
|
||||
/datum/recipe/candy/gummybear/yellow
|
||||
reagents = list("lemonjuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummybear/yellow
|
||||
|
||||
/datum/recipe/candy/gummybear/orange
|
||||
reagents = list("orangejuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummybear/orange
|
||||
|
||||
/datum/recipe/candy/gummybear/purple
|
||||
reagents = list("grapejuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummybear/purple
|
||||
|
||||
/datum/recipe/candy/gummybear/wtf
|
||||
reagents = list("space_drugs" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummybear/wtf
|
||||
|
||||
/datum/recipe/candy/gummybear/wtf2
|
||||
reagents = list()
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummybear/wtf
|
||||
|
||||
// ***********************************************************
|
||||
// Gummy Worm Recipes (flavored)
|
||||
// ***********************************************************
|
||||
|
||||
/datum/recipe/candy/gummyworm/red
|
||||
reagents = list("cherryjelly" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm/red
|
||||
|
||||
/datum/recipe/candy/gummyworm/blue
|
||||
reagents = list("berryjuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm/blue
|
||||
|
||||
/datum/recipe/candy/gummyworm/poison
|
||||
reagents = list("poisonberryjuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm/poison
|
||||
|
||||
/datum/recipe/candy/gummyworm/green
|
||||
reagents = list("limejuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm/green
|
||||
|
||||
/datum/recipe/candy/gummyworm/yellow
|
||||
reagents = list("lemonjuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm/yellow
|
||||
|
||||
/datum/recipe/candy/gummyworm/orange
|
||||
reagents = list("orangejuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm/orange
|
||||
|
||||
/datum/recipe/candy/gummyworm/purple
|
||||
reagents = list("grapejuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm/purple
|
||||
|
||||
/datum/recipe/candy/gummyworm/wtf
|
||||
reagents = list("space_drugs" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm/wtf
|
||||
|
||||
/datum/recipe/candy/gummyworm/wtf2
|
||||
reagents = list()
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm/wtf
|
||||
|
||||
// ***********************************************************
|
||||
// Jelly Bean Recipes (flavored)
|
||||
// ***********************************************************
|
||||
|
||||
/datum/recipe/candy/jellybean/red
|
||||
reagents = list("cherryjelly" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/red
|
||||
|
||||
/datum/recipe/candy/jellybean/blue
|
||||
reagents = list("berryjuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/blue
|
||||
|
||||
/datum/recipe/candy/jellybean/poison
|
||||
reagents = list("poisonberryjuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/poison
|
||||
|
||||
/datum/recipe/candy/jellybean/green
|
||||
reagents = list("limejuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/green
|
||||
|
||||
/datum/recipe/candy/jellybean/yellow
|
||||
reagents = list("lemonjuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/yellow
|
||||
|
||||
/datum/recipe/candy/jellybean/orange
|
||||
reagents = list("orangejuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/orange
|
||||
|
||||
/datum/recipe/candy/jellybean/purple
|
||||
reagents = list("grapejuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/purple
|
||||
|
||||
/datum/recipe/candy/jellybean/chocolate
|
||||
reagents = list()
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/chocolate
|
||||
|
||||
/datum/recipe/candy/jellybean/cola
|
||||
reagents = list("cola" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/cola
|
||||
|
||||
/datum/recipe/candy/jellybean/popcorn
|
||||
reagents = list()
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/popcorn,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/popcorn
|
||||
|
||||
/datum/recipe/candy/jellybean/coffee
|
||||
reagents = list("coffee" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/cola
|
||||
|
||||
/datum/recipe/candy/jellybean/drgibb
|
||||
reagents = list("dr_gibb" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/cola
|
||||
|
||||
|
||||
/datum/recipe/candy/jellybean/wtf
|
||||
reagents = list("space_drugs" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/wtf
|
||||
|
||||
/datum/recipe/candy/jellybean/wtf2
|
||||
reagents = list()
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/wtf
|
||||
|
||||
// ***********************************************************
|
||||
// Candybar Recipes (flavored)
|
||||
// ***********************************************************
|
||||
|
||||
/datum/recipe/candy/candybar/caramel
|
||||
reagents = list()
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/caramel,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/candybar/caramel
|
||||
|
||||
/datum/recipe/candy/candybar/nougat
|
||||
reagents = list()
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/nougat,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/candybar/nougat
|
||||
|
||||
/datum/recipe/candy/candybar/toffee
|
||||
reagents = list()
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/toffee,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/candybar/toffee
|
||||
|
||||
/datum/recipe/candy/candybar/rice
|
||||
reagents = list("rice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/candybar/rice
|
||||
|
||||
/datum/recipe/candy/candybar/caramel_nougat
|
||||
reagents = list()
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/caramel,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/nougat,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/candybar/caramel_nougat
|
||||
@@ -0,0 +1,132 @@
|
||||
|
||||
// /datum/recipe/grill
|
||||
|
||||
/datum/recipe/grill/telebacon
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat,
|
||||
/obj/item/device/assembly/signaler
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/telebacon
|
||||
|
||||
|
||||
/datum/recipe/grill/syntitelebacon
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,
|
||||
/obj/item/device/assembly/signaler
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/telebacon
|
||||
|
||||
/datum/recipe/grill/friedegg
|
||||
reagents = list("sodiumchloride" = 1, "blackpepper" = 1)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/friedegg
|
||||
|
||||
/datum/recipe/grill/meatsteak
|
||||
reagents = list("sodiumchloride" = 1, "blackpepper" = 1)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/meatsteak
|
||||
|
||||
/datum/recipe/grill/syntisteak
|
||||
reagents = list("sodiumchloride" = 1, "blackpepper" = 1)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/meatsteak
|
||||
|
||||
/datum/recipe/grill/waffles
|
||||
reagents = list("sugar" = 10)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/waffles
|
||||
|
||||
/datum/recipe/grill/rofflewaffles
|
||||
reagents = list("psilocybin" = 5, "sugar" = 10)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/rofflewaffles
|
||||
|
||||
/datum/recipe/grill/grilledcheese
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/breadslice,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/breadslice,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/grilledcheese
|
||||
|
||||
/datum/recipe/grill/sausage
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatball,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cutlet,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sausage
|
||||
|
||||
/datum/recipe/grill/fishfingers
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/carpmeat,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/fishfingers
|
||||
|
||||
/datum/recipe/grill/cutlet
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/rawcutlet
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/cutlet
|
||||
|
||||
/datum/recipe/grill/omelette
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
/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/omelette
|
||||
|
||||
/datum/recipe/grill/wingfangchu
|
||||
reagents = list("soysauce" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/xenomeat,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/wingfangchu
|
||||
|
||||
/datum/recipe/grill/human/kabob
|
||||
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/grill/monkeykabob
|
||||
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/grill/syntikabob
|
||||
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/grill/tofukabob
|
||||
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
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,429 @@
|
||||
|
||||
// /datum/recipe/oven
|
||||
|
||||
/datum/recipe/oven/bun
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/bun
|
||||
|
||||
/datum/recipe/oven/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/oven/syntibread
|
||||
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/syntiflesh,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,
|
||||
/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/oven/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/oven/bananabread
|
||||
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,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/banana,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/bananabread
|
||||
|
||||
/datum/recipe/oven/muffin
|
||||
reagents = list("milk" = 5, "sugar" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/muffin
|
||||
|
||||
/datum/recipe/oven/carrotcake
|
||||
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,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/carrot,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/carrot,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/carrot,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/carrotcake
|
||||
|
||||
/datum/recipe/oven/cheesecake
|
||||
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,
|
||||
/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/oven/plaincake
|
||||
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/plaincake
|
||||
|
||||
/datum/recipe/oven/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/oven/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/oven/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/oven/pie
|
||||
reagents = list("sugar" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/banana,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/pie
|
||||
|
||||
/datum/recipe/oven/cherrypie
|
||||
reagents = list("sugar" = 10)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/cherries,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/cherrypie
|
||||
|
||||
/datum/recipe/oven/berryclafoutis
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/berries,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/berryclafoutis
|
||||
|
||||
/datum/recipe/oven/tofubread
|
||||
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/tofu,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tofu,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tofu,
|
||||
/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/tofubread
|
||||
|
||||
/datum/recipe/oven/loadedbakedpotato
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/potato,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/loadedbakedpotato
|
||||
|
||||
/datum/recipe/oven/cookie
|
||||
reagents = list("milk" = 5, "sugar" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/cookie
|
||||
|
||||
/datum/recipe/oven/fortunecookie
|
||||
reagents = list("sugar" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/doughslice,
|
||||
/obj/item/weapon/paper,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/fortunecookie
|
||||
make_food(var/obj/container as obj)
|
||||
var/obj/item/weapon/paper/paper = locate() in container
|
||||
paper.loc = null //prevent deletion
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/fortunecookie/being_cooked = ..(container)
|
||||
paper.loc = being_cooked
|
||||
being_cooked.trash = paper //so the paper is left behind as trash without special-snowflake(TM Nodrak) code ~carn
|
||||
return being_cooked
|
||||
check_items(var/obj/container as obj)
|
||||
. = ..()
|
||||
if (.)
|
||||
var/obj/item/weapon/paper/paper = locate() in container
|
||||
if (!paper.info)
|
||||
return 0
|
||||
return .
|
||||
|
||||
/datum/recipe/oven/pizzamargherita
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margherita
|
||||
|
||||
/datum/recipe/oven/meatpizza
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
|
||||
/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/grown/tomato,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza
|
||||
|
||||
/datum/recipe/oven/syntipizza
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza
|
||||
|
||||
/datum/recipe/oven/mushroompizza
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza
|
||||
|
||||
/datum/recipe/oven/vegetablepizza
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/eggplant,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/carrot,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/corn,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza
|
||||
|
||||
/datum/recipe/oven/amanita_pie
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/amanita_pie
|
||||
|
||||
/datum/recipe/oven/plump_pie
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/plumphelmet,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/plump_pie
|
||||
|
||||
/datum/recipe/oven/creamcheesebread
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/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/creamcheesebread
|
||||
|
||||
/datum/recipe/oven/baguette
|
||||
reagents = list("sodiumchloride" = 1, "blackpepper" = 1)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/baguette
|
||||
|
||||
/datum/recipe/oven/birthdaycake
|
||||
reagents = list("milk" = 5, "sugar" = 5)
|
||||
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/clothing/head/cakehat
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/birthdaycake
|
||||
|
||||
/datum/recipe/oven/bread
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/bread
|
||||
|
||||
/datum/recipe/oven/applepie
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/apple,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/applepie
|
||||
|
||||
/datum/recipe/oven/applecake
|
||||
reagents = list("milk" = 5, "sugar" = 5)
|
||||
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/grown/apple,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/apple,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/applecake
|
||||
|
||||
/datum/recipe/oven/orangecake
|
||||
reagents = list("milk" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/orange,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/orange,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/orangecake
|
||||
|
||||
/datum/recipe/oven/limecake
|
||||
reagents = list("milk" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/lime,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/lime,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/limecake
|
||||
|
||||
/datum/recipe/oven/lemoncake
|
||||
reagents = list("milk" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/lemon,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/lemon,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/lemoncake
|
||||
|
||||
/datum/recipe/oven/chocolatecake
|
||||
reagents = list("milk" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/chocolatecake
|
||||
|
||||
/datum/recipe/oven/braincake
|
||||
reagents = list("milk" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
/obj/item/brain
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/braincake
|
||||
|
||||
/datum/recipe/oven/pumpkinpie
|
||||
reagents = list("milk" = 5, "sugar" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pumpkinpie
|
||||
|
||||
/datum/recipe/oven/appletart
|
||||
reagents = list("sugar" = 5, "milk" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/goldapple,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/appletart
|
||||
|
||||
/datum/recipe/oven/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/oven/sugarcookie
|
||||
reagents = list("sugar" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sugarcookie
|
||||
|
||||
/datum/recipe/oven/flatbread
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/flatbread
|
||||
|
||||
@@ -2771,6 +2771,12 @@ datum
|
||||
description = "This juice is VERY sour."
|
||||
color = "#863333" // rgb: 175, 175, 0
|
||||
|
||||
grapejuice
|
||||
name = "Grape Juice"
|
||||
id = "grapejuice"
|
||||
description = "This juice is known to stain shirts."
|
||||
color = "#993399" // rgb: 153, 51, 153
|
||||
|
||||
banana
|
||||
name = "Banana Juice"
|
||||
id = "banana"
|
||||
|
||||
@@ -319,6 +319,7 @@
|
||||
reagents.add_reagent("tricordrazine", 8)
|
||||
bitesize = 3
|
||||
|
||||
/*
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy
|
||||
name = "candy"
|
||||
desc = "Nougat, love it or hate it."
|
||||
@@ -353,6 +354,7 @@
|
||||
reagents.add_reagent("nutriment", 4)
|
||||
reagents.add_reagent("sugar", 2)
|
||||
bitesize = 2
|
||||
*/
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/chips
|
||||
name = "chips"
|
||||
|
||||
@@ -0,0 +1,774 @@
|
||||
|
||||
|
||||
// ***********************************************************
|
||||
// Candy! Delicious and sugary candy!
|
||||
// Separated for organization and such
|
||||
// ***********************************************************
|
||||
|
||||
//Candy / Candy Ingredients
|
||||
//Subclass so we can pass on values
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/
|
||||
name = "generic candy"
|
||||
desc = "It's placeholder flavored. This shouldn't be seen."
|
||||
icon_state = "candy"
|
||||
New()
|
||||
..()
|
||||
|
||||
// ***********************************************************
|
||||
// Candy Ingredients / Flavorings / Byproduct
|
||||
// ***********************************************************
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar
|
||||
name = "Chocolate Bar"
|
||||
desc = "Such sweet, fattening food."
|
||||
icon_state = "chocolatebar"
|
||||
filling_color = "#7D5F46"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
reagents.add_reagent("sugar", 2)
|
||||
reagents.add_reagent("coco", 2)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/caramel
|
||||
name = "Caramel"
|
||||
desc = "Chewy and dense, yet it practically melts in your mouth!"
|
||||
icon_state = "caramel"
|
||||
filling_color = "#DB944D"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("cream", 2)
|
||||
reagents.add_reagent("sugar", 2)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/toffee
|
||||
name = "Toffee"
|
||||
desc = "A hard, brittle candy with a distinctive taste."
|
||||
icon_state = "toffee"
|
||||
filling_color = "#7D5F46"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 3)
|
||||
reagents.add_reagent("sugar", 3)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/nougat
|
||||
name = "Nougat"
|
||||
desc = "A soft, chewy candy commonly found in candybars."
|
||||
icon_state = "nougat"
|
||||
filling_color = "#7D5F46"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 3)
|
||||
reagents.add_reagent("sugar", 3)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/taffy
|
||||
name = "Saltwater Taffy"
|
||||
desc = "Old fashioned saltwater taffy. Chewy!"
|
||||
icon_state = "candy1"
|
||||
filling_color = "#7D5F46"
|
||||
|
||||
New()
|
||||
..()
|
||||
icon_state = pick("candy1", "candy2", "candy3", "candy4", "candy5")
|
||||
reagents.add_reagent("nutriment", 3)
|
||||
reagents.add_reagent("sugar", 3)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/fudge
|
||||
name = "Fudge"
|
||||
desc = "Chocolate fudge, a timeless classic treat."
|
||||
icon_state = "fudge"
|
||||
filling_color = "#7D5F46"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("cream", 3)
|
||||
reagents.add_reagent("sugar", 3)
|
||||
reagents.add_reagent("coco", 3)
|
||||
bitesize = 3
|
||||
|
||||
// ***********************************************************
|
||||
// Candy Products (Pre-existing)
|
||||
// ***********************************************************
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/donor
|
||||
name = "Donor Candy"
|
||||
desc = "A little treat for blood donors."
|
||||
trash = /obj/item/trash/candy
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 10)
|
||||
reagents.add_reagent("sugar", 3)
|
||||
bitesize = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy_corn
|
||||
name = "candy corn"
|
||||
desc = "It's a handful of candy corn. Cannot be stored in a detective's hat, alas."
|
||||
icon_state = "candy_corn"
|
||||
filling_color = "#FFFCB0"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 4)
|
||||
reagents.add_reagent("sugar", 2)
|
||||
bitesize = 2
|
||||
|
||||
// ***********************************************************
|
||||
// Candy Products (plain / unflavored)
|
||||
// ***********************************************************
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton
|
||||
name = "cotton candy"
|
||||
desc = "Light and fluffy, it's like eating a cloud made from sugar!"
|
||||
icon_state = "cottoncandy_plain"
|
||||
trash = /obj/item/weapon/c_tube
|
||||
filling_color = "#FFFFFF"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("sugar", 15)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar
|
||||
name = "candy"
|
||||
desc = "A chocolate candybar, wrapped in a bit of foil."
|
||||
icon_state = "candy"
|
||||
trash = /obj/item/trash/candy
|
||||
filling_color = "#7D5F46"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
reagents.add_reagent("sugar", 5)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candycane
|
||||
name = "candy cane"
|
||||
desc = "A festive mint candy cane."
|
||||
icon_state = "candycane"
|
||||
filling_color = "#F2F2F2"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("minttoxin", 1)
|
||||
reagents.add_reagent("sugar", 5)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear
|
||||
name = "gummy bear"
|
||||
desc = "A small edible bear. It's squishy and chewy!"
|
||||
icon_state = "gbear"
|
||||
filling_color = "#FFFFFF"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("sugar" = 10)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm
|
||||
name = "gummy bear"
|
||||
desc = "An edible worm, made from gelatin."
|
||||
icon_state = "gworm"
|
||||
filling_color = "#FFFFFF"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("sugar" = 10)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean
|
||||
name = "jelly bean"
|
||||
desc = "A candy bean, guarenteed to not give you gas."
|
||||
icon_state = "jbean"
|
||||
filling_color = "#FFFFFF"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("sugar" = 10)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jawbreaker
|
||||
name = "jawbreaker"
|
||||
desc = "An unbelievably hard candy. The name is fitting."
|
||||
icon_state = "jawbreaker"
|
||||
filling_color = "#ED0758"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("sugar" = 10)
|
||||
bitesize = 0.1 //this is gonna take a while, you'll be working at this all shift.
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cash
|
||||
name = "candy cash"
|
||||
desc = "Not legal tender. Tasty though."
|
||||
icon_state = "candy_cash"
|
||||
filling_color = "#302000"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
reagents.add_reagent("sugar", 2)
|
||||
reagents.add_reagent("coco", 2)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/coin
|
||||
name = "chocolate coin"
|
||||
desc = "Probably won't work in the vending machines."
|
||||
icon_state = "choc_coin"
|
||||
filling_color = "#302000"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
reagents.add_reagent("sugar", 2)
|
||||
reagents.add_reagent("coco", 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gum
|
||||
name = "bubblegum"
|
||||
desc = "Chewy!"
|
||||
icon_state = "bubblegum"
|
||||
trash = /obj/item/trash/gum
|
||||
filling_color = "#FF7495"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("sugar" = 5)
|
||||
bitesize = 0.2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/sucker
|
||||
name = "sucker"
|
||||
desc = "For being such a good sport!"
|
||||
icon_state = "sucker"
|
||||
filling_color = "#FFFFFF"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("sugar" = 10)
|
||||
bitesize = 1
|
||||
|
||||
// ***********************************************************
|
||||
// Gummy Bear Flavors
|
||||
// ***********************************************************
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear/red
|
||||
name = "gummy bear"
|
||||
desc = "A small edible bear. It's red!"
|
||||
icon_state = "gbear_red"
|
||||
filling_color = "#801E28"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("cherryjelly" = 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear/blue
|
||||
name = "gummy bear"
|
||||
desc = "A small edible bear. It's blue!"
|
||||
icon_state = "gbear_blue"
|
||||
filling_color = "#863333"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("berryjuice" = 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear/poison
|
||||
name = "gummy bear"
|
||||
desc = "A small edible bear. It's blue!"
|
||||
icon_state = "gbear_blue"
|
||||
filling_color = "#863353"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("poisonberryjuice" = 12)
|
||||
reagents.del_reagent("sugar")
|
||||
reagents.update_total()
|
||||
bitesize = 3
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear/green
|
||||
name = "gummy bear"
|
||||
desc = "A small edible bear. It's green!"
|
||||
icon_state = "gbear_green"
|
||||
filling_color = "#365E30"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("limejuice" = 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear/yellow
|
||||
name = "gummy bear"
|
||||
desc = "A small edible bear. It's yellow!"
|
||||
icon_state = "gbear_yellow"
|
||||
filling_color = "#863333"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("lemonjuice" = 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear/orange
|
||||
name = "gummy bear"
|
||||
desc = "A small edible bear. It's orange!"
|
||||
icon_state = "gbear_orange"
|
||||
filling_color = "#E78108"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("orangejuice" = 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear/purple
|
||||
name = "gummy bear"
|
||||
desc = "A small edible bear. It's purple!"
|
||||
icon_state = "gbear_purple"
|
||||
filling_color = "#993399"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("grapejuice" = 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear/wtf
|
||||
name = "gummy bear"
|
||||
desc = "A small bear. Wait... what?"
|
||||
icon_state = "gbear_wtf"
|
||||
filling_color = "#60A584"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("space_drugs" = 2)
|
||||
bitesize = 3
|
||||
|
||||
|
||||
// ***********************************************************
|
||||
// Gummy Worm Flavors
|
||||
// ***********************************************************
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm/red
|
||||
name = "gummy bear"
|
||||
desc = "An edible worm, made from gelatin. It's red!"
|
||||
icon_state = "gworm_red"
|
||||
filling_color = "#801E28"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("cherryjelly" = 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm/blue
|
||||
name = "gummy bear"
|
||||
desc = "An edible worm, made from gelatin. It's blue!"
|
||||
icon_state = "gworm_blue"
|
||||
filling_color = "#863333"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("berryjuice" = 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm/poison
|
||||
name = "gummy bear"
|
||||
desc = "An edible worm, made from gelatin. It's blue!"
|
||||
icon_state = "gworm_blue"
|
||||
filling_color = "#863353"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("poisonberryjuice" = 12)
|
||||
reagents.del_reagent("sugar")
|
||||
reagents.update_total()
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm/green
|
||||
name = "gummy bear"
|
||||
desc = "An edible worm, made from gelatin. It's green!"
|
||||
icon_state = "gworm_green"
|
||||
filling_color = "#365E30"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("limejuice" = 10)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm/yellow
|
||||
name = "gummy bear"
|
||||
desc = "An edible worm, made from gelatin. It's yellow!"
|
||||
icon_state = "gworm_yellow"
|
||||
filling_color = "#863333"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("lemonjuice" = 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm/orange
|
||||
name = "gummy bear"
|
||||
desc = "An edible worm, made from gelatin. It's orange!"
|
||||
icon_state = "gworm_orange"
|
||||
filling_color = "#E78108"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("orangejuice" = 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm/purple
|
||||
name = "gummy bear"
|
||||
desc = "An edible worm, made from gelatin. It's purple!"
|
||||
icon_state = "gworm_purple"
|
||||
filling_color = "#993399"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("grapejuice" = 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm/wtf
|
||||
name = "gummy bear"
|
||||
desc = "An edible worm. Did it just move?"
|
||||
icon_state = "gworm_wtf"
|
||||
filling_color = "#60A584"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("space_drugs" = 2)
|
||||
bitesize = 3
|
||||
|
||||
|
||||
// ***********************************************************
|
||||
// Jelly Bean Flavors
|
||||
// ***********************************************************
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/red
|
||||
name = "jelly bean"
|
||||
desc = "A candy bean, guarenteed to not give you gas. It's red!"
|
||||
icon_state = "jbean_red"
|
||||
filling_color = "#801E28"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("cherryjelly" = 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/blue
|
||||
name = "jelly bean"
|
||||
desc = "A candy bean, guarenteed to not give you gas. It's blue!"
|
||||
icon_state = "jbean_blue"
|
||||
filling_color = "#863333"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("berryjuice" = 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/poison
|
||||
name = "jelly bean"
|
||||
desc = "A candy bean, guarenteed to not give you gas. It's blue!"
|
||||
icon_state = "jbean_blue"
|
||||
filling_color = "#863353"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("poisonberryjuice" = 12)
|
||||
reagents.del_reagent("sugar")
|
||||
reagents.update_total()
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/green
|
||||
name = "jelly bean"
|
||||
desc = "A candy bean, guarenteed to not give you gas. It's green!"
|
||||
icon_state = "jbean_green"
|
||||
filling_color = "#365E30"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("limejuice" = 10)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/yellow
|
||||
name = "jelly bean"
|
||||
desc = "A candy bean, guarenteed to not give you gas. It's yellow!"
|
||||
icon_state = "jbean_yellow"
|
||||
filling_color = "#863333"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("lemonjuice" = 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/orange
|
||||
name = "jelly bean"
|
||||
desc = "A candy bean, guarenteed to not give you gas. It's orange!"
|
||||
icon_state = "jbean_orange"
|
||||
filling_color = "#E78108"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("orangejuice" = 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/purple
|
||||
name = "jelly bean"
|
||||
desc = "A candy bean, guarenteed to not give you gas. It's purple!"
|
||||
icon_state = "jbean_purple"
|
||||
filling_color = "#993399"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("grapejuice" = 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/chocolate
|
||||
name = "jelly bean"
|
||||
desc = "A candy bean, guarenteed to not give you gas. It's chocolate!"
|
||||
icon_state = "jbean_choc"
|
||||
filling_color = "#302000"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("coco" = 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/popcorn
|
||||
name = "jelly bean"
|
||||
desc = "A candy bean, guarenteed to not give you gas. It's popcorn flavored!"
|
||||
icon_state = "jbean_popcorn"
|
||||
filling_color = "#664330"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment" = 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/cola
|
||||
name = "jelly bean"
|
||||
desc = "A candy bean, guarenteed to not give you gas. It's Cola flavored!"
|
||||
icon_state = "jbean_cola"
|
||||
filling_color = "#102000"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("cola" = 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/drgibb
|
||||
name = "jelly bean"
|
||||
desc = "A candy bean, guarenteed to not give you gas. It's Dr. Gibb flavored!"
|
||||
icon_state = "jbean_cola"
|
||||
filling_color = "#102000"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("dr_gibb" = 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/coffee
|
||||
name = "jelly bean"
|
||||
desc = "A candy bean, guarenteed to not give you gas. It's Coffee flavored!"
|
||||
icon_state = "jbean_choc"
|
||||
filling_color = "#482000"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("coffee" = 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/wtf
|
||||
name = "jelly bean"
|
||||
desc = "A candy bean, guarenteed to not give you gas. You aren't sure what color it is."
|
||||
icon_state = "jbean_wtf"
|
||||
filling_color = "#60A584"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("space_drugs" = 2)
|
||||
bitesize = 3
|
||||
|
||||
// ***********************************************************
|
||||
// Cotton Candy Flavors
|
||||
// ***********************************************************
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/red
|
||||
name = "cotton candy"
|
||||
desc = "Light and fluffy, it's like eating a cloud made from sugar!"
|
||||
icon_state = "cottoncandy_plain"
|
||||
trash = /obj/item/weapon/c_tube
|
||||
filling_color = "#801E28"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("cherryjelly", 5)
|
||||
bitesize = 4
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/blue
|
||||
name = "cotton candy"
|
||||
desc = "Light and fluffy, it's like eating a cloud made from sugar!"
|
||||
icon_state = "cottoncandy_plain"
|
||||
trash = /obj/item/weapon/c_tube
|
||||
filling_color = "#863333"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("berryjuice", 5)
|
||||
bitesize = 4
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/poison
|
||||
name = "cotton candy"
|
||||
desc = "Light and fluffy, it's like eating a cloud made from sugar!"
|
||||
icon_state = "cottoncandy_plain"
|
||||
trash = /obj/item/weapon/c_tube
|
||||
filling_color = "#863353"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("poisonberryjuice", 20)
|
||||
reagents.del_reagent("sugar")
|
||||
reagents.update_total()
|
||||
bitesize = 4
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/green
|
||||
name = "cotton candy"
|
||||
desc = "Light and fluffy, it's like eating a cloud made from sugar!"
|
||||
icon_state = "cottoncandy_plain"
|
||||
trash = /obj/item/weapon/c_tube
|
||||
filling_color = "#365E30"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("limejuice", 5)
|
||||
bitesize = 4
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/yellow
|
||||
name = "cotton candy"
|
||||
desc = "Light and fluffy, it's like eating a cloud made from sugar!"
|
||||
icon_state = "cottoncandy_plain"
|
||||
trash = /obj/item/weapon/c_tube
|
||||
filling_color = "#863333"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("lemonjuice", 5)
|
||||
bitesize = 4
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/orange
|
||||
name = "cotton candy"
|
||||
desc = "Light and fluffy, it's like eating a cloud made from sugar!"
|
||||
icon_state = "cottoncandy_plain"
|
||||
trash = /obj/item/weapon/c_tube
|
||||
filling_color = "#E78108"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("orangejuice", 5)
|
||||
bitesize = 4
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/purple
|
||||
name = "cotton candy"
|
||||
desc = "Light and fluffy, it's like eating a cloud made from sugar!"
|
||||
icon_state = "cottoncandy_plain"
|
||||
trash = /obj/item/weapon/c_tube
|
||||
filling_color = "#993399"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("grapejuice", 5)
|
||||
bitesize = 4
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/pink
|
||||
name = "cotton candy"
|
||||
desc = "Light and fluffy, it's like eating a cloud made from sugar!"
|
||||
icon_state = "cottoncandy_plain"
|
||||
trash = /obj/item/weapon/c_tube
|
||||
filling_color = "#863333"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("watermelonjuice", 5)
|
||||
bitesize = 4
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/rainbow
|
||||
name = "cotton candy"
|
||||
desc = "Light and fluffy, it's like eating a cloud made from sugar!"
|
||||
icon_state = "cottoncandy_plain"
|
||||
trash = /obj/item/weapon/c_tube
|
||||
filling_color = "#C8A5DC"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("tricordrazine", 20)
|
||||
reagents.del_reagent("sugar")
|
||||
reagents.update_total()
|
||||
bitesize = 4
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/bad_rainbow
|
||||
name = "cotton candy"
|
||||
desc = "Light and fluffy, it's like eating a cloud made from sugar!"
|
||||
icon_state = "cottoncandy_plain"
|
||||
trash = /obj/item/weapon/c_tube
|
||||
filling_color = "#32127A"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("lexorin", 20)
|
||||
reagents.del_reagent("sugar")
|
||||
reagents.update_total()
|
||||
bitesize = 4
|
||||
|
||||
// ***********************************************************
|
||||
// Candybar Flavors
|
||||
// ***********************************************************
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar/rice
|
||||
name = "Asteroid Crunch Bar"
|
||||
desc = "Crunchy rice deposits in delicious chocolate! A favorite of miners galaxy-wide."
|
||||
icon_state = "asteroidcrunch"
|
||||
trash = /obj/item/trash/candy
|
||||
filling_color = "#7D5F46"
|
||||
|
||||
New()
|
||||
..()
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar/toffee
|
||||
name = "Yum-baton Bar"
|
||||
desc = "Chocolate and toffee in the shape of a baton. Security sure knows how to pound these down!"
|
||||
icon_state = "yumbaton"
|
||||
filling_color = "#7D5F46"
|
||||
|
||||
New()
|
||||
..()
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar/caramel
|
||||
name = "Malper Bar"
|
||||
desc = "A chocolate syringe filled with a caramel injection. Just what the doctor ordered!"
|
||||
icon_state = "malper"
|
||||
filling_color = "#7D5F46"
|
||||
|
||||
New()
|
||||
..()
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar/caramel_nougat
|
||||
name = "Toxins Test Bar"
|
||||
desc = "An explosive combination of chocolate, caramel, and nougat. Research has never been so tasty!"
|
||||
icon_state = "toxinstest"
|
||||
filling_color = "#7D5F46"
|
||||
|
||||
New()
|
||||
..()
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar/nougat
|
||||
name = "Tool-erone Bar"
|
||||
desc = "Chocolate-covered nougat, shaped like a wrench. Great for an engineer on the go!"
|
||||
icon_state = "toolerone"
|
||||
filling_color = "#7D5F46"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -10,7 +10,7 @@
|
||||
build_type = IMPRINTER
|
||||
materials = list("$glass" = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/thermomachine
|
||||
category = list ("Engineering Machinery")
|
||||
category = list ("Engineering Machinery")
|
||||
|
||||
/datum/design/smes
|
||||
name = "Machine Board (SMES)"
|
||||
@@ -21,7 +21,7 @@
|
||||
materials = list("$glass" = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/smes
|
||||
category = list ("Engineering Machinery")
|
||||
|
||||
|
||||
/datum/design/telepad
|
||||
name = "Machine Board (Telepad Board)"
|
||||
desc = "Allows for the construction of circuit boards used to build a Telepad."
|
||||
@@ -30,8 +30,8 @@
|
||||
build_type = IMPRINTER
|
||||
materials = list("$glass" = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/telesci_pad
|
||||
category = list ("Teleportation Machinery")
|
||||
|
||||
category = list ("Teleportation Machinery")
|
||||
|
||||
/datum/design/teleport_hub
|
||||
name = "Machine Board (Teleportation Hub)"
|
||||
desc = "Allows for the construction of circuit boards used to build a Teleportation Hub."
|
||||
@@ -40,8 +40,8 @@
|
||||
build_type = IMPRINTER
|
||||
materials = list("$glass" = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/teleporter_hub
|
||||
category = list ("Teleportation Machinery")
|
||||
|
||||
category = list ("Teleportation Machinery")
|
||||
|
||||
/datum/design/teleport_station
|
||||
name = "Machine Board (Teleportation Station)"
|
||||
desc = "Allows for the construction of circuit boards used to build a Teleporter Station."
|
||||
@@ -50,8 +50,8 @@
|
||||
build_type = IMPRINTER
|
||||
materials = list("$glass" = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/teleporter_station
|
||||
category = list ("Teleportation Machinery")
|
||||
|
||||
category = list ("Teleportation Machinery")
|
||||
|
||||
/datum/design/bodyscanner
|
||||
name = "Machine Board (Body Scanner)"
|
||||
desc = "Allows for the construction of circuit boards used to build a Body Scanner."
|
||||
@@ -71,7 +71,7 @@
|
||||
materials = list("$glass" = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/bodyscanner_console
|
||||
category = list("Medical Machinery")
|
||||
|
||||
|
||||
/datum/design/clonepod
|
||||
name = "Machine Board (Cloning Pod)"
|
||||
desc = "Allows for the construction of circuit boards used to build a Cloning Pod."
|
||||
@@ -81,7 +81,7 @@
|
||||
materials = list("$glass" = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/clonepod
|
||||
category = list("Medical Machinery")
|
||||
|
||||
|
||||
/datum/design/clonescanner
|
||||
name = "Machine Board (Cloning Scanner)"
|
||||
desc = "Allows for the construction of circuit boards used to build a Cloning Scanner."
|
||||
@@ -91,7 +91,7 @@
|
||||
materials = list("$glass" = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/clonescanner
|
||||
category = list("Medical Machinery")
|
||||
|
||||
|
||||
/datum/design/cryotube
|
||||
name = "Machine Board (Cryotube Board)"
|
||||
desc = "Allows for the construction of circuit boards used to build a Cryotube."
|
||||
@@ -101,7 +101,7 @@
|
||||
materials = list("$glass" = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/cryo_tube
|
||||
category = list("Medical Machinery")
|
||||
|
||||
|
||||
/datum/design/chem_dispenser
|
||||
name = "Machine Board (Portable Chem Dispenser)"
|
||||
desc = "The circuit board for a Portable Chem Dispenser."
|
||||
@@ -111,7 +111,7 @@
|
||||
materials = list("$glass" = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/chem_dispenser
|
||||
category = list("Medical Machinery")
|
||||
|
||||
|
||||
/datum/design/sleeper
|
||||
name = "Machine Board (Sleeper)"
|
||||
desc = "Allows for the construction of circuit boards used to build a Sleeper."
|
||||
@@ -131,7 +131,7 @@
|
||||
materials = list("$glass" = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/sleep_console
|
||||
category = list("Medical Machinery")
|
||||
|
||||
|
||||
/datum/design/biogenerator
|
||||
name = "Machine Board (Biogenerator)"
|
||||
desc = "The circuit board for a Biogenerator."
|
||||
@@ -160,8 +160,8 @@
|
||||
build_type = IMPRINTER
|
||||
materials = list("$glass" = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/autolathe
|
||||
category = list("Research Machinery")
|
||||
|
||||
category = list("Research Machinery")
|
||||
|
||||
/datum/design/circuit_imprinter
|
||||
name = "Machine Board (Circuit Imprinter)"
|
||||
desc = "The circuit board for a Circuit Imprinter."
|
||||
@@ -170,8 +170,8 @@
|
||||
build_type = IMPRINTER
|
||||
materials = list("$glass" = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/circuit_imprinter
|
||||
category = list("Research Machinery")
|
||||
|
||||
category = list("Research Machinery")
|
||||
|
||||
/datum/design/cyborgrecharger
|
||||
name = "Machine Board (Cyborg Recharger)"
|
||||
desc = "The circuit board for a Cyborg Recharger."
|
||||
@@ -181,7 +181,7 @@
|
||||
materials = list("$glass" = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/cyborgrecharger
|
||||
category = list("Research Machinery")
|
||||
|
||||
|
||||
/datum/design/destructive_analyzer
|
||||
name = "Machine Board (Destructive Analyzer)"
|
||||
desc = "The circuit board for a Destructive Analyzer."
|
||||
@@ -191,7 +191,7 @@
|
||||
materials = list("$glass" = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/destructive_analyzer
|
||||
category = list("Research Machinery")
|
||||
|
||||
|
||||
/datum/design/mechfab
|
||||
name = "Machine Board (Exosuit Fabricator)"
|
||||
desc = "The circuit board for an Exosuit Fabricator"
|
||||
@@ -201,7 +201,7 @@
|
||||
materials = list("$glass" = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/mechfab
|
||||
category = list("Research Machinery")
|
||||
|
||||
|
||||
/datum/design/mech_recharger
|
||||
name = "Machine Board (Mech Bay Recharger)"
|
||||
desc = "The circuit board for a Mech Bay Recharger."
|
||||
@@ -250,8 +250,38 @@
|
||||
build_type = IMPRINTER
|
||||
materials = list("$glass" = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/microwave
|
||||
category = list("Misc. Machinery")
|
||||
|
||||
category = list("Misc. Machinery")
|
||||
|
||||
/datum/design/oven
|
||||
name = "Machine Board (Oven)"
|
||||
desc = "The circuit board for an Oven."
|
||||
id = "oven"
|
||||
req_tech = list("programming" = 1, "plasmatech" = 1)
|
||||
build_type = IMPRINTER
|
||||
materials = list("$glass" = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/oven
|
||||
category = list("Misc. Machinery")
|
||||
|
||||
/datum/design/grill
|
||||
name = "Machine Board (Grill)"
|
||||
desc = "The circuit board for a Grill."
|
||||
id = "grill"
|
||||
req_tech = list("programming" = 1, "plasmatech" = 1)
|
||||
build_type = IMPRINTER
|
||||
materials = list("$glass" = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/grill
|
||||
category = list("Misc. Machinery")
|
||||
|
||||
/datum/design/candy_maker
|
||||
name = "Machine Board (Candy Maker)"
|
||||
desc = "The circuit board for a Candy Maker."
|
||||
id = "candymaker"
|
||||
req_tech = list("programming" = 2)
|
||||
build_type = IMPRINTER
|
||||
materials = list("$glass" = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/candy_maker
|
||||
category = list("Misc. Machinery")
|
||||
|
||||
/datum/design/orion_trail
|
||||
name = "Machine Board (Orion Trail Arcade Machine)"
|
||||
desc = "Allows for the construction of circuit boards used to build a new Orion Trail machine."
|
||||
@@ -261,7 +291,7 @@
|
||||
materials = list("$glass" = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/arcade/orion_trail
|
||||
category = list("Misc. Machinery")
|
||||
|
||||
|
||||
/datum/design/programmable
|
||||
name = "Machine Board (Programmable Unloader)"
|
||||
desc = "The circuit board for a Programmable Unloader."
|
||||
|
||||
Reference in New Issue
Block a user