Merge branch 'master' of https://github.com/ParadiseSS13/Paradise
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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
|
||||
@@ -0,0 +1,424 @@
|
||||
|
||||
/obj/machinery/grill
|
||||
name = "grill"
|
||||
desc = "Backyard grilling, IN SPACE."
|
||||
icon = 'icons/obj/cooking_machines.dmi'
|
||||
icon_state = "grill_off"
|
||||
layer = 2.9
|
||||
density = 1
|
||||
anchored = 1
|
||||
use_power = 1
|
||||
idle_power_usage = 5
|
||||
active_power_usage = 100
|
||||
flags = OPENCONTAINER | NOREACT
|
||||
var/operating = 0 // Is it on?
|
||||
var/dirty = 0 // = {0..100} Does it need cleaning?
|
||||
var/broken = 0 // ={0,1,2} How broken is it???
|
||||
var/global/list/datum/recipe/available_recipes // List of the recipes you can use
|
||||
var/global/list/acceptable_items // List of the items you can put in
|
||||
var/global/list/acceptable_reagents // List of the reagents you can put in
|
||||
var/global/max_n_of_items = 0
|
||||
var/efficiency
|
||||
|
||||
|
||||
// see code/modules/food/recipes_grill.dm for recipes
|
||||
|
||||
/*******************
|
||||
* Initialising
|
||||
********************/
|
||||
|
||||
/obj/machinery/grill/New()
|
||||
//..() //do not need this
|
||||
reagents = new/datum/reagents(100)
|
||||
reagents.my_atom = src
|
||||
if (!available_recipes)
|
||||
available_recipes = new
|
||||
for (var/type in (typesof(/datum/recipe/grill)-/datum/recipe/grill))
|
||||
available_recipes+= new type
|
||||
acceptable_items = new
|
||||
acceptable_reagents = new
|
||||
for (var/datum/recipe/grill/recipe in available_recipes)
|
||||
for (var/item in recipe.items)
|
||||
acceptable_items |= item
|
||||
for (var/reagent in recipe.reagents)
|
||||
acceptable_reagents |= reagent
|
||||
if (recipe.items)
|
||||
max_n_of_items = max(max_n_of_items,recipe.items.len)
|
||||
|
||||
component_parts = list()
|
||||
component_parts += new /obj/item/weapon/circuitboard/grill(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/micro_laser(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/micro_laser(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
|
||||
component_parts += new /obj/item/stack/cable_coil(null, 5)
|
||||
RefreshParts()
|
||||
|
||||
|
||||
/obj/machinery/grill/upgraded/New()
|
||||
..()
|
||||
component_parts = list()
|
||||
component_parts += new /obj/item/weapon/circuitboard/grill(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/micro_laser/ultra(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/micro_laser/ultra(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
|
||||
component_parts += new /obj/item/stack/cable_coil(null, 5)
|
||||
RefreshParts()
|
||||
|
||||
/obj/machinery/grill/RefreshParts()
|
||||
var/E
|
||||
for(var/obj/item/weapon/stock_parts/micro_laser/M in component_parts)
|
||||
E += M.rating
|
||||
efficiency = round((E/2), 1) // There's 2 lasers, so halve the effect on the efficiency to keep it balanced
|
||||
|
||||
/*******************
|
||||
* Item Adding
|
||||
********************/
|
||||
|
||||
/obj/machinery/grill/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
|
||||
if(operating)
|
||||
return
|
||||
if(!broken && dirty < 100)
|
||||
if(default_deconstruction_screwdriver(user, "grill_open", "grill_off", O))
|
||||
return
|
||||
if(exchange_parts(user, O))
|
||||
return
|
||||
if(istype(O, /obj/item/weapon/wrench))
|
||||
playsound(src, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
if(anchored)
|
||||
anchored = 0
|
||||
user << "<span class='caution'>The [src] can now be moved.</span>"
|
||||
return
|
||||
else if(!anchored)
|
||||
anchored = 1
|
||||
user << "<span class='caution'>The [src] is now secured.</span>"
|
||||
return
|
||||
|
||||
default_deconstruction_crowbar(O)
|
||||
|
||||
if(src.broken > 0)
|
||||
if(src.broken == 2 && istype(O, /obj/item/weapon/screwdriver)) // If it's broken and they're using a screwdriver
|
||||
user.visible_message( \
|
||||
"\blue [user] starts to fix part of the grill.", \
|
||||
"\blue You start to fix part of the grill." \
|
||||
)
|
||||
if (do_after(user,20))
|
||||
user.visible_message( \
|
||||
"\blue [user] fixes part of the grill.", \
|
||||
"\blue You have fixed part of the grill." \
|
||||
)
|
||||
src.broken = 1 // Fix it a bit
|
||||
else if(src.broken == 1 && istype(O, /obj/item/weapon/wrench)) // If it's broken and they're doing the wrench
|
||||
user.visible_message( \
|
||||
"\blue [user] starts to fix part of the grill.", \
|
||||
"\blue You start to fix part of the grill." \
|
||||
)
|
||||
if (do_after(user,20))
|
||||
user.visible_message( \
|
||||
"\blue [user] fixes the grill.", \
|
||||
"\blue You have fixed the grill." \
|
||||
)
|
||||
src.icon_state = "grill_off"
|
||||
src.broken = 0 // Fix it!
|
||||
src.dirty = 0 // just to be sure
|
||||
src.flags = OPENCONTAINER
|
||||
else
|
||||
user << "\red It's broken!"
|
||||
return 1
|
||||
else if(src.dirty==100) // The grill is all dirty so can't be used!
|
||||
if(istype(O, /obj/item/weapon/reagent_containers/spray/cleaner) || istype(O, /obj/item/weapon/soap)) // If they're trying to clean it then let them
|
||||
user.visible_message( \
|
||||
"\blue [user] starts to clean the grill.", \
|
||||
"\blue You start to clean the grill." \
|
||||
)
|
||||
if (do_after(user,20))
|
||||
user.visible_message( \
|
||||
"\blue [user] has cleaned the grill.", \
|
||||
"\blue You have cleaned the grill." \
|
||||
)
|
||||
src.dirty = 0 // It's clean!
|
||||
src.broken = 0 // just to be sure
|
||||
src.icon_state = "grill_off"
|
||||
src.flags = OPENCONTAINER
|
||||
else //Otherwise bad luck!!
|
||||
user << "\red It's dirty!"
|
||||
return 1
|
||||
else if(is_type_in_list(O,acceptable_items))
|
||||
if (contents.len>=max_n_of_items)
|
||||
user << "\red This [src] is full of ingredients, you cannot put more."
|
||||
return 1
|
||||
if (istype(O,/obj/item/stack) && O:amount>1)
|
||||
new O.type (src)
|
||||
O:use(1)
|
||||
user.visible_message( \
|
||||
"\blue [user] has added one of [O] to \the [src].", \
|
||||
"\blue You add one of [O] to \the [src].")
|
||||
else
|
||||
// user.unEquip(O) //This just causes problems so far as I can tell. -Pete
|
||||
if(!user.drop_item())
|
||||
user << "<span class='notice'>\the [O] is stuck to your hand, you cannot put it in \the [src]</span>"
|
||||
return 0
|
||||
O.loc = src
|
||||
user.visible_message( \
|
||||
"\blue [user] has added \the [O] to \the [src].", \
|
||||
"\blue You add \the [O] to \the [src].")
|
||||
else if(istype(O,/obj/item/weapon/reagent_containers/glass) || \
|
||||
istype(O,/obj/item/weapon/reagent_containers/food/drinks) || \
|
||||
istype(O,/obj/item/weapon/reagent_containers/food/condiment) \
|
||||
)
|
||||
if (!O.reagents)
|
||||
return 1
|
||||
for (var/datum/reagent/R in O.reagents.reagent_list)
|
||||
if (!(R.id in acceptable_reagents))
|
||||
user << "\red Your [O] contains components unsuitable for cookery."
|
||||
return 1
|
||||
//G.reagents.trans_to(src,G.amount_per_transfer_from_this)
|
||||
else if(istype(O,/obj/item/weapon/grab))
|
||||
var/obj/item/weapon/grab/G = O
|
||||
user << "\red This is ridiculous. You can not fit \the [G.affecting] in this [src]."
|
||||
return 1
|
||||
else
|
||||
user << "\red You have no idea what you can cook with this [O]."
|
||||
return 1
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/grill/attack_paw(mob/user as mob)
|
||||
return src.attack_hand(user)
|
||||
|
||||
/obj/machinery/grill/attack_ai(mob/user as mob)
|
||||
return 0
|
||||
|
||||
/obj/machinery/grill/attack_hand(mob/user as mob)
|
||||
user.set_machine(src)
|
||||
interact(user)
|
||||
|
||||
/*******************
|
||||
* grill Menu
|
||||
********************/
|
||||
|
||||
/obj/machinery/grill/interact(mob/user as mob) // The grill Menu
|
||||
if(panel_open || !anchored)
|
||||
return
|
||||
var/dat = ""
|
||||
if(src.broken > 0)
|
||||
dat = {"<TT>Bzzzzttttt</TT>"}
|
||||
else if(src.operating)
|
||||
dat = {"<TT>Grilling in progress!<BR>Please wait...!</TT>"}
|
||||
else if(src.dirty==100)
|
||||
dat = {"<TT>This grill is dirty!<BR>Please clean it before use!</TT>"}
|
||||
else
|
||||
var/list/items_counts = new
|
||||
var/list/items_measures = new
|
||||
var/list/items_measures_p = new
|
||||
for (var/obj/O in contents)
|
||||
var/display_name = O.name
|
||||
if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/egg))
|
||||
items_measures[display_name] = "egg"
|
||||
items_measures_p[display_name] = "eggs"
|
||||
if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/tofu))
|
||||
items_measures[display_name] = "tofu chunk"
|
||||
items_measures_p[display_name] = "tofu chunks"
|
||||
if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/meat)) //any meat
|
||||
items_measures[display_name] = "slab of meat"
|
||||
items_measures_p[display_name] = "slabs of meat"
|
||||
if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/donkpocket))
|
||||
display_name = "Turnovers"
|
||||
items_measures[display_name] = "turnover"
|
||||
items_measures_p[display_name] = "turnovers"
|
||||
if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/carpmeat))
|
||||
items_measures[display_name] = "fillet of meat"
|
||||
items_measures_p[display_name] = "fillets of meat"
|
||||
items_counts[display_name]++
|
||||
for (var/O in items_counts)
|
||||
var/N = items_counts[O]
|
||||
if (!(O in items_measures))
|
||||
dat += {"<B>[capitalize(O)]:</B> [N] [lowertext(O)]\s<BR>"}
|
||||
else
|
||||
if (N==1)
|
||||
dat += {"<B>[capitalize(O)]:</B> [N] [items_measures[O]]<BR>"}
|
||||
else
|
||||
dat += {"<B>[capitalize(O)]:</B> [N] [items_measures_p[O]]<BR>"}
|
||||
|
||||
for (var/datum/reagent/R in reagents.reagent_list)
|
||||
var/display_name = R.name
|
||||
if (R.id == "capsaicin")
|
||||
display_name = "Hotsauce"
|
||||
if (R.id == "frostoil")
|
||||
display_name = "Coldsauce"
|
||||
dat += {"<B>[display_name]:</B> [R.volume] unit\s<BR>"}
|
||||
|
||||
if (items_counts.len==0 && reagents.reagent_list.len==0)
|
||||
dat = {"<B>The grill is empty</B><BR>"}
|
||||
else
|
||||
dat = {"<b>Ingredients:</b><br>[dat]"}
|
||||
dat += {"<HR><BR>\
|
||||
<A href='?src=\ref[src];action=cook'>Turn on!<BR>\
|
||||
<A href='?src=\ref[src];action=dispose'>Eject ingredients!<BR>\
|
||||
"}
|
||||
|
||||
user << browse("<HEAD><TITLE>grill Controls</TITLE></HEAD><TT>[dat]</TT>", "window=grill")
|
||||
onclose(user, "grill")
|
||||
return
|
||||
|
||||
|
||||
|
||||
/***********************************
|
||||
* grill Menu Handling/Cooking
|
||||
************************************/
|
||||
|
||||
/obj/machinery/grill/proc/cook()
|
||||
if(stat & (NOPOWER|BROKEN))
|
||||
return
|
||||
start()
|
||||
if (reagents.total_volume==0 && !(locate(/obj) in contents)) //dry run
|
||||
if (!wzhzhzh(10))
|
||||
abort()
|
||||
return
|
||||
stop()
|
||||
return
|
||||
|
||||
var/datum/recipe/recipe = select_recipe(available_recipes,src)
|
||||
var/obj/cooked
|
||||
if (!recipe)
|
||||
dirty += 1
|
||||
if (prob(max(10,dirty*5)))
|
||||
if (!wzhzhzh(4))
|
||||
abort()
|
||||
return
|
||||
muck_start()
|
||||
wzhzhzh(4)
|
||||
muck_finish()
|
||||
cooked = fail()
|
||||
cooked.loc = src.loc
|
||||
return
|
||||
else if (has_extra_item())
|
||||
if (!wzhzhzh(4))
|
||||
abort()
|
||||
return
|
||||
broke()
|
||||
cooked = fail()
|
||||
cooked.loc = src.loc
|
||||
return
|
||||
else
|
||||
if (!wzhzhzh(10))
|
||||
abort()
|
||||
return
|
||||
stop()
|
||||
cooked = fail()
|
||||
cooked.loc = src.loc
|
||||
return
|
||||
else
|
||||
var/halftime = round(recipe.time/10/2)
|
||||
if (!wzhzhzh(halftime))
|
||||
abort()
|
||||
return
|
||||
if (!wzhzhzh(halftime))
|
||||
abort()
|
||||
cooked = fail()
|
||||
cooked.loc = src.loc
|
||||
return
|
||||
cooked = recipe.make_food(src)
|
||||
stop()
|
||||
if(cooked)
|
||||
cooked.loc = src.loc
|
||||
for(var/i=1,i<efficiency,i++)
|
||||
cooked = new cooked.type(loc)
|
||||
return
|
||||
|
||||
/obj/machinery/grill/proc/wzhzhzh(var/seconds as num)
|
||||
for (var/i=1 to seconds)
|
||||
if (stat & (NOPOWER|BROKEN))
|
||||
return 0
|
||||
use_power(500)
|
||||
sleep(10)
|
||||
return 1
|
||||
|
||||
/obj/machinery/grill/proc/has_extra_item()
|
||||
for (var/obj/O in contents)
|
||||
if ( \
|
||||
!istype(O,/obj/item/weapon/reagent_containers/food) && \
|
||||
!istype(O, /obj/item/weapon/grown) \
|
||||
)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/obj/machinery/grill/proc/start()
|
||||
src.visible_message("\blue The grill turns on.", "\blue You hear a grill.")
|
||||
src.operating = 1
|
||||
src.icon_state = "grill_on"
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/grill/proc/abort()
|
||||
src.operating = 0 // Turn it off again aferwards
|
||||
src.icon_state = "grill_off"
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/grill/proc/stop()
|
||||
playsound(src.loc, 'sound/machines/ding.ogg', 50, 1)
|
||||
src.operating = 0 // Turn it off again aferwards
|
||||
src.icon_state = "grill_off"
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/grill/proc/dispose()
|
||||
for (var/obj/O in contents)
|
||||
O.loc = src.loc
|
||||
if (src.reagents.total_volume)
|
||||
src.dirty++
|
||||
src.reagents.clear_reagents()
|
||||
usr << "\blue You dispose of the grill contents."
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/grill/proc/muck_start()
|
||||
playsound(src.loc, 'sound/effects/splat.ogg', 50, 1) // Play a splat sound
|
||||
src.icon_state = "grill_dirty" // Make it look dirty!!
|
||||
|
||||
/obj/machinery/grill/proc/muck_finish()
|
||||
playsound(src.loc, 'sound/machines/ding.ogg', 50, 1)
|
||||
src.visible_message("\red The grill gets covered in muck!")
|
||||
src.dirty = 100 // Make it dirty so it can't be used util cleaned
|
||||
src.flags = null //So you can't add condiments
|
||||
src.icon_state = "grill_dirty" // Make it look dirty too
|
||||
src.operating = 0 // Turn it off again aferwards
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/grill/proc/broke()
|
||||
var/datum/effect/effect/system/spark_spread/s = new
|
||||
s.set_up(2, 1, src)
|
||||
s.start()
|
||||
src.icon_state = "grill_broke" // Make it look all busted up and shit
|
||||
src.visible_message("\red The grill breaks!") //Let them know they're stupid
|
||||
src.broken = 2 // Make it broken so it can't be used util fixed
|
||||
src.flags = null //So you can't add condiments
|
||||
src.operating = 0 // Turn it off again aferwards
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/grill/proc/fail()
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/badrecipe/ffuu = new(src)
|
||||
var/amount = 0
|
||||
for (var/obj/O in contents-ffuu)
|
||||
amount++
|
||||
if (O.reagents)
|
||||
var/id = O.reagents.get_master_reagent_id()
|
||||
if (id)
|
||||
amount+=O.reagents.get_reagent_amount(id)
|
||||
del(O)
|
||||
src.reagents.clear_reagents()
|
||||
ffuu.reagents.add_reagent("carbon", amount)
|
||||
ffuu.reagents.add_reagent("toxin", amount/10)
|
||||
return ffuu
|
||||
|
||||
/obj/machinery/grill/Topic(href, href_list)
|
||||
if(..() || panel_open)
|
||||
return
|
||||
|
||||
usr.set_machine(src)
|
||||
if(src.operating)
|
||||
src.updateUsrDialog()
|
||||
return
|
||||
|
||||
switch(href_list["action"])
|
||||
if ("cook")
|
||||
cook()
|
||||
|
||||
if ("dispose")
|
||||
dispose()
|
||||
return
|
||||
@@ -0,0 +1,424 @@
|
||||
|
||||
/obj/machinery/oven
|
||||
name = "oven"
|
||||
desc = "Cookies are ready, dear."
|
||||
icon = 'icons/obj/cooking_machines.dmi'
|
||||
icon_state = "oven_off"
|
||||
layer = 2.9
|
||||
density = 1
|
||||
anchored = 1
|
||||
use_power = 1
|
||||
idle_power_usage = 5
|
||||
active_power_usage = 100
|
||||
flags = OPENCONTAINER | NOREACT
|
||||
var/operating = 0 // Is it on?
|
||||
var/dirty = 0 // = {0..100} Does it need cleaning?
|
||||
var/broken = 0 // ={0,1,2} How broken is it???
|
||||
var/global/list/datum/recipe/available_recipes // List of the recipes you can use
|
||||
var/global/list/acceptable_items // List of the items you can put in
|
||||
var/global/list/acceptable_reagents // List of the reagents you can put in
|
||||
var/global/max_n_of_items = 0
|
||||
var/efficiency
|
||||
|
||||
|
||||
// see code/modules/food/recipes_oven.dm for recipes
|
||||
|
||||
/*******************
|
||||
* Initialising
|
||||
********************/
|
||||
|
||||
/obj/machinery/oven/New()
|
||||
//..() //do not need this
|
||||
reagents = new/datum/reagents(100)
|
||||
reagents.my_atom = src
|
||||
if (!available_recipes)
|
||||
available_recipes = new
|
||||
for (var/type in (typesof(/datum/recipe/oven)-/datum/recipe/oven))
|
||||
available_recipes+= new type
|
||||
acceptable_items = new
|
||||
acceptable_reagents = new
|
||||
for (var/datum/recipe/oven/recipe in available_recipes)
|
||||
for (var/item in recipe.items)
|
||||
acceptable_items |= item
|
||||
for (var/reagent in recipe.reagents)
|
||||
acceptable_reagents |= reagent
|
||||
if (recipe.items)
|
||||
max_n_of_items = max(max_n_of_items,recipe.items.len)
|
||||
|
||||
component_parts = list()
|
||||
component_parts += new /obj/item/weapon/circuitboard/oven(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/micro_laser(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/micro_laser(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
|
||||
component_parts += new /obj/item/stack/cable_coil(null, 5)
|
||||
RefreshParts()
|
||||
|
||||
|
||||
/obj/machinery/oven/upgraded/New()
|
||||
..()
|
||||
component_parts = list()
|
||||
component_parts += new /obj/item/weapon/circuitboard/oven(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/micro_laser/ultra(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/micro_laser/ultra(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
|
||||
component_parts += new /obj/item/stack/cable_coil(null, 5)
|
||||
RefreshParts()
|
||||
|
||||
/obj/machinery/oven/RefreshParts()
|
||||
var/E
|
||||
for(var/obj/item/weapon/stock_parts/micro_laser/M in component_parts)
|
||||
E += M.rating
|
||||
efficiency = round((E/2), 1) // There's 2 lasers, so halve the effect on the efficiency to keep it balanced
|
||||
|
||||
/*******************
|
||||
* Item Adding
|
||||
********************/
|
||||
|
||||
/obj/machinery/oven/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
|
||||
if(operating)
|
||||
return
|
||||
if(!broken && dirty < 100)
|
||||
if(default_deconstruction_screwdriver(user, "oven_open", "oven_off", O))
|
||||
return
|
||||
if(exchange_parts(user, O))
|
||||
return
|
||||
if(istype(O, /obj/item/weapon/wrench))
|
||||
playsound(src, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
if(anchored)
|
||||
anchored = 0
|
||||
user << "<span class='caution'>The [src] can now be moved.</span>"
|
||||
return
|
||||
else if(!anchored)
|
||||
anchored = 1
|
||||
user << "<span class='caution'>The [src] is now secured.</span>"
|
||||
return
|
||||
|
||||
default_deconstruction_crowbar(O)
|
||||
|
||||
if(src.broken > 0)
|
||||
if(src.broken == 2 && istype(O, /obj/item/weapon/screwdriver)) // If it's broken and they're using a screwdriver
|
||||
user.visible_message( \
|
||||
"\blue [user] starts to fix part of the oven.", \
|
||||
"\blue You start to fix part of the oven." \
|
||||
)
|
||||
if (do_after(user,20))
|
||||
user.visible_message( \
|
||||
"\blue [user] fixes part of the oven.", \
|
||||
"\blue You have fixed part of the oven." \
|
||||
)
|
||||
src.broken = 1 // Fix it a bit
|
||||
else if(src.broken == 1 && istype(O, /obj/item/weapon/wrench)) // If it's broken and they're doing the wrench
|
||||
user.visible_message( \
|
||||
"\blue [user] starts to fix part of the oven.", \
|
||||
"\blue You start to fix part of the oven." \
|
||||
)
|
||||
if (do_after(user,20))
|
||||
user.visible_message( \
|
||||
"\blue [user] fixes the oven.", \
|
||||
"\blue You have fixed the oven." \
|
||||
)
|
||||
src.icon_state = "oven_off"
|
||||
src.broken = 0 // Fix it!
|
||||
src.dirty = 0 // just to be sure
|
||||
src.flags = OPENCONTAINER
|
||||
else
|
||||
user << "\red It's broken!"
|
||||
return 1
|
||||
else if(src.dirty==100) // The oven is all dirty so can't be used!
|
||||
if(istype(O, /obj/item/weapon/reagent_containers/spray/cleaner) || istype(O, /obj/item/weapon/soap)) // If they're trying to clean it then let them
|
||||
user.visible_message( \
|
||||
"\blue [user] starts to clean the oven.", \
|
||||
"\blue You start to clean the oven." \
|
||||
)
|
||||
if (do_after(user,20))
|
||||
user.visible_message( \
|
||||
"\blue [user] has cleaned the oven.", \
|
||||
"\blue You have cleaned the oven." \
|
||||
)
|
||||
src.dirty = 0 // It's clean!
|
||||
src.broken = 0 // just to be sure
|
||||
src.icon_state = "oven_off"
|
||||
src.flags = OPENCONTAINER
|
||||
else //Otherwise bad luck!!
|
||||
user << "\red It's dirty!"
|
||||
return 1
|
||||
else if(is_type_in_list(O,acceptable_items))
|
||||
if (contents.len>=max_n_of_items)
|
||||
user << "\red This [src] is full of ingredients, you cannot put more."
|
||||
return 1
|
||||
if (istype(O,/obj/item/stack) && O:amount>1)
|
||||
new O.type (src)
|
||||
O:use(1)
|
||||
user.visible_message( \
|
||||
"\blue [user] has added one of [O] to \the [src].", \
|
||||
"\blue You add one of [O] to \the [src].")
|
||||
else
|
||||
// user.unEquip(O) //This just causes problems so far as I can tell. -Pete
|
||||
if(!user.drop_item())
|
||||
user << "<span class='notice'>\the [O] is stuck to your hand, you cannot put it in \the [src]</span>"
|
||||
return 0
|
||||
O.loc = src
|
||||
user.visible_message( \
|
||||
"\blue [user] has added \the [O] to \the [src].", \
|
||||
"\blue You add \the [O] to \the [src].")
|
||||
else if(istype(O,/obj/item/weapon/reagent_containers/glass) || \
|
||||
istype(O,/obj/item/weapon/reagent_containers/food/drinks) || \
|
||||
istype(O,/obj/item/weapon/reagent_containers/food/condiment) \
|
||||
)
|
||||
if (!O.reagents)
|
||||
return 1
|
||||
for (var/datum/reagent/R in O.reagents.reagent_list)
|
||||
if (!(R.id in acceptable_reagents))
|
||||
user << "\red Your [O] contains components unsuitable for cookery."
|
||||
return 1
|
||||
//G.reagents.trans_to(src,G.amount_per_transfer_from_this)
|
||||
else if(istype(O,/obj/item/weapon/grab))
|
||||
var/obj/item/weapon/grab/G = O
|
||||
user << "\red This is ridiculous. You can not fit \the [G.affecting] in this [src]."
|
||||
return 1
|
||||
else
|
||||
user << "\red You have no idea what you can cook with this [O]."
|
||||
return 1
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/oven/attack_paw(mob/user as mob)
|
||||
return src.attack_hand(user)
|
||||
|
||||
/obj/machinery/oven/attack_ai(mob/user as mob)
|
||||
return 0
|
||||
|
||||
/obj/machinery/oven/attack_hand(mob/user as mob)
|
||||
user.set_machine(src)
|
||||
interact(user)
|
||||
|
||||
/*******************
|
||||
* oven Menu
|
||||
********************/
|
||||
|
||||
/obj/machinery/oven/interact(mob/user as mob) // The oven Menu
|
||||
if(panel_open || !anchored)
|
||||
return
|
||||
var/dat = ""
|
||||
if(src.broken > 0)
|
||||
dat = {"<TT>Bzzzzttttt</TT>"}
|
||||
else if(src.operating)
|
||||
dat = {"<TT>Baking in progress!<BR>Please wait...!</TT>"}
|
||||
else if(src.dirty==100)
|
||||
dat = {"<TT>This oven is dirty!<BR>Please clean it before use!</TT>"}
|
||||
else
|
||||
var/list/items_counts = new
|
||||
var/list/items_measures = new
|
||||
var/list/items_measures_p = new
|
||||
for (var/obj/O in contents)
|
||||
var/display_name = O.name
|
||||
if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/egg))
|
||||
items_measures[display_name] = "egg"
|
||||
items_measures_p[display_name] = "eggs"
|
||||
if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/tofu))
|
||||
items_measures[display_name] = "tofu chunk"
|
||||
items_measures_p[display_name] = "tofu chunks"
|
||||
if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/meat)) //any meat
|
||||
items_measures[display_name] = "slab of meat"
|
||||
items_measures_p[display_name] = "slabs of meat"
|
||||
if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/donkpocket))
|
||||
display_name = "Turnovers"
|
||||
items_measures[display_name] = "turnover"
|
||||
items_measures_p[display_name] = "turnovers"
|
||||
if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/carpmeat))
|
||||
items_measures[display_name] = "fillet of meat"
|
||||
items_measures_p[display_name] = "fillets of meat"
|
||||
items_counts[display_name]++
|
||||
for (var/O in items_counts)
|
||||
var/N = items_counts[O]
|
||||
if (!(O in items_measures))
|
||||
dat += {"<B>[capitalize(O)]:</B> [N] [lowertext(O)]\s<BR>"}
|
||||
else
|
||||
if (N==1)
|
||||
dat += {"<B>[capitalize(O)]:</B> [N] [items_measures[O]]<BR>"}
|
||||
else
|
||||
dat += {"<B>[capitalize(O)]:</B> [N] [items_measures_p[O]]<BR>"}
|
||||
|
||||
for (var/datum/reagent/R in reagents.reagent_list)
|
||||
var/display_name = R.name
|
||||
if (R.id == "capsaicin")
|
||||
display_name = "Hotsauce"
|
||||
if (R.id == "frostoil")
|
||||
display_name = "Coldsauce"
|
||||
dat += {"<B>[display_name]:</B> [R.volume] unit\s<BR>"}
|
||||
|
||||
if (items_counts.len==0 && reagents.reagent_list.len==0)
|
||||
dat = {"<B>The oven is empty</B><BR>"}
|
||||
else
|
||||
dat = {"<b>Ingredients:</b><br>[dat]"}
|
||||
dat += {"<HR><BR>\
|
||||
<A href='?src=\ref[src];action=cook'>Turn on!<BR>\
|
||||
<A href='?src=\ref[src];action=dispose'>Eject ingredients!<BR>\
|
||||
"}
|
||||
|
||||
user << browse("<HEAD><TITLE>oven Controls</TITLE></HEAD><TT>[dat]</TT>", "window=oven")
|
||||
onclose(user, "oven")
|
||||
return
|
||||
|
||||
|
||||
|
||||
/***********************************
|
||||
* oven Menu Handling/Cooking
|
||||
************************************/
|
||||
|
||||
/obj/machinery/oven/proc/cook()
|
||||
if(stat & (NOPOWER|BROKEN))
|
||||
return
|
||||
start()
|
||||
if (reagents.total_volume==0 && !(locate(/obj) in contents)) //dry run
|
||||
if (!wzhzhzh(10))
|
||||
abort()
|
||||
return
|
||||
stop()
|
||||
return
|
||||
|
||||
var/datum/recipe/recipe = select_recipe(available_recipes,src)
|
||||
var/obj/cooked
|
||||
if (!recipe)
|
||||
dirty += 1
|
||||
if (prob(max(10,dirty*5)))
|
||||
if (!wzhzhzh(4))
|
||||
abort()
|
||||
return
|
||||
muck_start()
|
||||
wzhzhzh(4)
|
||||
muck_finish()
|
||||
cooked = fail()
|
||||
cooked.loc = src.loc
|
||||
return
|
||||
else if (has_extra_item())
|
||||
if (!wzhzhzh(4))
|
||||
abort()
|
||||
return
|
||||
broke()
|
||||
cooked = fail()
|
||||
cooked.loc = src.loc
|
||||
return
|
||||
else
|
||||
if (!wzhzhzh(10))
|
||||
abort()
|
||||
return
|
||||
stop()
|
||||
cooked = fail()
|
||||
cooked.loc = src.loc
|
||||
return
|
||||
else
|
||||
var/halftime = round(recipe.time/10/2)
|
||||
if (!wzhzhzh(halftime))
|
||||
abort()
|
||||
return
|
||||
if (!wzhzhzh(halftime))
|
||||
abort()
|
||||
cooked = fail()
|
||||
cooked.loc = src.loc
|
||||
return
|
||||
cooked = recipe.make_food(src)
|
||||
stop()
|
||||
if(cooked)
|
||||
cooked.loc = src.loc
|
||||
for(var/i=1,i<efficiency,i++)
|
||||
cooked = new cooked.type(loc)
|
||||
return
|
||||
|
||||
/obj/machinery/oven/proc/wzhzhzh(var/seconds as num)
|
||||
for (var/i=1 to seconds)
|
||||
if (stat & (NOPOWER|BROKEN))
|
||||
return 0
|
||||
use_power(500)
|
||||
sleep(10)
|
||||
return 1
|
||||
|
||||
/obj/machinery/oven/proc/has_extra_item()
|
||||
for (var/obj/O in contents)
|
||||
if ( \
|
||||
!istype(O,/obj/item/weapon/reagent_containers/food) && \
|
||||
!istype(O, /obj/item/weapon/grown) \
|
||||
)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/obj/machinery/oven/proc/start()
|
||||
src.visible_message("\blue The oven turns on.", "\blue You hear a oven.")
|
||||
src.operating = 1
|
||||
src.icon_state = "oven_on"
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/oven/proc/abort()
|
||||
src.operating = 0 // Turn it off again aferwards
|
||||
src.icon_state = "oven_off"
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/oven/proc/stop()
|
||||
playsound(src.loc, 'sound/machines/ding.ogg', 50, 1)
|
||||
src.operating = 0 // Turn it off again aferwards
|
||||
src.icon_state = "oven_off"
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/oven/proc/dispose()
|
||||
for (var/obj/O in contents)
|
||||
O.loc = src.loc
|
||||
if (src.reagents.total_volume)
|
||||
src.dirty++
|
||||
src.reagents.clear_reagents()
|
||||
usr << "\blue You dispose of the oven contents."
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/oven/proc/muck_start()
|
||||
playsound(src.loc, 'sound/effects/splat.ogg', 50, 1) // Play a splat sound
|
||||
src.icon_state = "oven_dirty" // Make it look dirty!!
|
||||
|
||||
/obj/machinery/oven/proc/muck_finish()
|
||||
playsound(src.loc, 'sound/machines/ding.ogg', 50, 1)
|
||||
src.visible_message("\red The oven gets covered in muck!")
|
||||
src.dirty = 100 // Make it dirty so it can't be used util cleaned
|
||||
src.flags = null //So you can't add condiments
|
||||
src.icon_state = "oven_dirty" // Make it look dirty too
|
||||
src.operating = 0 // Turn it off again aferwards
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/oven/proc/broke()
|
||||
var/datum/effect/effect/system/spark_spread/s = new
|
||||
s.set_up(2, 1, src)
|
||||
s.start()
|
||||
src.icon_state = "oven_broke" // Make it look all busted up and shit
|
||||
src.visible_message("\red The oven breaks!") //Let them know they're stupid
|
||||
src.broken = 2 // Make it broken so it can't be used util fixed
|
||||
src.flags = null //So you can't add condiments
|
||||
src.operating = 0 // Turn it off again aferwards
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/oven/proc/fail()
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/badrecipe/ffuu = new(src)
|
||||
var/amount = 0
|
||||
for (var/obj/O in contents-ffuu)
|
||||
amount++
|
||||
if (O.reagents)
|
||||
var/id = O.reagents.get_master_reagent_id()
|
||||
if (id)
|
||||
amount+=O.reagents.get_reagent_amount(id)
|
||||
del(O)
|
||||
src.reagents.clear_reagents()
|
||||
ffuu.reagents.add_reagent("carbon", amount)
|
||||
ffuu.reagents.add_reagent("toxin", amount/10)
|
||||
return ffuu
|
||||
|
||||
/obj/machinery/oven/Topic(href, href_list)
|
||||
if(..() || panel_open)
|
||||
return
|
||||
|
||||
usr.set_machine(src)
|
||||
if(src.operating)
|
||||
src.updateUsrDialog()
|
||||
return
|
||||
|
||||
switch(href_list["action"])
|
||||
if ("cook")
|
||||
cook()
|
||||
|
||||
if ("dispose")
|
||||
dispose()
|
||||
return
|
||||
@@ -0,0 +1,512 @@
|
||||
|
||||
/*
|
||||
* /datum/recipe/candy/
|
||||
* reagents = list()
|
||||
* items = list()
|
||||
* result = /obj/item/weapon/reagent_containers/food/snacks/
|
||||
* byproduct = /obj/item/ // only set this if the recipe has a byproduct, like returning it's mould
|
||||
*
|
||||
* NOTE: If using a mould, make sure to list it in *BOTH* the items and byproduct lists if it is to be returned.
|
||||
* Failure to list in both places will result in either consumption of the mould, or spontaneous generation of a mould.
|
||||
*
|
||||
*/
|
||||
|
||||
// ***********************************************************
|
||||
// Candy Ingredients / Flavorings Recipes
|
||||
// ***********************************************************
|
||||
|
||||
/datum/recipe/candy/chocolate_bar
|
||||
reagents = list("soymilk" = 2, "coco" = 2, "sugar" = 2)
|
||||
items = list()
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/chocolatebar
|
||||
|
||||
/datum/recipe/candy/chocolate_bar2
|
||||
reagents = list("milk" = 2, "coco" = 2, "sugar" = 2)
|
||||
items = list()
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/chocolatebar
|
||||
|
||||
/datum/recipe/candy/fudge
|
||||
reagents = list("sugar" = 5, "cream" = 5)
|
||||
items = list(/obj/item/weapon/reagent_containers/food/snacks/chocolatebar)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/fudge
|
||||
|
||||
/datum/recipe/candy/caramel
|
||||
reagents = list("sugar" = 5, "cream" = 5)
|
||||
items = list()
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/caramel
|
||||
|
||||
/datum/recipe/candy/toffee
|
||||
reagents = list("sugar" = 5)
|
||||
items = list(/obj/item/weapon/reagent_containers/food/snacks/flour)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/toffee
|
||||
|
||||
/datum/recipe/candy/taffy
|
||||
reagents = list("sugar" = 5, "water" = 5, "sodiumchloride" = 5)
|
||||
items = list()
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/taffy
|
||||
|
||||
/datum/recipe/candy/nougat
|
||||
reagents = list("sugar" = 5, "cornoil" = 5)
|
||||
items = list(/obj/item/weapon/reagent_containers/food/snacks/egg)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/nougat
|
||||
|
||||
// ***********************************************************
|
||||
// Base Candy Recipes (unflavored / plain)
|
||||
// ***********************************************************
|
||||
|
||||
/datum/recipe/candy/cotton
|
||||
reagents = list("sugar" = 15)
|
||||
items = list(
|
||||
/obj/item/weapon/c_tube,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/cotton
|
||||
|
||||
/datum/recipe/candy/gummybear
|
||||
reagents = list("sugar" = 5, "water" = 5, "cornoil" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/kitchen/mould/bear,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummybear
|
||||
byproduct = /obj/item/weapon/kitchen/mould/bear
|
||||
|
||||
/datum/recipe/candy/gummyworm
|
||||
reagents = list("sugar" = 5, "water" = 5, "cornoil" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/kitchen/mould/worm,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm
|
||||
byproduct = /obj/item/weapon/kitchen/mould/worm
|
||||
|
||||
/datum/recipe/candy/jellybean
|
||||
reagents = list("sugar" = 5, "water" = 5, "cornoil" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/kitchen/mould/bean,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean
|
||||
byproduct = /obj/item/weapon/kitchen/mould/bean
|
||||
|
||||
/datum/recipe/candy/jawbreaker
|
||||
reagents = list("sugar" = 10, "cornoil" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/kitchen/mould/ball,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jawbreaker
|
||||
byproduct = /obj/item/weapon/kitchen/mould/ball
|
||||
|
||||
/datum/recipe/candy/candycane
|
||||
reagents = list("sugar" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/kitchen/mould/cane,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/mint,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/mint
|
||||
byproduct = /obj/item/weapon/kitchen/mould/cane
|
||||
|
||||
/datum/recipe/candy/gum
|
||||
reagents = list("sugar" = 5, "water" = 5, "cornoil" = 5)
|
||||
items = list()
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gum
|
||||
|
||||
/datum/recipe/candy/candybar
|
||||
reagents = list("sugar" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/candybar
|
||||
|
||||
/datum/recipe/candy/cash
|
||||
reagents = list()
|
||||
items = list(
|
||||
/obj/item/weapon/kitchen/mould/cash,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/cash
|
||||
byproduct = /obj/item/weapon/kitchen/mould/cash
|
||||
|
||||
/datum/recipe/candy/coin
|
||||
reagents = list()
|
||||
items = list(
|
||||
/obj/item/weapon/kitchen/mould/coin,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/coin
|
||||
byproduct = /obj/item/weapon/kitchen/mould/coin
|
||||
|
||||
/datum/recipe/candy/sucker
|
||||
reagents = list("sugar" = 10, "cornoil" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/kitchen/mould/loli,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/sucker
|
||||
byproduct = /obj/item/weapon/kitchen/mould/loli
|
||||
|
||||
// ***********************************************************
|
||||
// Cotton Candy Recipes (flavored)
|
||||
// ***********************************************************
|
||||
|
||||
/datum/recipe/candy/cotton/red
|
||||
reagents = list("cherryjelly" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/cotton/red
|
||||
|
||||
/datum/recipe/candy/cotton/blue
|
||||
reagents = list("berryjuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/cotton/blue
|
||||
|
||||
/datum/recipe/candy/cotton/poison
|
||||
reagents = list("poisonberryjuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/cotton/poison
|
||||
|
||||
/datum/recipe/candy/cotton/green
|
||||
reagents = list("limejuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/cotton/green
|
||||
|
||||
/datum/recipe/candy/cotton/yellow
|
||||
reagents = list("lemonjuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/cotton/yellow
|
||||
|
||||
/datum/recipe/candy/cotton/orange
|
||||
reagents = list("orangejuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/cotton/orange
|
||||
|
||||
/datum/recipe/candy/cotton/purple
|
||||
reagents = list("grapejuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/cotton/purple
|
||||
|
||||
/datum/recipe/candy/cotton/pink
|
||||
reagents = list("watermelonjuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/cotton/pink
|
||||
|
||||
/datum/recipe/candy/cotton/rainbow
|
||||
reagents = list()
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/red,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/blue,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/green,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/yellow,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/orange,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/purple,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/pink,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/cotton/rainbow
|
||||
|
||||
/datum/recipe/candy/cotton/rainbow2
|
||||
reagents = list()
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/red,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/poison,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/green,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/yellow,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/orange,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/purple,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/cotton/pink,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/cotton/bad_rainbow
|
||||
|
||||
// ***********************************************************
|
||||
// Gummy Bear Recipes (flavored)
|
||||
// ***********************************************************
|
||||
|
||||
/datum/recipe/candy/gummybear/red
|
||||
reagents = list("cherryjelly" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummybear/red
|
||||
|
||||
/datum/recipe/candy/gummybear/blue
|
||||
reagents = list("berryjuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummybear/blue
|
||||
|
||||
/datum/recipe/candy/gummybear/poison
|
||||
reagents = list("poisonberryjuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummybear/poison
|
||||
|
||||
/datum/recipe/candy/gummybear/green
|
||||
reagents = list("limejuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummybear/green
|
||||
|
||||
/datum/recipe/candy/gummybear/yellow
|
||||
reagents = list("lemonjuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummybear/yellow
|
||||
|
||||
/datum/recipe/candy/gummybear/orange
|
||||
reagents = list("orangejuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummybear/orange
|
||||
|
||||
/datum/recipe/candy/gummybear/purple
|
||||
reagents = list("grapejuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummybear/purple
|
||||
|
||||
/datum/recipe/candy/gummybear/wtf
|
||||
reagents = list("space_drugs" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummybear/wtf
|
||||
|
||||
/datum/recipe/candy/gummybear/wtf2
|
||||
reagents = list()
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummybear/wtf
|
||||
|
||||
// ***********************************************************
|
||||
// Gummy Worm Recipes (flavored)
|
||||
// ***********************************************************
|
||||
|
||||
/datum/recipe/candy/gummyworm/red
|
||||
reagents = list("cherryjelly" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm/red
|
||||
|
||||
/datum/recipe/candy/gummyworm/blue
|
||||
reagents = list("berryjuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm/blue
|
||||
|
||||
/datum/recipe/candy/gummyworm/poison
|
||||
reagents = list("poisonberryjuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm/poison
|
||||
|
||||
/datum/recipe/candy/gummyworm/green
|
||||
reagents = list("limejuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm/green
|
||||
|
||||
/datum/recipe/candy/gummyworm/yellow
|
||||
reagents = list("lemonjuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm/yellow
|
||||
|
||||
/datum/recipe/candy/gummyworm/orange
|
||||
reagents = list("orangejuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm/orange
|
||||
|
||||
/datum/recipe/candy/gummyworm/purple
|
||||
reagents = list("grapejuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm/purple
|
||||
|
||||
/datum/recipe/candy/gummyworm/wtf
|
||||
reagents = list("space_drugs" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm/wtf
|
||||
|
||||
/datum/recipe/candy/gummyworm/wtf2
|
||||
reagents = list()
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/gummyworm/wtf
|
||||
|
||||
// ***********************************************************
|
||||
// Jelly Bean Recipes (flavored)
|
||||
// ***********************************************************
|
||||
|
||||
/datum/recipe/candy/jellybean/red
|
||||
reagents = list("cherryjelly" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/red
|
||||
|
||||
/datum/recipe/candy/jellybean/blue
|
||||
reagents = list("berryjuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/blue
|
||||
|
||||
/datum/recipe/candy/jellybean/poison
|
||||
reagents = list("poisonberryjuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/poison
|
||||
|
||||
/datum/recipe/candy/jellybean/green
|
||||
reagents = list("limejuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/green
|
||||
|
||||
/datum/recipe/candy/jellybean/yellow
|
||||
reagents = list("lemonjuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/yellow
|
||||
|
||||
/datum/recipe/candy/jellybean/orange
|
||||
reagents = list("orangejuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/orange
|
||||
|
||||
/datum/recipe/candy/jellybean/purple
|
||||
reagents = list("grapejuice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/purple
|
||||
|
||||
/datum/recipe/candy/jellybean/chocolate
|
||||
reagents = list()
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/chocolate
|
||||
|
||||
/datum/recipe/candy/jellybean/cola
|
||||
reagents = list("cola" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/cola
|
||||
|
||||
/datum/recipe/candy/jellybean/popcorn
|
||||
reagents = list()
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/popcorn,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/popcorn
|
||||
|
||||
/datum/recipe/candy/jellybean/coffee
|
||||
reagents = list("coffee" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/cola
|
||||
|
||||
/datum/recipe/candy/jellybean/drgibb
|
||||
reagents = list("dr_gibb" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/cola
|
||||
|
||||
|
||||
/datum/recipe/candy/jellybean/wtf
|
||||
reagents = list("space_drugs" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/wtf
|
||||
|
||||
/datum/recipe/candy/jellybean/wtf2
|
||||
reagents = list()
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/jellybean,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/jellybean/wtf
|
||||
|
||||
// ***********************************************************
|
||||
// Candybar Recipes (flavored)
|
||||
// ***********************************************************
|
||||
|
||||
/datum/recipe/candy/candybar/caramel
|
||||
reagents = list()
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/caramel,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/candybar/caramel
|
||||
|
||||
/datum/recipe/candy/candybar/nougat
|
||||
reagents = list()
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/nougat,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/candybar/nougat
|
||||
|
||||
/datum/recipe/candy/candybar/toffee
|
||||
reagents = list()
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/toffee,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/candybar/toffee
|
||||
|
||||
/datum/recipe/candy/candybar/rice
|
||||
reagents = list("rice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/candybar/rice
|
||||
|
||||
/datum/recipe/candy/candybar/caramel_nougat
|
||||
reagents = list()
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/caramel,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/nougat,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/candybar/caramel_nougat
|
||||
@@ -0,0 +1,132 @@
|
||||
|
||||
// /datum/recipe/grill
|
||||
|
||||
/datum/recipe/grill/telebacon
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat,
|
||||
/obj/item/device/assembly/signaler
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/telebacon
|
||||
|
||||
|
||||
/datum/recipe/grill/syntitelebacon
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,
|
||||
/obj/item/device/assembly/signaler
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/telebacon
|
||||
|
||||
/datum/recipe/grill/friedegg
|
||||
reagents = list("sodiumchloride" = 1, "blackpepper" = 1)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/friedegg
|
||||
|
||||
/datum/recipe/grill/meatsteak
|
||||
reagents = list("sodiumchloride" = 1, "blackpepper" = 1)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/meatsteak
|
||||
|
||||
/datum/recipe/grill/syntisteak
|
||||
reagents = list("sodiumchloride" = 1, "blackpepper" = 1)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/meatsteak
|
||||
|
||||
/datum/recipe/grill/waffles
|
||||
reagents = list("sugar" = 10)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/waffles
|
||||
|
||||
/datum/recipe/grill/rofflewaffles
|
||||
reagents = list("psilocybin" = 5, "sugar" = 10)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/rofflewaffles
|
||||
|
||||
/datum/recipe/grill/grilledcheese
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/breadslice,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/breadslice,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/grilledcheese
|
||||
|
||||
/datum/recipe/grill/sausage
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatball,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cutlet,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sausage
|
||||
|
||||
/datum/recipe/grill/fishfingers
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/carpmeat,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/fishfingers
|
||||
|
||||
/datum/recipe/grill/cutlet
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/rawcutlet
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/cutlet
|
||||
|
||||
/datum/recipe/grill/omelette
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/omelette
|
||||
|
||||
/datum/recipe/grill/wingfangchu
|
||||
reagents = list("soysauce" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/xenomeat,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/wingfangchu
|
||||
|
||||
/datum/recipe/grill/human/kabob
|
||||
items = list(
|
||||
/obj/item/stack/rods,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/human,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/human,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/human/kabob
|
||||
|
||||
/datum/recipe/grill/monkeykabob
|
||||
items = list(
|
||||
/obj/item/stack/rods,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/monkeykabob
|
||||
|
||||
/datum/recipe/grill/syntikabob
|
||||
items = list(
|
||||
/obj/item/stack/rods,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/monkeykabob
|
||||
|
||||
/datum/recipe/grill/tofukabob
|
||||
items = list(
|
||||
/obj/item/stack/rods,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tofu,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tofu,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/tofukabob
|
||||
@@ -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."
|
||||
|
||||
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 158 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
@@ -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)
|
||||
|
||||
@@ -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"})
|
||||
|
||||
@@ -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"})
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||