This commit is contained in:
ZomgPonies
2015-03-09 23:51:01 -04:00
31 changed files with 3571 additions and 231 deletions
+7
View File
@@ -38,6 +38,7 @@
var/list/items // example: =list(/obj/item/weapon/crowbar, /obj/item/weapon/welder) // place /foo/bar before /foo
var/result //example: = /obj/item/weapon/reagent_containers/food/snacks/donut/normal
var/time = 100 // 1/10 part of second
var/byproduct //example: = /obj/item/weapon/kitchen/mould // byproduct to return, such as a mould or trash
/datum/recipe/proc/check_reagents(var/datum/reagents/avail_reagents) //1=precisely, 0=insufficiently, -1=superfluous
@@ -118,3 +119,9 @@
i_count = N_i
. = recipe
return .
/datum/recipe/proc/get_byproduct()
if(byproduct)
return byproduct
else
return null
+34 -1
View File
@@ -344,12 +344,45 @@ to destroy them and players will be able to make replacements.
build_path = /obj/machinery/microwave
board_type = "machine"
origin_tech = "programming=1"
frame_desc = "Requires 1 Micro Laser, 1 piece of cable and 1 Console Screen."
frame_desc = "Requires 1 Micro Laser, 2 pieces of cable and 1 Console Screen."
req_components = list(
/obj/item/weapon/stock_parts/micro_laser = 1,
/obj/item/stack/cable_coil = 2,
/obj/item/weapon/stock_parts/console_screen = 1)
/obj/item/weapon/circuitboard/oven
name = "circuit board (Oven)"
build_path = /obj/machinery/oven
board_type = "machine"
origin_tech = "programming=1;plasmatech=1"
frame_desc = "Requires 2 Micro Lasers, 5 pieces of cable and 1 Console Screen."
req_components = list(
/obj/item/weapon/stock_parts/micro_laser = 2,
/obj/item/stack/cable_coil = 5,
/obj/item/weapon/stock_parts/console_screen = 1)
/obj/item/weapon/circuitboard/grill
name = "circuit board (Grill)"
build_path = /obj/machinery/grill
board_type = "machine"
origin_tech = "programming=1;plasmatech=1"
frame_desc = "Requires 2 Micro Lasers, 5 pieces of cable and 1 Console Screen."
req_components = list(
/obj/item/weapon/stock_parts/micro_laser = 2,
/obj/item/stack/cable_coil = 5,
/obj/item/weapon/stock_parts/console_screen = 1)
/obj/item/weapon/circuitboard/candy_maker
name = "circuit board (Candy Maker)"
build_path = /obj/machinery/candy_maker
board_type = "machine"
origin_tech = "programming=2"
frame_desc = "Requires 1 Manipulator, 5 pieces of cable and 1 Console Screen."
req_components = list(
/obj/item/weapon/stock_parts/manipulator = 1,
/obj/item/stack/cable_coil = 5,
/obj/item/weapon/stock_parts/console_screen = 1)
/obj/item/weapon/circuitboard/chem_dispenser
name = "circuit board (Portable Chem Dispenser)"
build_path = /obj/machinery/chem_dispenser/constructable
+2 -2
View File
@@ -32,11 +32,11 @@
reagents.my_atom = src
if (!available_recipes)
available_recipes = new
for (var/type in (typesof(/datum/recipe)-/datum/recipe))
for (var/type in (typesof(/datum/recipe/microwave)-/datum/recipe/microwave))
available_recipes+= new type
acceptable_items = new
acceptable_reagents = new
for (var/datum/recipe/recipe in available_recipes)
for (var/datum/recipe/microwave/recipe in available_recipes)
for (var/item in recipe.items)
acceptable_items |= item
for (var/reagent in recipe.reagents)
+12 -2
View File
@@ -90,6 +90,14 @@
/obj/machinery/poolcontroller/proc/updateMobs()
for(var/turf/simulated/floor/beach/water/W in linkedturfs) //Check for pool-turfs linked to the controller.
for(var/mob/M in W) //Check for mobs in the linked pool-turfs.
//Sanity checks, don't affect robuts, AI eyes, and observers
if(isAIEye(M))
return
if(issilicon(M))
return
if(isobserver(M))
return
//End sanity checks, go on
switch(temperature) //Apply different effects based on what the temperature is set to.
if("scalding") //Burn the mob.
M.bodytemperature = min(500, M.bodytemperature + 35) //heat mob at 35k(elvin) per cycle
@@ -106,12 +114,14 @@
if("warm") //Gently warm the mob.
M.bodytemperature = min(330, M.bodytemperature + 10) //Heats up mobs to just over normal, not enough to burn
M << "<span class='warning'>The water is quite warm.</span>" //Inform the mob it's warm water.
if(prob(50)) //inform the mob of warm water half the time
M << "<span class='warning'>The water is quite warm.</span>" //Inform the mob it's warm water.
return
if("cool") //Gently cool the mob.
M.bodytemperature = max(290, M.bodytemperature - 10) //Cools mobs to just below normal, not enough to burn
M << "<span class='warning'>The water is chilly.</span>" //Inform the mob it's chilly water.
if(prob(50)) //inform the mob of cold water half the time
M << "<span class='warning'>The water is chilly.</span>" //Inform the mob it's chilly water.
return
/obj/machinery/poolcontroller/proc/miston() //Spawn /obj/effect/mist (from the shower) on all linked pool tiles
+12 -4
View File
@@ -786,11 +786,11 @@
product_slogans = "Try our new nougat bar!;Twice the calories for half the price!"
product_ads = "The healthiest!;Award-winning chocolate bars!;Mmm! So good!;Oh my god it's so juicy!;Have a snack.;Snacks are good for you!;Have some more Getmore!;Best quality snacks straight from mars.;We love chocolate!;Try our new jerky!"
icon_state = "snack"
products = list(/obj/item/weapon/reagent_containers/food/snacks/candy = 6,/obj/item/weapon/reagent_containers/food/drinks/dry_ramen = 6,/obj/item/weapon/reagent_containers/food/snacks/chips =6,
products = list(/obj/item/weapon/reagent_containers/food/snacks/candy/candybar = 6,/obj/item/weapon/reagent_containers/food/drinks/dry_ramen = 6,/obj/item/weapon/reagent_containers/food/snacks/chips =6,
/obj/item/weapon/reagent_containers/food/snacks/sosjerky = 6,/obj/item/weapon/reagent_containers/food/snacks/no_raisin = 6,/obj/item/weapon/reagent_containers/food/snacks/spacetwinkie = 6,
/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers = 6)
contraband = list(/obj/item/weapon/reagent_containers/food/snacks/syndicake = 6)
prices = list(/obj/item/weapon/reagent_containers/food/snacks/candy = 20,/obj/item/weapon/reagent_containers/food/drinks/dry_ramen = 30,/obj/item/weapon/reagent_containers/food/snacks/chips =25,
prices = list(/obj/item/weapon/reagent_containers/food/snacks/candy/candybar = 20,/obj/item/weapon/reagent_containers/food/drinks/dry_ramen = 30,/obj/item/weapon/reagent_containers/food/snacks/chips =25,
/obj/item/weapon/reagent_containers/food/snacks/sosjerky = 30,/obj/item/weapon/reagent_containers/food/snacks/no_raisin = 20,/obj/item/weapon/reagent_containers/food/snacks/spacetwinkie = 30,
/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers = 25)
refill_canister = /obj/item/weapon/vending_refill/snack
@@ -1057,7 +1057,15 @@
desc = "A kitchen and restaurant equipment vendor"
product_ads = "Mm, food stuffs!;Food and food accessories.;Get your plates!;You like forks?;I like forks.;Woo, utensils.;You don't really need these..."
icon_state = "dinnerware"
products = list(/obj/item/weapon/storage/bag/tray = 8,/obj/item/weapon/kitchen/utensil/fork = 6,/obj/item/weapon/kitchenknife = 3,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass = 8,/obj/item/clothing/suit/chef/classic = 2,/obj/item/weapon/reagent_containers/food/condiment/pack/ketchup = 5,/obj/item/weapon/reagent_containers/food/condiment/pack/hotsauce = 5)
products = list(/obj/item/weapon/storage/bag/tray = 8,/obj/item/weapon/kitchen/utensil/fork = 6,
/obj/item/weapon/kitchenknife = 3,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass = 8,
/obj/item/clothing/suit/chef/classic = 2,
/obj/item/weapon/reagent_containers/food/condiment/pack/ketchup = 5,
/obj/item/weapon/reagent_containers/food/condiment/pack/hotsauce = 5,
/obj/item/weapon/kitchen/mould/bear = 1, /obj/item/weapon/kitchen/mould/worm = 1,
/obj/item/weapon/kitchen/mould/bean = 1, /obj/item/weapon/kitchen/mould/ball = 1,
/obj/item/weapon/kitchen/mould/cane = 1, /obj/item/weapon/kitchen/mould/cash = 1,
/obj/item/weapon/kitchen/mould/coin = 1, /obj/item/weapon/kitchen/mould/loli = 1)
contraband = list(/obj/item/weapon/kitchen/utensil/spoon = 2,/obj/item/weapon/kitchen/utensil/knife = 2,/obj/item/weapon/kitchen/rollingpin = 2, /obj/item/weapon/butch = 2)
/obj/machinery/vending/sovietsoda
@@ -1240,4 +1248,4 @@
/obj/item/weapon/c_tube = 10,/obj/item/weapon/pen = 5,/obj/item/weapon/pen/blue = 5,
/obj/item/weapon/pen/red = 5)
contraband = list(/obj/item/toy/crayon/mime = 1,/obj/item/toy/crayon/rainbow = 1)
premium = list(/obj/item/weapon/contraband/poster = 5)
premium = list(/obj/item/weapon/contraband/poster = 5)
@@ -47,6 +47,14 @@ var/global/list/datum/stack_recipe/plastic_recipes = list ( \
new/datum/stack_recipe("plastic spoon", /obj/item/weapon/kitchen/utensil/pspoon, 1, on_floor = 1), \
new/datum/stack_recipe("plastic knife", /obj/item/weapon/kitchen/utensil/pknife, 1, on_floor = 1), \
new/datum/stack_recipe("plastic bag", /obj/item/weapon/storage/bag/plasticbag, 3, on_floor = 1), \
new/datum/stack_recipe("bear mould", /obj/item/weapon/kitchen/mould/bear, 1, on_floor = 1), \
new/datum/stack_recipe("worm mould", /obj/item/weapon/kitchen/mould/worm, 1, on_floor = 1), \
new/datum/stack_recipe("bean mould", /obj/item/weapon/kitchen/mould/bean, 1, on_floor = 1), \
new/datum/stack_recipe("ball mould", /obj/item/weapon/kitchen/mould/ball, 1, on_floor = 1), \
new/datum/stack_recipe("cane mould", /obj/item/weapon/kitchen/mould/cane, 1, on_floor = 1), \
new/datum/stack_recipe("cash mould", /obj/item/weapon/kitchen/mould/cash, 1, on_floor = 1), \
new/datum/stack_recipe("coin mould", /obj/item/weapon/kitchen/mould/coin, 1, on_floor = 1), \
new/datum/stack_recipe("sucker mould", /obj/item/weapon/kitchen/mould/loli, 1, on_floor = 1), \
)
var/global/list/datum/stack_recipe/clown_recipes = list ( \
@@ -81,7 +81,7 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \
throwforce = 10.0
flags = CONDUCT
origin_tech = "materials=1"
/obj/item/stack/sheet/metal/full/New()
..()
amount = 50
@@ -126,7 +126,7 @@ var/global/list/datum/stack_recipe/plasteel_recipes = list ( \
/obj/item/stack/sheet/plasteel/New(var/loc, var/amount=null)
recipes = plasteel_recipes
return ..()
/obj/item/stack/sheet/plasteel/full/New(var/loc, var/amount=null)
amount = 50
..(loc, amount)
@@ -188,6 +188,7 @@ var/global/list/datum/stack_recipe/cardboard_recipes = list ( \
new/datum/stack_recipe("cardborg helmet", /obj/item/clothing/head/cardborg), \
new/datum/stack_recipe("pizza box", /obj/item/pizzabox), \
new/datum/stack_recipe("folder", /obj/item/weapon/folder), \
new/datum/stack_recipe("cardboard tube", /obj/item/weapon/c_tube), \
)
/obj/item/stack/sheet/cardboard //BubbleWrap
+4
View File
@@ -56,6 +56,10 @@
can
name = "crushed can"
icon_state = "cola"
gum
name = "chewed gum"
desc = "NOT free candy."
icon_state = "gum"
/obj/item/trash/attack(mob/M as mob, mob/living/user as mob)
return
+57 -1
View File
@@ -7,6 +7,7 @@
* Kitchen knives
* Butcher's cleaver
* Rolling Pins
* Candy Moulds
*/
/obj/item/weapon/kitchen
@@ -214,4 +215,59 @@
w_class = 3.0
attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked")
/* Trays moved to /obj/item/weapon/storage/bag */
/* Trays moved to /obj/item/weapon/storage/bag */
/*
* Candy Moulds
*/
/obj/item/weapon/kitchen/mould
name = "generic candy mould"
desc = "You aren't sure what it's supposed to be."
icon_state = "mould"
force = 5
throwforce = 5
throw_speed = 3
throw_range = 3
w_class = 2.0
attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "smashed")
/obj/item/weapon/kitchen/mould/bear
name = "bear-shaped candy mould"
desc = "It has the shape of a small bear imprinted into it."
icon_state = "mould_bear"
/obj/item/weapon/kitchen/mould/worm
name = "worm-shaped candy mould"
desc = "It has the shape of a worm imprinted into it."
icon_state = "mould_worm"
/obj/item/weapon/kitchen/mould/bean
name = "bean-shaped candy mould"
desc = "It has the shape of a bean imprinted into it."
icon_state = "mould_bean"
/obj/item/weapon/kitchen/mould/ball
name = "ball-shaped candy mould"
desc = "It has a small sphere imprinted into it."
icon_state = "mould_ball"
/obj/item/weapon/kitchen/mould/cane
name = "cane-shaped candy mould"
desc = "It has the shape of a cane imprinted into it."
icon_state = "mould_cane"
/obj/item/weapon/kitchen/mould/cash
name = "cash-shaped candy mould"
desc = "It has the shape and design of fake money imprinted into it."
icon_state = "mould_cash"
/obj/item/weapon/kitchen/mould/coin
name = "coin-shaped candy mould"
desc = "It has the shape of a coin imprinted into it."
icon_state = "mould_coin"
/obj/item/weapon/kitchen/mould/loli
name = "sucker mould"
desc = "It has the shape of a sucker imprinted into it."
icon_state = "mould_loli"
+18 -15
View File
@@ -9,7 +9,7 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set
"changeling" = IS_MODE_COMPILED("changeling"), // 4 / 3
"wizard" = IS_MODE_COMPILED("wizard"), // 8 / 4
"malf AI" = IS_MODE_COMPILED("malfunction"), // 16 / 5
"revolutionary" = IS_MODE_COMPILED("revolution"), // 32 / 6
"revolutionary" = IS_MODE_COMPILED("revolution"), // 32 / 6
"alien" = 1, // 62 / 7
"pAI" = 1, // 128 / 8
"cultist" = IS_MODE_COMPILED("cult"), // 256 / 9
@@ -20,9 +20,9 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set
"blob" = IS_MODE_COMPILED("blob") // 8192 / 14
)
var/global/list/special_role_times = list( //minimum age (in days) for accounts to play these roles
num2text(BE_PAI) = 0,
num2text(BE_TRAITOR) = 7,
num2text(BE_CHANGELING) = 14,
num2text(BE_PAI) = 0,
num2text(BE_TRAITOR) = 7,
num2text(BE_CHANGELING) = 14,
num2text(BE_WIZARD) = 14,
num2text(BE_REV) = 14,
num2text(BE_VAMPIRE) = 14,
@@ -30,8 +30,8 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
num2text(BE_OPERATIVE) = 21,
num2text(BE_CULTIST) = 21,
num2text(BE_RAIDER) = 21,
num2text(BE_ALIEN) = 21,
num2text(BE_NINJA) = 21,
num2text(BE_ALIEN) = 21,
num2text(BE_NINJA) = 21,
num2text(BE_MUTINEER) = 21,
num2text(BE_MALF) = 30
)
@@ -53,9 +53,9 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
var/minimal_player_age_antag = special_role_times[num2text(role)]
if(!isnum(minimal_player_age_antag))
return 0
return max(0, minimal_player_age_antag - C.player_age)
/proc/check_client_age(client/C, var/days) // If days isn't provided, returns the age of the client. If it is provided, it returns the days until the player_age is equal to or greater than the days variable
if(!days)
return C.player_age
@@ -966,9 +966,10 @@ datum/preferences
if("age")
age = rand(AGE_MIN, AGE_MAX)
if("hair")
r_hair = rand(0,255)
g_hair = rand(0,255)
b_hair = rand(0,255)
if(species == "Human" || species == "Unathi" || species == "Tajaran" || species == "Skrell" || species == "Machine")
r_hair = rand(0,255)
g_hair = rand(0,255)
b_hair = rand(0,255)
if("h_style")
h_style = random_hair_style(gender, species)
if("facial")
@@ -988,11 +989,13 @@ datum/preferences
g_eyes = rand(0,255)
b_eyes = rand(0,255)
if("s_tone")
s_tone = random_skin_tone()
if(species == "Human")
s_tone = random_skin_tone()
if("s_color")
r_skin = rand(0,255)
g_skin = rand(0,255)
b_skin = rand(0,255)
if(species == "Unathi" || species == "Tajaran" || species == "Skrell")
r_skin = rand(0,255)
g_skin = rand(0,255)
b_skin = rand(0,255)
if("bag")
backbag = rand(1,4)
/*if("skin_style")
+427
View File
@@ -0,0 +1,427 @@
/obj/machinery/candy_maker
name = "candy machine"
desc = "The stuff of nightmares for a dentist."
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
+424
View File
@@ -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
+424
View File
@@ -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
+512
View File
@@ -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
+132
View File
@@ -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
+429
View File
@@ -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
@@ -6,13 +6,16 @@ datum/preferences
gender = MALE
else
gender = FEMALE
s_tone = random_skin_tone()
if(species == "Human")
s_tone = random_skin_tone()
h_style = random_hair_style(gender, species)
f_style = random_facial_hair_style(gender, species)
randomize_hair_color("hair")
if(species == "Human" || species == "Unathi" || species == "Tajaran" || species == "Skrell" || species == "Machine")
randomize_hair_color("hair")
randomize_hair_color("facial")
randomize_eyes_color()
randomize_skin_color()
if(species == "Unathi" || species == "Tajaran" || species == "Skrell")
randomize_skin_color()
underwear = rand(1,underwear_m.len)
undershirt = rand(1,undershirt_t.len)
backbag = 2
@@ -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."
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

+7 -7
View File
@@ -15,13 +15,13 @@
"ao" = (/obj/item/clothing/suit/space/syndicate/orange,/obj/item/clothing/head/helmet/space/syndicate/orange,/turf/simulated/floor/airless,/area/awaymission/challenge/start)
"ap" = (/obj/item/weapon/gun/energy/laser/retro,/turf/simulated/floor/airless,/area/awaymission/challenge/start)
"aq" = (/obj/item/stack/rods,/turf/simulated/floor,/area/awaymission/challenge/start)
"ar" = (/obj/effect/decal/cleanable/oil,/turf/simulated/floor/airless,/area/awaymission/challenge/start)
"ar" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/airless,/area/awaymission/challenge/start)
"as" = (/obj/effect/decal/remains/robot,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/awaymission/challenge/start)
"at" = (/obj/structure/girder,/turf/simulated/floor/plating,/area/awaymission/challenge/start)
"au" = (/turf/simulated/wall,/area/awaymission/challenge/start)
"av" = (/turf/simulated/floor/airless{icon_state = "damaged4"},/area/awaymission/challenge/start)
"aw" = (/obj/item/stack/rods,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/awaymission/challenge/start)
"ax" = (/obj/effect/decal/cleanable/oil,/mob/living/simple_animal/hostile/syndicate,/turf/simulated/floor/plating,/area/awaymission/challenge/start)
"ax" = (/obj/effect/decal/cleanable/blood/oil,/mob/living/simple_animal/hostile/syndicate,/turf/simulated/floor/plating,/area/awaymission/challenge/start)
"ay" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/airless,/area/awaymission/challenge/start)
"az" = (/obj/item/clothing/suit/space/syndicate/black,/obj/item/clothing/head/helmet/space/syndicate/black,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/awaymission/challenge/start)
"aA" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/challenge/main)
@@ -35,12 +35,12 @@
"aI" = (/obj/machinery/power/emitter{active = 1; active_power_usage = 0; anchored = 1; dir = 2; idle_power_usage = 0; locked = 1; name = "Energy Cannon"; req_access_txt = "100"; state = 2; use_power = 0},/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main)
"aJ" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/airless,/area/awaymission/challenge/main)
"aK" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/airless,/area/awaymission/challenge/main)
"aL" = (/obj/effect/decal/cleanable/oil,/turf/simulated/floor/airless,/area/awaymission/challenge/main)
"aL" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/airless,/area/awaymission/challenge/main)
"aM" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/airless,/area/awaymission/challenge/main)
"aN" = (/obj/effect/decal/cleanable/oil,/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main)
"aN" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main)
"aO" = (/obj/structure/window/reinforced,/obj/machinery/power/emitter{active = 1; active_power_usage = 0; anchored = 1; dir = 2; idle_power_usage = 0; locked = 1; name = "Energy Cannon"; req_access_txt = "100"; state = 2; use_power = 0},/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main)
"aP" = (/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main)
"aQ" = (/obj/structure/window/reinforced,/obj/effect/decal/cleanable/oil,/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main)
"aQ" = (/obj/structure/window/reinforced,/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main)
"aR" = (/turf/simulated/floor{icon_state = "warning"},/area/awaymission/challenge/main)
"aS" = (/obj/machinery/power/emitter{active = 1; active_power_usage = 0; anchored = 1; dir = 4; idle_power_usage = 0; locked = 1; name = "Energy Cannon"; req_access_txt = "100"; state = 2; use_power = 0},/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main)
"aT" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main)
@@ -68,7 +68,7 @@
"bp" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plating,/area/awaymission/challenge/main)
"bq" = (/obj/machinery/porta_turret{dir = 8; emagged = 1; installation = /obj/item/weapon/gun/energy/lasercannon},/turf/simulated/floor/plating,/area/awaymission/challenge/main)
"br" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/awaymission/challenge/main)
"bs" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/decal/cleanable/oil,/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main)
"bs" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main)
"bt" = (/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor/airless,/area/awaymission/challenge/main)
"bu" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating{tag = "icon-warnplate (SOUTHWEST)"; icon_state = "warnplate"; dir = 10},/area/awaymission/challenge/main)
"bv" = (/obj/structure/window/reinforced,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (NORTH)"},/area/awaymission/challenge/main)
@@ -77,7 +77,7 @@
"by" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "warning"},/area/awaymission/challenge/main)
"bz" = (/obj/machinery/light{dir = 4},/turf/simulated/floor{icon_state = "warning"},/area/awaymission/challenge/main)
"bA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main)
"bB" = (/obj/item/clothing/gloves/yellow,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/awaymission/challenge/main)
"bB" = (/obj/item/clothing/gloves/color/yellow,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/awaymission/challenge/main)
"bC" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/power/emitter{active = 1; active_power_usage = 0; anchored = 1; dir = 8; idle_power_usage = 0; locked = 1; name = "Energy Cannon"; req_access_txt = "100"; state = 2; use_power = 0},/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main)
"bD" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/power/emitter{active = 1; active_power_usage = 0; anchored = 1; dir = 4; idle_power_usage = 0; locked = 1; name = "Energy Cannon"; req_access_txt = "100"; state = 2; use_power = 0},/turf/simulated/floor/plating/airless,/area/awaymission/challenge/main)
"bE" = (/obj/item/weapon/storage/firstaid/fire,/turf/simulated/floor/airless,/area/awaymission/challenge/main)
+2 -2
View File
@@ -92,7 +92,7 @@
"bN" = (/obj/machinery/door/airlock/glass{name = "Break Room"},/turf/simulated/floor{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"bO" = (/obj/structure/grille,/obj/structure/window/full/basic,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"bP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/highsecurity{icon_state = "door_locked"; locked = 1; name = "Gateway"; req_access_txt = "150"},/turf/simulated/floor{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"bQ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/clothing/gloves/yellow,/obj/item/device/multitool,/turf/simulated/floor/plating{dir = 9; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"bQ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/clothing/gloves/color/yellow,/obj/item/device/multitool,/turf/simulated/floor/plating{dir = 9; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"bR" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/computer3frame,/turf/simulated/floor/plating{dir = 5; heat_capacity = 1e+006; icon_state = "warnplate"; tag = "icon-warnplate (NORTHEAST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"bS" = (/obj/machinery/power/smes{charge = 0; chargelevel = 10000; charging = 0; output = 15000; online = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"bT" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/alarm{frequency = 1439; locked = 1; pixel_y = 23; req_access = "150"},/turf/simulated/floor/plating{dir = 9; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
@@ -334,7 +334,7 @@
"gv" = (/obj/structure/disposalpipe/segment{desc = "An underfloor disposal pipe. This one has been applied with an acid-proof coating."; dir = 2; icon_state = "pipe-c"; name = "Acid-Proof disposal pipe"; unacidable = 1},/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"gw" = (/obj/structure/table,/obj/effect/decal/cleanable/dirt,/obj/machinery/cell_charger,/obj/item/weapon/stock_parts/cell/high,/obj/item/device/radio/off,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"gx" = (/obj/structure/table,/obj/item/weapon/paper{info = "Ivan Volodin Stories:<br><br>Entry Won - 28/05/2554:<br>Hello. I am Crazy Ivan. Boss say I must write. I do good job fixing outpost. Is very good job. Much better than mines. Many nice people. I cause no trouble.<br><br>Entry Too - 05/06/2554:<br>I am finding problem with Booze-O-Mat. Is not problem. I solve very easy. Use yellow tool to make purple light go off. I am good engineer! Bartender will be very happy.<br><br>Entry Tree - 08/06/2554:<br>Bartender is not happy. Security man is not happy. Cannot feel legs, is very cold in freezer. Is not good. Table is jammed into door, have no tools. Is very not good. But, on bright side, found meat! Shall chew to keep spirits up.<br><br>Entry Fore - 12/06/2554:<br>Big nasty purple bug looked at me today. Make nervous. Blue wall wire can be broken, then bad thing happens. Very very bad thing. Man in orange spacesuit wave at me today too. He seem nice. Wonder who was?<br><br>Entry Fiv - 15/06/2554:<br>I eat cornflakes today. Is good day. Sun shine for a while. Was nice. I also take ride on disposals chute. Was fun, but tiny. Get clog out of pipes, was vodka bottle. Is empty. This make many sads.<br><br>Entry Sex: 19/06/2554:<br>Purple bugs jumpy today. When waved, get hiss. Maybe very bad. Maybe just ill. Do not know. Is science problem, is not engineer problem. I eat sandwich. Is glorious job. Wish to never end."; name = "Personal Log - Ivan Volodin"},/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"gy" = (/obj/machinery/light/small,/obj/structure/closet/toolcloset,/obj/item/clothing/gloves/yellow,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"gy" = (/obj/machinery/light/small,/obj/structure/closet/toolcloset,/obj/item/clothing/gloves/color/yellow,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"gz" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"gA" = (/obj/structure/cable,/obj/structure/computer3frame,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"gB" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/newscaster/security_unit{pixel_x = -30; pixel_y = 0},/turf/simulated/floor{dir = 8; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+2 -2
View File
@@ -865,7 +865,7 @@
"qG" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 5},/turf/simulated/floor{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"qH" = (/obj/structure/closet/secure_closet{icon_broken = "secureengbroken"; icon_closed = "secureeng"; icon_locked = "secureeng1"; icon_off = "secureengoff"; icon_opened = "secureengopen"; icon_state = "secureeng1"; locked = 1; name = "engineer's locker"; req_access_txt = "201"},/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/backpack/satchel_eng,/obj/item/clothing/suit/storage/hazardvest,/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/meson,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor{dir = 1; heat_capacity = 1e+006; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"qI" = (/obj/structure/window/reinforced{dir = 4; layer = 2.9},/obj/structure/closet/secure_closet/engineering_personal{req_access = list(201)},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor{dir = 1; heat_capacity = 1e+006; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"qJ" = (/obj/machinery/light{dir = 1},/obj/machinery/camera{c_tag = "Atmospherics"; dir = 2; network = list("UO45")},/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/machinery/firealarm{dir = 2; pixel_x = 0; pixel_y = 24},/obj/item/device/multitool,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 10},/turf/simulated/floor{dir = 1; heat_capacity = 1e+006; icon_state = "yellowcorner"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"qJ" = (/obj/machinery/light{dir = 1},/obj/machinery/camera{c_tag = "Atmospherics"; dir = 2; network = list("UO45")},/obj/structure/table,/obj/item/clothing/gloves/color/yellow,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/machinery/firealarm{dir = 2; pixel_x = 0; pixel_y = 24},/obj/item/device/multitool,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 10},/turf/simulated/floor{dir = 1; heat_capacity = 1e+006; icon_state = "yellowcorner"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"qK" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1443; input_tag = "UO45_air_in"; name = "Mixed Air Supply Control"; output_tag = "UO45_air_out"; pressure_setting = 2000; sensors = list("UO45_air_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor{dir = 9; heat_capacity = 1e+006; icon_state = "arrival"; tag = "icon-arrival (NORTHWEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"qL" = (/obj/machinery/atmospherics/trinary/mixer{dir = 1; node1_concentration = 0.8; node2_concentration = 0.2; on = 1; pixel_x = 0; pixel_y = 0; req_access = null; target_pressure = 4500},/turf/simulated/floor{dir = 5; heat_capacity = 1e+006; icon_state = "arrival"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"qM" = (/obj/machinery/portable_atmospherics/scrubber,/obj/machinery/atmospherics/pipe/simple/visible{dir = 10},/turf/simulated/floor{dir = 2; heat_capacity = 1e+006; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
@@ -1192,7 +1192,7 @@
"wV" = (/obj/machinery/light/small,/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wW" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/structure/closet/secure_closet/miner{req_access = list(201)},/turf/simulated/floor{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wY" = (/obj/structure/cable,/obj/machinery/power/apc{cell_type = 15000; dir = 2; locked = 0; name = "UO45 Mining APC"; pixel_x = 0; pixel_y = -25; req_access = null; start_charge = 100},/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/closet/secure_closet/engineering_personal{icon_broken = "miningsecbroken"; icon_closed = "miningsec"; icon_locked = "miningsec1"; icon_off = "miningsecoff"; icon_opened = "miningsecopen"; icon_state = "miningsec"; locked = 0; name = "miner's equipment"; req_access = list(201)},/obj/item/weapon/storage/backpack/satchel_eng,/obj/item/clothing/gloves/black,/turf/simulated/floor{dir = 2; heat_capacity = 1e+006; icon_state = "browncorner"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wY" = (/obj/structure/cable,/obj/machinery/power/apc{cell_type = 15000; dir = 2; locked = 0; name = "UO45 Mining APC"; pixel_x = 0; pixel_y = -25; req_access = null; start_charge = 100},/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/closet/secure_closet/engineering_personal{icon_broken = "miningsecbroken"; icon_closed = "miningsec"; icon_locked = "miningsec1"; icon_off = "miningsecoff"; icon_opened = "miningsecopen"; icon_state = "miningsec"; locked = 0; name = "miner's equipment"; req_access = list(201)},/obj/item/weapon/storage/backpack/satchel_eng,/obj/item/clothing/gloves/color/black,/turf/simulated/floor{dir = 2; heat_capacity = 1e+006; icon_state = "browncorner"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 2; heat_capacity = 1e+006; icon_state = "brown"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xa" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{tag = "icon-manifold-r-f (EAST)"; dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor{dir = 2; heat_capacity = 1e+006; icon_state = "brown"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xb" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/fancy/cigarettes{pixel_x = -2},/obj/item/weapon/lighter/zippo{pixel_x = 4},/turf/simulated/floor{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+3 -3
View File
@@ -2657,13 +2657,13 @@
"aZe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar)
"aZf" = (/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
"aZg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
"aZh" = (/obj/machinery/camera{c_tag = "Kitchen"; network = list("SS13")},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/cooker/cerealmaker,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
"aZi" = (/obj/machinery/cooker/foodgrill,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
"aZh" = (/obj/machinery/camera{c_tag = "Kitchen"; network = list("SS13")},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/candy_maker,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
"aZi" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/grill,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
"aZj" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
"aZk" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
"aZl" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
"aZm" = (/obj/machinery/cooker/deepfryer,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
"aZn" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/machinery/cooking,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
"aZn" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/machinery/oven,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
"aZo" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics)
"aZp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics)
"aZq" = (/turf/simulated/floor,/area/hydroponics)
+7
View File
@@ -1117,14 +1117,20 @@
#include "code\modules\flufftext\Dreaming.dm"
#include "code\modules\flufftext\Hallucination.dm"
#include "code\modules\flufftext\TextFilters.dm"
#include "code\modules\food\candy_maker.dm"
#include "code\modules\food\cereal_maker.dm"
#include "code\modules\food\cooker.dm"
#include "code\modules\food\customizables.dm"
#include "code\modules\food\deep_fryer.dm"
#include "code\modules\food\food_grill.dm"
#include "code\modules\food\grill_new.dm"
#include "code\modules\food\icecream_vat.dm"
#include "code\modules\food\oven.dm"
#include "code\modules\food\oven_new.dm"
#include "code\modules\food\recipes_candy.dm"
#include "code\modules\food\recipes_grill.dm"
#include "code\modules\food\recipes_microwave.dm"
#include "code\modules\food\recipes_oven.dm"
#include "code\modules\genetics\side_effects.dm"
#include "code\modules\hydroponics\grown_inedible.dm"
#include "code\modules\hydroponics\hydro_tools.dm"
@@ -1542,6 +1548,7 @@
#include "code\modules\reagents\reagent_containers\food\drinks\drinkingglass.dm"
#include "code\modules\reagents\reagent_containers\food\drinks\jar.dm"
#include "code\modules\reagents\reagent_containers\food\drinks\bottle\robot.dm"
#include "code\modules\reagents\reagent_containers\food\snacks\candy.dm"
#include "code\modules\reagents\reagent_containers\food\snacks\grown.dm"
#include "code\modules\reagents\reagent_containers\food\snacks\meat.dm"
#include "code\modules\reagents\reagent_containers\glass\bottle.dm"