diff --git a/code/_helpers/sorts/comparators.dm b/code/_helpers/sorts/comparators.dm index a9ca5748b77..f4a8c575c98 100644 --- a/code/_helpers/sorts/comparators.dm +++ b/code/_helpers/sorts/comparators.dm @@ -56,3 +56,9 @@ . = B[STAT_ENTRY_TIME] - A[STAT_ENTRY_TIME] if (!.) . = B[STAT_ENTRY_COUNT] - A[STAT_ENTRY_COUNT] + +// Compares complexity of recipes for use in cooking, etc. This is for telling which recipe to make, not for showing things to the player. +/proc/cmp_recipe_complexity_dsc(datum/recipe/A, datum/recipe/B) + var/a_score = LAZYLEN(A.items) + LAZYLEN(A.reagents) + LAZYLEN(A.fruit) + var/b_score = LAZYLEN(B.items) + LAZYLEN(B.reagents) + LAZYLEN(B.fruit) + return b_score - a_score \ No newline at end of file diff --git a/code/game/gamemodes/cult/cultify/obj.dm b/code/game/gamemodes/cult/cultify/obj.dm index d7c0cff5ece..3ac41e00471 100644 --- a/code/game/gamemodes/cult/cultify/obj.dm +++ b/code/game/gamemodes/cult/cultify/obj.dm @@ -50,7 +50,7 @@ src.invisibility = INVISIBILITY_MAXIMUM density = 0 -/obj/machinery/cooker/cultify() +/obj/machinery/appliance/cooker/cultify() new /obj/structure/cult/talisman(loc) qdel(src) diff --git a/code/game/objects/stumble_into_vr.dm b/code/game/objects/stumble_into_vr.dm index 1493323af1b..2a747ae5636 100644 --- a/code/game/objects/stumble_into_vr.dm +++ b/code/game/objects/stumble_into_vr.dm @@ -89,7 +89,7 @@ ..() bumpopen(M) -/obj/machinery/cooker/fryer/stumble_into(mob/living/M) +/obj/machinery/appliance/cooker/fryer/stumble_into(mob/living/M) visible_message("[M] [pick("ran", "slammed")] into \the [src]!") M.apply_damage(15, BURN) M.Weaken(5) diff --git a/code/modules/food/food/condiment.dm b/code/modules/food/food/condiment.dm index 657946d0192..618fed08951 100644 --- a/code/modules/food/food/condiment.dm +++ b/code/modules/food/food/condiment.dm @@ -115,6 +115,17 @@ desc = "This is what you use to make bread fluffy." icon_state = "yeast" center_of_mass = list("x"=16, "y"=6) + if("spacespice") + name = "bottle of space spice" + desc = "An exotic blend of spices for cooking. Definitely not worms." + icon = 'modular_citadel/icons/obj/food_syn.dmi' + icon_state = "spacespicebottle" + center_of_mass = list("x"=16, "y"=6) + if("barbecue") + name = "barbecue sauce" + desc = "Barbecue sauce, it's labeled 'sweet and spicy'." + icon_state = "barbecue" + center_of_mass = list("x"=16, "y"=6) else name = "Misc Condiment Bottle" if (reagents.reagent_list.len==1) @@ -408,6 +419,7 @@ desc = "A big bag of flour. Good for baking!" icon = 'icons/obj/food.dmi' icon_state = "flour" + volume = 220 center_of_mass = list("x"=16, "y"=8) /obj/item/weapon/reagent_containers/food/condiment/flour/on_reagent_change() @@ -415,5 +427,20 @@ /obj/item/weapon/reagent_containers/food/condiment/flour/Initialize() . = ..() - reagents.add_reagent("flour", 30) - randpixel_xy() \ No newline at end of file + reagents.add_reagent("flour", 200) + randpixel_xy() + +/obj/item/weapon/reagent_containers/food/condiment/spacespice + name = "space spices" + desc = "An exotic blend of spices for cooking. Definitely not worms." + icon_state = "spacespicebottle" + possible_transfer_amounts = list(1,40) //for clown turning the lid off + amount_per_transfer_from_this = 1 + volume = 40 + +/obj/item/weapon/reagent_containers/food/condiment/spacespice/on_reagent_change() + return + +/obj/item/weapon/reagent_containers/food/condiment/spacespice/initialize() + ..() + reagents.add_reagent("spacespice", 40) \ No newline at end of file diff --git a/code/modules/food/food/snacks.dm b/code/modules/food/food/snacks.dm index 72ac7787ce2..e420dc4c0c5 100644 --- a/code/modules/food/food/snacks.dm +++ b/code/modules/food/food/snacks.dm @@ -14,6 +14,12 @@ var/survivalfood = FALSE var/nutriment_amt = 0 var/list/nutriment_desc = list("food" = 1) + var/datum/reagent/nutriment/coating/coating = null + var/icon/flat_icon = null //Used to cache a flat icon generated from dipping in batter. This is used again to make the cooked-batter-overlay + var/do_coating_prefix = 1 //If 0, we wont do "battered thing" or similar prefixes. Mainly for recipes that include batter but have a special name + var/cooked_icon = null //Used for foods that are "cooked" without being made into a specific recipe or combination. + //Generally applied during modification cooking with oven/fryer + //Used to stop deepfried meat from looking like slightly tanned raw meat, and make it actually look cooked center_of_mass = list("x"=16, "y"=16) w_class = ITEMSIZE_SMALL force = 0 @@ -150,6 +156,8 @@ /obj/item/weapon/reagent_containers/food/snacks/examine(mob/user) . = ..() if(Adjacent(user)) + if(coating) + to_chat(user, "It's coated in [coating.name]!") if(bitecount==0) return . else if (bitecount==1) @@ -161,7 +169,7 @@ /obj/item/weapon/reagent_containers/food/snacks/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W,/obj/item/weapon/storage)) - ..() // -> item/attackby() + . = ..() // -> item/attackby() return // Eating with forks @@ -273,7 +281,7 @@ // name = "Xenoburger" //Name that displays in the UI. // desc = "Smells caustic. Tastes like heresy." //Duh // icon_state = "xburger" //Refers to an icon in food.dmi -// New() //Don't mess with this. +// Initialize() //Don't mess with this. (We use Initialize now instead of New()) // ..() //Same here. // reagents.add_reagent("xenomicrobes", 10) //This is what is in the food item. you may copy/paste // reagents.add_reagent("nutriment", 2) // this line of code for all the contents. @@ -349,7 +357,7 @@ nutriment_desc = list("candy corn" = 4) /obj/item/weapon/reagent_containers/food/snacks/candy_corn/Initialize() - ..() + . = ..() reagents.add_reagent("sugar", 2) bitesize = 2 @@ -589,7 +597,7 @@ /obj/item/weapon/reagent_containers/food/snacks/egg/afterattack(obj/O as obj, mob/user as mob, proximity) if(istype(O,/obj/machinery/microwave)) - return ..() + return . = ..() if(!(proximity && O.is_open_container())) return to_chat(user, "You crack \the [src] into \the [O].") @@ -598,7 +606,7 @@ qdel(src) /obj/item/weapon/reagent_containers/food/snacks/egg/throw_impact(atom/hit_atom) - ..() + . = ..() new/obj/effect/decal/cleanable/egg_smudge(src.loc) src.reagents.splash(hit_atom, reagents.total_volume) src.visible_message("[src.name] has been squashed.","You hear a smack.") @@ -616,7 +624,7 @@ to_chat(usr, "You color \the [src] [clr]") icon_state = "egg-[clr]" else - ..() + . = ..() /obj/item/weapon/reagent_containers/food/snacks/egg/blue icon_state = "egg-blue" @@ -1116,7 +1124,7 @@ bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/pie/throw_impact(atom/hit_atom) - ..() + . = ..() new/obj/effect/decal/cleanable/pie_smudge(src.loc) src.visible_message("\The [src.name] splats.","You hear a splat.") qdel(src) @@ -1234,7 +1242,7 @@ nutriment_desc = list("sweetness" = 3, "mushroom" = 3, "pie" = 2) /obj/item/weapon/reagent_containers/food/snacks/amanita_pie/Initialize() - ..() + . = ..() reagents.add_reagent("amatoxin", 3) reagents.add_reagent("psilocybin", 1) bitesize = 3 @@ -1249,7 +1257,7 @@ nutriment_desc = list("heartiness" = 2, "mushroom" = 3, "pie" = 3) /obj/item/weapon/reagent_containers/food/snacks/plump_pie/Initialize() - ..() + . = ..() if(prob(10)) name = "exceptional plump pie" desc = "Microwave is taken by a fey mood! It has cooked an exceptional plump pie!" @@ -1363,7 +1371,7 @@ if(prob(unpopped)) //lol ...what's the point? to_chat(usr, "You bite down on an un-popped kernel!") unpopped = max(0, unpopped-1) - ..() + . = ..() /obj/item/weapon/reagent_containers/food/snacks/sosjerky name = "Scaredy's Private Reserve Beef Jerky" @@ -1374,7 +1382,7 @@ center_of_mass = list("x"=15, "y"=9) /obj/item/weapon/reagent_containers/food/snacks/sosjerky/Initialize() - ..() + . = ..() reagents.add_reagent("protein", 4) bitesize = 2 @@ -1389,7 +1397,7 @@ nutriment_desc = list("dried raisins" = 6) /obj/item/weapon/reagent_containers/food/snacks/no_raisin/Initialize() - ..() + . = ..() reagents.add_reagent("nutriment", 6) /obj/item/weapon/reagent_containers/food/snacks/spacetwinkie @@ -1663,7 +1671,7 @@ /obj/item/weapon/reagent_containers/food/snacks/slimesoup name = "slime soup" desc = "If no water is available, you may substitute tears." - icon_state = "rorosoup" //nonexistant? - 3/1/2020 FIXED. roro's live on. + icon_state = "slimesoup" //nonexistant? - 3/1/2020 FIXED. roro's live on. - 7/14/2020 - The fuck are you smoking, roro's is stupid, name it slimesoup so it's clear wtf it is. filling_color = "#C4DBA0" /obj/item/weapon/reagent_containers/food/snacks/slimesoup/Initialize() @@ -2404,9 +2412,9 @@ reagents.add_reagent("peanutbutter", 5) /obj/item/weapon/reagent_containers/food/snacks/boiledslimecore - name = "Boiled slime Core" + name = "Boiled Slime Core" desc = "A boiled red thing." - icon_state = "boiledslimecore" //nonexistant? + icon_state = "boiledslimecore" /obj/item/weapon/reagent_containers/food/snacks/boiledslimecore/Initialize() . = ..() @@ -3869,7 +3877,7 @@ /obj/item/weapon/reagent_containers/food/snacks/sashimi name = "carp sashimi" - desc = "Expertly prepared. Hopefully toxin got removed though." + desc = "Expertly prepared. Hopefully the toxins got removed." filling_color = "#FFDEFE" icon_state = "sashimi" nutriment_amt = 6 @@ -3922,7 +3930,7 @@ filling_color = "#E0CF9B" center_of_mass = list("x"=17, "y"=4) nutriment_amt = 6 - nutriment_desc = list("sweetness" = 2, "muffin" = 2) + nutriment_desc = list("sweetness" = 2, "muffin" = 2, "berries" = 2) /obj/item/weapon/reagent_containers/food/snacks/berrymuffin/Initialize() . = ..() @@ -4341,3 +4349,1687 @@ if(pixel_x || pixel_y) A.pixel_x = pixel_x A.pixel_y = pixel_y + +/obj/item/weapon/reagent_containers/food/snacks/macncheese + name = "macaroni and cheese" + desc = "The perfect combination of noodles and dairy." + icon = 'modular_citadel/icons/obj/food_cit.dmi' + icon_state = "macncheese" + trash = /obj/item/trash/snack_bowl + center_of_mass = list("x"=16, "y"=16) + nutriment_amt = 9 + nutriment_desc = list("Cheese" = 5, "pasta" = 4, "happiness" = 1) + +/obj/item/weapon/reagent_containers/food/snacks/macncheese/Initialize() + . = ..() + bitesize = 3 + +//Code for dipping food in batter +/obj/item/weapon/reagent_containers/food/snacks/afterattack(obj/O as obj, mob/user as mob, proximity) + if(O.is_open_container() && O.reagents && !(istype(O, /obj/item/weapon/reagent_containers/food))) + for (var/r in O.reagents.reagent_list) + + var/datum/reagent/R = r + if (istype(R, /datum/reagent/nutriment/coating)) + if (apply_coating(R, user)) + return 1 + + return . = ..() + +//This proc handles drawing coatings out of a container when this food is dipped into it +/obj/item/weapon/reagent_containers/food/snacks/proc/apply_coating(var/datum/reagent/nutriment/coating/C, var/mob/user) + if (coating) + user << "The [src] is already coated in [coating.name]!" + return 0 + + //Calculate the reagents of the coating needed + var/req = 0 + for (var/r in reagents.reagent_list) + var/datum/reagent/R = r + if (istype(R, /datum/reagent/nutriment)) + req += R.volume * 0.2 + else + req += R.volume * 0.1 + + req += w_class*0.5 + + if (!req) + //the food has no reagents left, its probably getting deleted soon + return 0 + + if (C.volume < req) + user << span("warning", "There's not enough [C.name] to coat the [src]!") + return 0 + + var/id = C.id + + //First make sure there's space for our batter + if (reagents.get_free_space() < req+5) + var/extra = req+5 - reagents.get_free_space() + reagents.maximum_volume += extra + + //Suck the coating out of the holder + C.holder.trans_to_holder(reagents, req) + + //We're done with C now, repurpose the var to hold a reference to our local instance of it + C = reagents.get_reagent(id) + if (!C) + return + + coating = C + //Now we have to do the witchcraft with masking images + //var/icon/I = new /icon(icon, icon_state) + + if (!flat_icon) + flat_icon = getFlatIcon(src) + var/icon/I = flat_icon + color = "#FFFFFF" //Some fruits use the color var. Reset this so it doesnt tint the batter + I.Blend(new /icon('icons/obj/food_custom.dmi', rgb(255,255,255)),ICON_ADD) + I.Blend(new /icon('icons/obj/food_custom.dmi', coating.icon_raw),ICON_MULTIPLY) + var/image/J = image(I) + J.alpha = 200 + J.blend_mode = BLEND_OVERLAY + J.tag = "coating" + overlays += J + + if (user) + user.visible_message(span("notice", "[user] dips \the [src] into \the [coating.name]"), span("notice", "You dip \the [src] into \the [coating.name]")) + + return 1 + + +//Called by cooking machines. This is mainly intended to set properties on the food that differ between raw/cooked +/obj/item/weapon/reagent_containers/food/snacks/proc/cook() + if (coating) + var/list/temp = overlays.Copy() + for (var/i in temp) + if (istype(i, /image)) + var/image/I = i + if (I.tag == "coating") + temp.Remove(I) + break + + overlays = temp + //Carefully removing the old raw-batter overlay + + if (!flat_icon) + flat_icon = getFlatIcon(src) + var/icon/I = flat_icon + color = "#FFFFFF" //Some fruits use the color var + I.Blend(new /icon('icons/obj/food_custom.dmi', rgb(255,255,255)),ICON_ADD) + I.Blend(new /icon('icons/obj/food_custom.dmi', coating.icon_cooked),ICON_MULTIPLY) + var/image/J = image(I) + J.alpha = 200 + J.tag = "coating" + overlays += J + + + if (do_coating_prefix == 1) + name = "[coating.coated_adj] [name]" + + for (var/r in reagents.reagent_list) + var/datum/reagent/R = r + if (istype(R, /datum/reagent/nutriment/coating)) + var/datum/reagent/nutriment/coating/C = R + C.data["cooked"] = 1 + C.name = C.cooked_name + +/obj/item/weapon/reagent_containers/food/snacks/proc/on_consume(var/mob/eater, var/mob/feeder = null) + if(!reagents.total_volume) + eater.visible_message("[eater] finishes eating \the [src].","You finish eating \the [src].") + + if (!feeder) + feeder = eater + + feeder.drop_from_inventory(src) //so icons update :[ //what the fuck is this???? + + if(trash) + if(ispath(trash,/obj/item)) + var/obj/item/TrashItem = new trash(feeder) + feeder.put_in_hands(TrashItem) + else if(istype(trash,/obj/item)) + feeder.put_in_hands(trash) + qdel(src) + return +//////////////////////////////////////////////////////////////////////////////// +/// FOOD END +//////////////////////////////////////////////////////////////////////////////// + +/mob/living + var/composition_reagent + var/composition_reagent_quantity + +/mob/living/simple_animal/adultslime + composition_reagent = "slimejelly" + +/mob/living/carbon/slime + composition_reagent = "slimejelly" + +/mob/living/carbon/alien/diona + composition_reagent = "nutriment"//Dionae are plants, so eating them doesn't give animal protein + +/mob/living/simple_animal/slime + composition_reagent = "slimejelly" + +/mob/living/simple_animal + var/kitchen_tag = "animal" //Used for cooking with animals + +/mob/living/simple_animal/mouse + kitchen_tag = "rodent" + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesewheel + slices_num = 8 + +/obj/item/weapon/reagent_containers/food/snacks/sausage/battered + name = "battered sausage" + desc = "A piece of mixed, long meat, battered and then deepfried." + icon = 'icons/obj/food_syn.dmi' + icon_state = "batteredsausage" + filling_color = "#DB0000" + center_of_mass = list("x"=16, "y"=16) + do_coating_prefix = 0 + New() + . = ..() + reagents.add_reagent("protein", 6) + reagents.add_reagent("batter", 1.7) + reagents.add_reagent("oil", 1.5) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/jalapeno_poppers + name = "jalapeno popper" + desc = "A battered, deep-fried chilli pepper." + icon = 'icons/obj/food_syn.dmi' + icon_state = "popper" + filling_color = "#00AA00" + center_of_mass = list("x"=10, "y"=6) + do_coating_prefix = 0 + nutriment_amt = 2 + nutriment_desc = list("chilli pepper" = 2) + bitesize = 1 + +/obj/item/weapon/reagent_containers/food/snacks/jalapeno_poppers/Initialize() + . = . = ..() + reagents.add_reagent("batter", 2) + reagents.add_reagent("oil", 2) + +/obj/item/weapon/reagent_containers/food/snacks/mouseburger + name = "mouse burger" + desc = "Squeaky and a little furry." + icon = 'icons/obj/food_syn.dmi' + icon_state = "ratburger" + center_of_mass = list("x"=16, "y"=11) + New() + . = ..() + reagents.add_reagent("protein", 4) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/chickenkatsu + name = "chicken katsu" + desc = "A Terran delicacy consisting of chicken fried in a light beer batter." + icon = 'icons/obj/food_syn.dmi' + icon_state = "katsu" + trash = /obj/item/trash/plate + filling_color = "#E9ADFF" + center_of_mass = list("x"=16, "y"=16) + do_coating_prefix = 0 + +/obj/item/weapon/reagent_containers/food/snacks/chickenkatsu/Initialize() + . = ..() + reagents.add_reagent("protein", 6) + reagents.add_reagent("beerbatter", 2) + reagents.add_reagent("oil", 1) + bitesize = 1.5 + +/obj/item/weapon/reagent_containers/food/snacks/fries + nutriment_amt = 4 + nutriment_desc = list("fries" = 4) + +/obj/item/weapon/reagent_containers/food/snacks/fries/Initialize() + . = ..() + reagents.add_reagent("oil", 1.2)//This is mainly for the benefit of adminspawning + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/microchips + name = "micro chips" + desc = "Soft and rubbery, should have fried them. Good for smaller crewmembers, maybe?" + icon = 'icons/obj/food_syn.dmi' + icon_state = "microchips" + trash = /obj/item/trash/plate + filling_color = "#EDDD00" + nutriment_amt = 4 + nutriment_desc = list("soggy fries" = 4) + center_of_mass = list("x"=16, "y"=11) + +/obj/item/weapon/reagent_containers/food/snacks/microchips/Initialize() + . = ..() + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/ovenchips + name = "oven chips" + desc = "Dark and crispy, but a bit dry." + icon = 'icons/obj/food_syn.dmi' + icon_state = "ovenchips" + trash = /obj/item/trash/plate + filling_color = "#EDDD00" + nutriment_amt = 4 + nutriment_desc = list("crisp, dry fries" = 4) + center_of_mass = list("x"=16, "y"=11) + +/obj/item/weapon/reagent_containers/food/snacks/ovenchips/Initialize() + . = ..() + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/meatsteak/Initialize() + . = ..() + reagents.add_reagent("protein", 6) + reagents.add_reagent("triglyceride", 2) + reagents.add_reagent("sodiumchloride", 1) + reagents.add_reagent("blackpepper", 1) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/crunch + name = "pizza crunch" + desc = "This was once a normal pizza, but it has been coated in batter and deep-fried. Whatever toppings it once had are a mystery, but they're still under there, somewhere..." + icon = 'icons/obj/food_syn.dmi' + icon_state = "pizzacrunch" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/pizzacrunchslice + slices_num = 6 + nutriment_amt = 25 + nutriment_desc = list("fried pizza" = 25) + center_of_mass = list("x"=16, "y"=11) + + New() + . = ..() + reagents.add_reagent("batter", 6.5) + coating = reagents.get_reagent("batter") + reagents.add_reagent("oil", 4) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/pizzacrunchslice + name = "pizza crunch" + desc = "A little piece of a heart attack. It's toppings are a mystery, hidden under batter" + icon = 'icons/obj/food_syn.dmi' + icon_state = "pizzacrunchslice" + filling_color = "#BAA14C" + bitesize = 2 + center_of_mass = list("x"=18, "y"=13) + +/obj/item/weapon/reagent_containers/food/snacks/funnelcake + name = "funnel cake" + desc = "Funnel cakes rule!" + icon = 'icons/obj/food_syn.dmi' + icon_state = "funnelcake" + filling_color = "#Ef1479" + center_of_mass = list("x"=16, "y"=12) + do_coating_prefix = 0 + +/obj/item/weapon/reagent_containers/food/snacks/funnelcake/Initialize() + . = ..() + reagents.add_reagent("batter", 10) + reagents.add_reagent("sugar", 5) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/spreads + name = "nutri-spread" + desc = "A stick of plant-based nutriments in a semi-solid form. I can't believe it's not margarine!" + icon = 'icons/obj/food_syn.dmi' + icon_state = "marge" + bitesize = 2 + center_of_mass = list("x"=16, "y"=16) + nutriment_desc = list("margarine" = 1) + nutriment_amt = 20 + +/obj/item/weapon/reagent_containers/food/snacks/spreads/butter + name = "butter" + desc = "A stick of pure butterfat made from milk products." + icon = 'icons/obj/food_syn.dmi' + icon_state = "butter" + bitesize = 2 + center_of_mass = list("x"=16, "y"=16) + nutriment_desc = list("butter" = 1) + nutriment_amt = 0 + +/obj/item/weapon/reagent_containers/food/snacks/spreads/Initialize() + . = . = ..() + reagents.add_reagent("triglyceride", 20) + reagents.add_reagent("sodiumchloride",1) + +/obj/item/weapon/reagent_containers/food/snacks/rawcutlet/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W,/obj/item/weapon/material/knife)) + new /obj/item/weapon/reagent_containers/food/snacks/rawbacon(src) + new /obj/item/weapon/reagent_containers/food/snacks/rawbacon(src) + to_chat(user, "You slice the cutlet into thin strips of bacon.") + qdel(src) + else + . = ..() + +/obj/item/weapon/reagent_containers/food/snacks/rawbacon + name = "raw bacon" + desc = "A very thin piece of raw meat, cut from beef." + icon = 'icons/obj/food_syn.dmi' + icon_state = "rawbacon" + bitesize = 1 + center_of_mass = list("x"=16, "y"=16) + +/obj/item/weapon/reagent_containers/food/snacks/rawbacon/Initialize() + . = . = ..() + reagents.add_reagent("protein", 0.33) + +/obj/item/weapon/reagent_containers/food/snacks/bacon + name = "bacon" + desc = "A tasty meat slice. You don't see any pigs on this station, do you?" + icon = 'icons/obj/food_syn.dmi' + icon_state = "bacon" + bitesize = 2 + center_of_mass = list("x"=16, "y"=16) + +/obj/item/weapon/reagent_containers/food/snacks/bacon/microwave + name = "microwaved bacon" + desc = "A tasty meat slice. You don't see any pigs on this station, do you?" + icon = 'icons/obj/food_syn.dmi' + icon_state = "bacon" + bitesize = 2 + center_of_mass = list("x"=16, "y"=16) + +/obj/item/weapon/reagent_containers/food/snacks/bacon/oven + name = "oven-cooked bacon" + desc = "A tasty meat slice. You don't see any pigs on this station, do you?" + icon = 'icons/obj/food_syn.dmi' + icon_state = "bacon" + bitesize = 2 + center_of_mass = list("x"=16, "y"=16) + +/obj/item/weapon/reagent_containers/food/snacks/bacon/Initialize() + . = . = ..() + reagents.add_reagent("protein", 0.33) + reagents.add_reagent("triglyceride", 1) + +/obj/item/weapon/reagent_containers/food/snacks/bacon_stick + name = "eggpop" + desc = "A bacon wrapped boiled egg, conviently skewered on a wooden stick." + icon = 'icons/obj/food_syn.dmi' + icon_state = "bacon_stick" + +/obj/item/weapon/reagent_containers/food/snacks/bacon_stick/Initialize() + . = . = ..() + reagents.add_reagent("protein", 3) + reagents.add_reagent("egg", 1) + +/obj/item/weapon/reagent_containers/food/snacks/chilied_eggs + name = "chilied eggs" + desc = "Three deviled eggs floating in a bowl of meat chili. A popular lunchtime meal for Unathi in Ouerea." + icon_state = "chilied_eggs" + trash = /obj/item/trash/snack_bowl + +/obj/item/weapon/reagent_containers/food/snacks/chilied_eggs/Initialize() + . = . = ..() + reagents.add_reagent("egg", 6) + reagents.add_reagent("protein", 2) + + +/obj/item/weapon/reagent_containers/food/snacks/cheese_cracker + name = "supreme cheese toast" + desc = "A piece of toast lathered with butter, cheese, spices, and herbs." + icon = 'icons/obj/food_syn.dmi' + icon_state = "cheese_cracker" + nutriment_desc = list("cheese toast" = 8) + nutriment_amt = 8 + +/obj/item/weapon/reagent_containers/food/snacks/bacon_and_eggs + name = "bacon and eggs" + desc = "A piece of bacon and two fried eggs." + icon = 'icons/obj/food_syn.dmi' + icon_state = "bacon_and_eggs" + trash = /obj/item/trash/plate + +/obj/item/weapon/reagent_containers/food/snacks/bacon_and_eggs/Initialize() + . = . = ..() + reagents.add_reagent("protein", 3) + reagents.add_reagent("egg", 1) + +/obj/item/weapon/reagent_containers/food/snacks/sweet_and_sour + name = "sweet and sour pork" + desc = "A traditional ancient sol recipe with a few liberties taken with meat selection." + icon = 'icons/obj/food_syn.dmi' + icon_state = "sweet_and_sour" + nutriment_desc = list("sweet and sour" = 6) + nutriment_amt = 6 + trash = /obj/item/trash/plate + +/obj/item/weapon/reagent_containers/food/snacks/sweet_and_sour/Initialize() + . = . = ..() + reagents.add_reagent("protein", 3) + +/obj/item/weapon/reagent_containers/food/snacks/corn_dog + name = "corn dog" + desc = "A cornbread covered sausage deepfried in oil." + icon = 'icons/obj/food_syn.dmi' + icon_state = "corndog" + nutriment_desc = list("corn batter" = 4) + nutriment_amt = 4 + +/obj/item/weapon/reagent_containers/food/snacks/corn_dog/Initialize() + . = . = ..() + reagents.add_reagent("protein", 3) + +/obj/item/weapon/reagent_containers/food/snacks/truffle + name = "chocolate truffle" + desc = "Rich bite-sized chocolate." + icon = 'icons/obj/food_syn.dmi' + icon_state = "truffle" + nutriment_amt = 0 + bitesize = 4 + +/obj/item/weapon/reagent_containers/food/snacks/truffle/Initialize() + . = . = ..() + reagents.add_reagent("coco", 6) + +/obj/item/weapon/reagent_containers/food/snacks/truffle/random + name = "mystery chocolate truffle" + desc = "Rich bite-sized chocolate with a mystery filling!" + +/obj/item/weapon/reagent_containers/food/snacks/truffle/random/Initialize() + . = . = ..() + var/reagent_string = pick(list("cream","cherryjelly","mint","frostoil","capsaicin","cream","coffee","milkshake")) + reagents.add_reagent(reagent_string, 4) + +/obj/item/weapon/reagent_containers/food/snacks/bacon_flatbread + name = "bacon cheese flatbread" + desc = "Not a pizza." + icon_state = "bacon_pizza" + icon = 'icons/obj/food_syn.dmi' + nutriment_desc = list("flatbread" = 5) + nutriment_amt = 5 + +/obj/item/weapon/reagent_containers/food/snacks/bacon_flatbread/Initialize() + . = . = ..() + reagents.add_reagent("protein", 5) + +/obj/item/weapon/reagent_containers/food/snacks/meat_pocket + name = "meat pocket" + desc = "Meat and cheese stuffed in a flatbread pocket, grilled to perfection." + icon = 'icons/obj/food_syn.dmi' + icon_state = "meat_pocket" + nutriment_desc = list("flatbread" = 3) + nutriment_amt = 3 + +/obj/item/weapon/reagent_containers/food/snacks/meat_pocket/Initialize() + . = . = ..() + reagents.add_reagent("protein", 3) + +/obj/item/weapon/reagent_containers/food/snacks/fish_taco + name = "carp taco" + desc = "A questionably cooked fish taco decorated with herbs, spices, and special sauce." + icon = 'icons/obj/food_syn.dmi' + icon_state = "fish_taco" + nutriment_desc = list("flatbread" = 3) + nutriment_amt = 3 + +/obj/item/weapon/reagent_containers/food/snacks/fish_taco/Initialize() + . = . = ..() + reagents.add_reagent("seafood",3) + +/obj/item/weapon/reagent_containers/food/snacks/nt_muffin + name = "\improper NtMuffin" + desc = "A NanoTrasen sponsered biscuit with egg, cheese, and sausage." + icon = 'icons/obj/food_syn.dmi' + icon_state = "nt_muffin" + nutriment_desc = list("biscuit" = 3) + nutriment_amt = 3 + +/obj/item/weapon/reagent_containers/food/snacks/nt_muffin/Initialize() + . = . = ..() + reagents.add_reagent("protein",5) + +/obj/item/weapon/reagent_containers/food/snacks/pineapple_ring + name = "pineapple ring" + desc = "What the hell is this?" + icon = 'icons/obj/food_syn.dmi' + icon_state = "pineapple_ring" + nutriment_desc = list("sweetness" = 2) + nutriment_amt = 2 + +/obj/item/weapon/reagent_containers/food/snacks/pineapple_ring/Initialize() + . = . = ..() + reagents.add_reagent("pineapplejuice",3) + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/pineapple + name = "ham & pineapple pizza" + desc = "One of the most debated pizzas in existence." + icon = 'icons/obj/food_syn.dmi' + icon_state = "pineapple_pizza" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/pineappleslice + slices_num = 6 + center_of_mass = list("x"=16, "y"=11) + nutriment_desc = list("pizza crust" = 10, "tomato" = 10, "ham" = 10) + nutriment_amt = 30 + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/pineapple/Initialize() + . = . = ..() + reagents.add_reagent("protein", 4) + reagents.add_reagent("cheese", 5) + reagents.add_reagent("tomatojuice", 6) + +/obj/item/weapon/reagent_containers/food/snacks/pineappleslice + name = "ham & pineapple pizza slice" + desc = "A slice of contraband." + icon = 'icons/obj/food_syn.dmi' + icon_state = "pineapple_pizza_slice" + filling_color = "#BAA14C" + bitesize = 2 + center_of_mass = list("x"=18, "y"=13) + +/obj/item/weapon/reagent_containers/food/snacks/pineappleslice/filled + nutriment_desc = list("pizza crust" = 5, "tomato" = 5) + nutriment_amt = 5 + +/obj/item/weapon/reagent_containers/food/snacks/burger/bacon + name = "bacon burger" + desc = "The cornerstone of every nutritious breakfast, now with bacon!" + icon = 'icons/obj/food_syn.dmi' + icon_state = "baconburger" + filling_color = "#D63C3C" + center_of_mass = list("x"=16, "y"=11) + nutriment_desc = list("bun" = 2) + nutriment_amt = 3 + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/burger/bacon/Initialize() + . = . = ..() + reagents.add_reagent("protein", 4) + +/obj/item/weapon/reagent_containers/food/snacks/blt + name = "BLT" + desc = "Bacon, lettuce, tomatoes. The perfect lunch." + icon = 'icons/obj/food_syn.dmi' + icon_state = "blt" + filling_color = "#D63C3C" + center_of_mass = list("x"=16, "y"=16) + nutriment_desc = list("bread" = 4) + nutriment_amt = 4 + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/blt/Initialize() + . = . = ..() + reagents.add_reagent("protein", 4) + +/obj/item/weapon/reagent_containers/food/snacks/onionrings + name = "onion rings" + desc = "Like circular fries but better." + icon = 'icons/obj/food_syn.dmi' + icon_state = "onionrings" + trash = /obj/item/trash/plate + filling_color = "#eddd00" + center_of_mass = list("x"=16,"y"=11) + nutriment_desc = list("fried onions" = 5) + nutriment_amt = 5 + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/berrymuffin + name = "berry muffin" + desc = "A delicious and spongy little cake, with berries." + icon = 'icons/obj/food_syn.dmi' + icon_state = "berrymuffin" + filling_color = "#E0CF9B" + center_of_mass = list("x"=17, "y"=4) + nutriment_amt = 5 + nutriment_desc = list("sweetness" = 1, "muffin" = 2, "berries" = 2) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/soup/onion + name = "onion soup" + desc = "A soup with layers." + icon = 'icons/obj/food_syn.dmi' + icon_state = "onionsoup" + trash = /obj/item/trash/snack_bowl + filling_color = "#E0C367" + center_of_mass = list("x"=16, "y"=7) + nutriment_amt = 5 + nutriment_desc = list("onion" = 2, "soup" = 2) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/porkbowl + name = "pork bowl" + desc = "A bowl of fried rice with cuts of meat." + icon = 'icons/obj/food_syn.dmi' + icon_state = "porkbowl" + trash = /obj/item/trash/snack_bowl + filling_color = "#FFFBDB" + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/porkbowl/Initialize() + . = ..() + reagents.add_reagent("rice", 6) + reagents.add_reagent("protein", 4) + +/obj/item/weapon/reagent_containers/food/snacks/mashedpotato + name = "mashed potato" + desc = "Pillowy mounds of mashed potato." + icon = 'icons/obj/food_syn.dmi' + icon_state = "mashedpotato" + trash = /obj/item/trash/plate + filling_color = "#EDDD00" + center_of_mass = list("x"=16, "y"=11) + nutriment_amt = 4 + nutriment_desc = list("mashed potatoes" = 4) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/croissant + name = "croissant" + desc = "True french cuisine." + icon = 'icons/obj/food_syn.dmi' + filling_color = "#E3D796" + icon_state = "croissant" + nutriment_amt = 4 + nutriment_desc = list("french bread" = 4) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/crabmeat + name = "crab legs" + desc = "... Coffee? Is that you?" + icon = 'icons/obj/food_syn.dmi' + icon_state = "crabmeat" + bitesize = 1 + +/obj/item/weapon/reagent_containers/food/snacks/crabmeat/Initialize() + . = . = ..() + reagents.add_reagent("seafood", 2) + +/obj/item/weapon/reagent_containers/food/snacks/crab_legs + name = "steamed crab legs" + desc = "Crab legs steamed and buttered to perfection. One day when the boss gets hungry..." + icon = 'icons/obj/food_syn.dmi' + icon_state = "crablegs" + nutriment_amt = 2 + nutriment_desc = list("savory butter" = 2) + bitesize = 2 + trash = /obj/item/trash/plate + +/obj/item/weapon/reagent_containers/food/snacks/crab_legs/Initialize() + . = . = ..() + reagents.add_reagent("seafood", 6) + reagents.add_reagent("sodiumchloride", 1) + +/obj/item/weapon/reagent_containers/food/snacks/pancakes + name = "pancakes" + desc = "Pancakes with berries, delicious." + icon = 'icons/obj/food_syn.dmi' + icon_state = "pancakes" + trash = /obj/item/trash/plate + center_of_mass = list("x"=15, "y"=11) + nutriment_desc = list("pancake" = 8) + nutriment_amt = 8 + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/nugget + name = "chicken nugget" + icon = 'icons/obj/food_syn.dmi' + icon_state = "nugget_lump" + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/nugget/Initialize() + . = . = ..() + var/shape = pick("lump", "star", "lizard", "corgi") + desc = "A chicken nugget vaguely shaped like a [shape]." + icon_state = "nugget_[shape]" + reagents.add_reagent("protein", 4) + +/obj/item/weapon/reagent_containers/food/snacks/icecreamsandwich + name = "ice cream sandwich" + desc = "Portable ice cream in its own packaging." + icon = 'icons/obj/food_syn.dmi' + icon_state = "icecreamsandwich" + filling_color = "#343834" + center_of_mass = list("x"=15, "y"=4) + nutriment_desc = list("ice cream" = 4) + nutriment_amt = 4 + +/obj/item/weapon/reagent_containers/food/snacks/honeybun + name = "honey bun" + desc = "A sticky pastry bun glazed with honey." + icon = 'icons/obj/food_syn.dmi' + icon_state = "honeybun" + nutriment_desc = list("pastry" = 1) + nutriment_amt = 3 + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/honeybun/Initialize() + . = . = ..() + reagents.add_reagent("honey", 3) + +// Moved /bun/attackby() from /code/modules/food/food/snacks.dm +/obj/item/weapon/reagent_containers/food/snacks/bun/attackby(obj/item/weapon/W as obj, mob/user as mob) + var/obj/item/weapon/reagent_containers/food/snacks/result = null + // Bun + meatball = burger + if(istype(W,/obj/item/weapon/reagent_containers/food/snacks/meatball)) + result = new /obj/item/weapon/reagent_containers/food/snacks/monkeyburger(src) + to_chat(user, "You make a burger.") + qdel(W) + qdel(src) + + // Bun + cutlet = hamburger + else if(istype(W,/obj/item/weapon/reagent_containers/food/snacks/cutlet)) + result = new /obj/item/weapon/reagent_containers/food/snacks/monkeyburger(src) + to_chat(user, "You make a burger.") + qdel(W) + qdel(src) + + // Bun + sausage = hotdog + else if(istype(W,/obj/item/weapon/reagent_containers/food/snacks/sausage)) + result = new /obj/item/weapon/reagent_containers/food/snacks/hotdog(src) + to_chat(user, "You make a hotdog.") + qdel(W) + qdel(src) + + // Bun + mouse = mouseburger + else if(istype(W,/obj/item/weapon/reagent_containers/food/snacks/variable/mob)) + var/obj/item/weapon/reagent_containers/food/snacks/variable/mob/MF = W + + switch (MF.kitchen_tag) + if ("rodent") + result = new /obj/item/weapon/reagent_containers/food/snacks/mouseburger(src) + to_chat(user, "You make a mouseburger!") + + if (result) + if (W.reagents) + //Reagents of reuslt objects will be the sum total of both. Except in special cases where nonfood items are used + //Eg robot head + result.reagents.clear_reagents() + W.reagents.trans_to(result, W.reagents.total_volume) + reagents.trans_to(result, reagents.total_volume) + + //If the bun was in your hands, the result will be too + if (loc == user) + user.drop_from_inventory(src) + user.put_in_hands(result) + +// Chip update. +/obj/item/weapon/reagent_containers/food/snacks/tortilla + name = "tortilla" + desc = "A thin, flour-based tortilla that can be used in a variety of dishes, or can be served as is." + icon = 'icons/obj/food_syn.dmi' + icon_state = "tortilla" + bitesize = 3 + nutriment_desc = list("tortilla" = 1) + center_of_mass = list("x"=16, "y"=16) + nutriment_amt = 6 + +//chips +/obj/item/weapon/reagent_containers/food/snacks/chip + name = "chip" + desc = "A portion sized chip good for dipping." + icon = 'icons/obj/food_syn.dmi' + icon_state = "chip" + var/bitten_state = "chip_half" + bitesize = 1 + center_of_mass = list("x"=16, "y"=16) + nutriment_desc = list("nacho chips" = 1) + nutriment_amt = 2 + +/obj/item/weapon/reagent_containers/food/snacks/chip/on_consume(mob/M as mob) + if(reagents && reagents.total_volume) + icon_state = bitten_state + . = . = ..() + +/obj/item/weapon/reagent_containers/food/snacks/chip/salsa + name = "salsa chip" + desc = "A portion sized chip good for dipping. This one has salsa on it." + icon_state = "chip_salsa" + bitten_state = "chip_half" + +/obj/item/weapon/reagent_containers/food/snacks/chip/guac + name = "guac chip" + desc = "A portion sized chip good for dipping. This one has guac on it." + icon_state = "chip_guac" + bitten_state = "chip_half" + +/obj/item/weapon/reagent_containers/food/snacks/chip/cheese + name = "cheese chip" + desc = "A portion sized chip good for dipping. This one has cheese sauce on it." + icon_state = "chip_cheese" + bitten_state = "chip_half" + +/obj/item/weapon/reagent_containers/food/snacks/chip/nacho + name = "nacho chip" + desc = "A nacho ship stray from a plate of cheesy nachos." + icon_state = "chip_nacho" + bitten_state = "chip_half" + +/obj/item/weapon/reagent_containers/food/snacks/chip/nacho/salsa + name = "nacho chip" + desc = "A nacho ship stray from a plate of cheesy nachos. This one has salsa on it." + icon_state = "chip_nacho_salsa" + bitten_state = "chip_half" + +/obj/item/weapon/reagent_containers/food/snacks/chip/nacho/guac + name = "nacho chip" + desc = "A nacho ship stray from a plate of cheesy nachos. This one has guac on it." + icon_state = "chip_nacho_guac" + bitten_state = "chip_half" + +/obj/item/weapon/reagent_containers/food/snacks/chip/nacho/cheese + name = "nacho chip" + desc = "A nacho ship stray from a plate of cheesy nachos. This one has extra cheese on it." + icon_state = "chip_nacho_cheese" + bitten_state = "chip_half" + +// chip plates +/obj/item/weapon/reagent_containers/food/snacks/chipplate + name = "basket of chips" + desc = "A plate of chips intended for dipping." + icon = 'icons/obj/food_syn.dmi' + icon_state = "chip_basket" + trash = /obj/item/trash/chipbasket + var/vendingobject = /obj/item/weapon/reagent_containers/food/snacks/chip + nutriment_desc = list("tortilla chips" = 10) + bitesize = 1 + nutriment_amt = 10 + +/obj/item/weapon/reagent_containers/food/snacks/chipplate/attack_hand(mob/user as mob) + var/obj/item/weapon/reagent_containers/food/snacks/returningitem = new vendingobject(loc) + returningitem.reagents.clear_reagents() + reagents.trans_to(returningitem, bitesize) + returningitem.bitesize = bitesize/2 + user.put_in_hands(returningitem) + if (reagents && reagents.total_volume) + to_chat(user, "You take a chip from the plate.") + else + to_chat(user, "You take the last chip from the plate.") + var/obj/waste = new trash(loc) + if (loc == user) + user.put_in_hands(waste) + qdel(src) + +/obj/item/weapon/reagent_containers/food/snacks/chipplate/MouseDrop(mob/user) //Dropping the chip onto the user + if(istype(user) && user == usr) + user.put_in_active_hand(src) + src.pickup(user) + return + . = . = ..() + +/obj/item/weapon/reagent_containers/food/snacks/chipplate/nachos + name = "plate of nachos" + desc = "A very cheesy nacho plate." + icon_state = "nachos" + trash = /obj/item/trash/plate + vendingobject = /obj/item/weapon/reagent_containers/food/snacks/chip/nacho + nutriment_desc = list("tortilla chips" = 10) + bitesize = 1 + nutriment_amt = 10 + +//dips +/obj/item/weapon/reagent_containers/food/snacks/dip + name = "queso dip" + desc = "A simple, cheesy dip consisting of tomatos, cheese, and spices." + var/nachotrans = /obj/item/weapon/reagent_containers/food/snacks/chip/nacho/cheese + var/chiptrans = /obj/item/weapon/reagent_containers/food/snacks/chip/cheese + icon = 'icons/obj/food_syn.dmi' + icon_state = "dip_cheese" + trash = /obj/item/trash/dipbowl + bitesize = 1 + nutriment_desc = list("queso" = 20) + center_of_mass = list("x"=16, "y"=16) + nutriment_amt = 20 + +/obj/item/weapon/reagent_containers/food/snacks/dip/attackby(obj/item/weapon/reagent_containers/food/snacks/item as obj, mob/user as mob) + . = . = ..() + var/obj/item/weapon/reagent_containers/food/snacks/returningitem + if(istype(item,/obj/item/weapon/reagent_containers/food/snacks/chip/nacho) && item.icon_state == "chip_nacho") + returningitem = new nachotrans(src) + else if (istype(item,/obj/item/weapon/reagent_containers/food/snacks/chip) && (item.icon_state == "chip" || item.icon_state == "chip_half")) + returningitem = new chiptrans(src) + if(returningitem) + returningitem.reagents.clear_reagents() //Clear the new chip + var/memed = 0 + item.reagents.trans_to(returningitem, item.reagents.total_volume) //Old chip to new chip + if(item.icon_state == "chip_half") + returningitem.icon_state = "[returningitem.icon_state]_half" + returningitem.bitesize = Clamp(returningitem.reagents.total_volume,1,10) + else if(prob(1)) + memed = 1 + user << "You scoop up some dip with the chip, but mid-scop, the chip breaks off into the dreadful abyss of dip, never to be seen again..." + returningitem.icon_state = "[returningitem.icon_state]_half" + returningitem.bitesize = Clamp(returningitem.reagents.total_volume,1,10) + else + returningitem.bitesize = Clamp(returningitem.reagents.total_volume*0.5,1,10) + qdel(item) + reagents.trans_to(returningitem, bitesize) //Dip to new chip + user.put_in_hands(returningitem) + + if (reagents && reagents.total_volume) + if(!memed) + user << "You scoop up some dip with the chip." + else + if(!memed) + user << "You scoop up the remaining dip with the chip." + var/obj/waste = new trash(loc) + if (loc == user) + user.put_in_hands(waste) + qdel(src) + +/obj/item/weapon/reagent_containers/food/snacks/dip/salsa + name = "salsa dip" + desc = "Traditional Sol chunky salsa dip containing tomatos, peppers, and spices." + nachotrans = /obj/item/weapon/reagent_containers/food/snacks/chip/nacho/salsa + chiptrans = /obj/item/weapon/reagent_containers/food/snacks/chip/salsa + icon_state = "dip_salsa" + nutriment_desc = list("salsa" = 20) + nutriment_amt = 20 + +/obj/item/weapon/reagent_containers/food/snacks/dip/guac + name = "guac dip" + desc = "A recreation of the ancient Sol 'Guacamole' dip using tofu, limes, and spices. This recreation obviously leaves out mole meat." + nachotrans = /obj/item/weapon/reagent_containers/food/snacks/chip/nacho/guac + chiptrans = /obj/item/weapon/reagent_containers/food/snacks/chip/guac + icon_state = "dip_guac" + nutriment_desc = list("guacmole" = 20) + nutriment_amt = 20 + +//burritos +/obj/item/weapon/reagent_containers/food/snacks/burrito + name = "meat burrito" + desc = "Meat wrapped in a flour tortilla. It's a burrito by definition." + icon = 'icons/obj/food_syn.dmi' + icon_state = "burrito" + bitesize = 4 + center_of_mass = list("x"=16, "y"=16) + nutriment_desc = list("tortilla" = 6) + nutriment_amt = 6 + +/obj/item/weapon/reagent_containers/food/snacks/burrito/Initialize() + . = . = ..() + reagents.add_reagent("protein", 4) + + +/obj/item/weapon/reagent_containers/food/snacks/burrito_vegan + name = "vegan burrito" + desc = "Tofu wrapped in a flour tortilla. Those seen with this food object are Valid." + icon = 'icons/obj/food_syn.dmi' + icon_state = "burrito_vegan" + bitesize = 4 + center_of_mass = list("x"=16, "y"=16) + nutriment_desc = list("tortilla" = 6) + nutriment_amt = 6 + +/obj/item/weapon/reagent_containers/food/snacks/burrito_vegan/Initialize() + . = . = ..() + reagents.add_reagent("tofu", 6) + +/obj/item/weapon/reagent_containers/food/snacks/burrito_spicy + name = "spicy meat burrito" + desc = "Meat and chilis wrapped in a flour tortilla." + icon = 'icons/obj/food_syn.dmi' + icon_state = "burrito_spicy" + bitesize = 4 + center_of_mass = list("x"=16, "y"=16) + nutriment_desc = list("tortilla" = 6) + nutriment_amt = 6 + +/obj/item/weapon/reagent_containers/food/snacks/burrito_spicy/Initialize() + . = . = ..() + reagents.add_reagent("protein", 6) + +/obj/item/weapon/reagent_containers/food/snacks/burrito_cheese + name = "meat cheese burrito" + desc = "Meat and melted cheese wrapped in a flour tortilla." + icon = 'icons/obj/food_syn.dmi' + icon_state = "burrito_cheese" + bitesize = 4 + center_of_mass = list("x"=16, "y"=16) + nutriment_desc = list("tortilla" = 6) + nutriment_amt = 6 + +/obj/item/weapon/reagent_containers/food/snacks/burrito_cheese/Initialize() + . = . = ..() + reagents.add_reagent("protein", 6) + +/obj/item/weapon/reagent_containers/food/snacks/burrito_cheese_spicy + name = "spicy cheese meat burrito" + desc = "Meat, melted cheese, and chilis wrapped in a flour tortilla." + icon_state = "burrito_cheese_spicy" + bitesize = 4 + center_of_mass = list("x"=16, "y"=16) + nutriment_desc = list("tortilla" = 6) + nutriment_amt = 6 + +/obj/item/weapon/reagent_containers/food/snacks/burrito_cheese_spicy/Initialize() + . = . = ..() + reagents.add_reagent("protein", 6) + +/obj/item/weapon/reagent_containers/food/snacks/burrito_hell + name = "el diablo" + desc = "Meat and an insane amount of chilis packed in a flour tortilla. The Chaplain will see you now." + icon = 'icons/obj/food_syn.dmi' + icon_state = "burrito_hell" + bitesize = 4 + center_of_mass = list("x"=16, "y"=16) + nutriment_desc = list("hellfire" = 6) + nutriment_amt = 24// 10 Chilis is a lot. + +/obj/item/weapon/reagent_containers/food/snacks/breakfast_wrap + name = "breakfast wrap" + desc = "Bacon, eggs, cheese, and tortilla grilled to perfection." + icon = 'icons/obj/food_syn.dmi' + icon_state = "breakfast_wrap" + bitesize = 4 + center_of_mass = list("x"=16, "y"=16) + nutriment_desc = list("tortilla" = 6) + nutriment_amt = 6 + +/obj/item/weapon/reagent_containers/food/snacks/burrito_hell/Initialize() + . = . = ..() + reagents.add_reagent("protein", 9) + reagents.add_reagent("condensedcapsaicin", 20) //what could possibly go wrong + +/obj/item/weapon/reagent_containers/food/snacks/burrito_mystery + name = "mystery meat burrito" + desc = "The mystery is, why aren't you BSAing it?" + icon = 'icons/obj/food_syn.dmi' + icon_state = "burrito_mystery" + bitesize = 5 + center_of_mass = list("x"=16, "y"=16) + nutriment_desc = list("regret" = 6) + nutriment_amt = 6 + +/obj/item/weapon/reagent_containers/food/snacks/hatchling_suprise + name = "hatchling suprise" + desc = "A poached egg on top of three slices of bacon. A typical breakfast for hungry Unathi children." + icon = 'icons/obj/food_syn.dmi' + icon_state = "hatchling_suprise" + trash = /obj/item/trash/snack_bowl + +/obj/item/weapon/reagent_containers/food/snacks/hatchling_suprise/Initialize() + . = . = ..() + reagents.add_reagent("egg", 2) + reagents.add_reagent("protein", 4) + +/obj/item/weapon/reagent_containers/food/snacks/red_sun_special + name = "red sun special" + desc = "One lousy piece of sausage sitting on melted cheese curds. A cheap meal for the Unathi peasants of Moghes." + icon = 'icons/obj/food_syn.dmi' + icon_state = "red_sun_special" + trash = /obj/item/trash/plate + +/obj/item/weapon/reagent_containers/food/snacks/red_sun_special/Initialize() + . = . = ..() + reagents.add_reagent("protein", 2) + +/obj/item/weapon/reagent_containers/food/snacks/riztizkzi_sea + name = "moghesian sea delight" + desc = "Three raw eggs floating in a sea of blood. An authentic replication of an ancient Unathi delicacy." + icon = 'icons/obj/food_syn.dmi' + icon_state = "riztizkzi_sea" + trash = /obj/item/trash/snack_bowl + +/obj/item/weapon/reagent_containers/food/snacks/riztizkzi_sea/Initialize() + . = . = ..() + reagents.add_reagent("egg", 4) + +/obj/item/weapon/reagent_containers/food/snacks/father_breakfast + name = "breakfast of champions" + desc = "A sausage and an omelette on top of a grilled steak." + icon = 'icons/obj/food_syn.dmi' + icon_state = "father_breakfast" + trash = /obj/item/trash/plate + +/obj/item/weapon/reagent_containers/food/snacks/father_breakfast/Initialize() + . = . = ..() + reagents.add_reagent("egg", 4) + reagents.add_reagent("protein", 6) + +/obj/item/weapon/reagent_containers/food/snacks/stuffed_meatball + name = "stuffed meatball" //YES + desc = "A meatball loaded with cheese." + icon = 'icons/obj/food_syn.dmi' + icon_state = "stuffed_meatball" + +/obj/item/weapon/reagent_containers/food/snacks/stuffed_meatball/Initialize() + . = . = ..() + reagents.add_reagent("protein", 4) + +/obj/item/weapon/reagent_containers/food/snacks/egg_pancake + name = "meat pancake" + desc = "An omelette baked on top of a giant meat patty. This monstrousity is typically shared between four people during a dinnertime meal." + icon = 'icons/obj/food_syn.dmi' + icon_state = "egg_pancake" + trash = /obj/item/trash/plate + +/obj/item/weapon/reagent_containers/food/snacks/egg_pancake/Initialize() + . = . = ..() + reagents.add_reagent("protein", 6) + reagents.add_reagent("egg", 2) + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/grilled_carp + name = "korlaaskak" + desc = "A well-dressed carp, seared to perfection and adorned with herbs and spices. Can be sliced into proper serving sizes." + icon = 'icons/obj/food_syn.dmi' + icon_state = "grilled_carp" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/grilled_carp_slice + slices_num = 6 + trash = /obj/item/trash/snacktray + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/grilled_carp/Initialize() + . = . = ..() + reagents.add_reagent("seafood", 12) + +/obj/item/weapon/reagent_containers/food/snacks/grilled_carp_slice + name = "korlaaskak slice" + desc = "A well-dressed fillet of carp, seared to perfection and adorned with herbs and spices." + icon = 'icons/obj/food_syn.dmi' + icon_state = "grilled_carp_slice" + trash = /obj/item/trash/plate + + +// SYNNONO MEME FOODS EXPANSION - Credit to Synnono from Aurorastation. Come play here sometime :( + +/obj/item/weapon/reagent_containers/food/snacks/redcurry + name = "red curry" + gender = PLURAL + desc = "A bowl of creamy red curry with meat and rice. This one looks savory." + icon = 'icons/obj/food_syn.dmi' + icon_state = "redcurry" + trash = /obj/item/trash/snack_bowl + filling_color = "#f73333" + nutriment_amt = 8 + nutriment_desc = list("savory meat and rice" = 8) + center_of_mass = list("x"=16, "y"=8) + +/obj/item/weapon/reagent_containers/food/snacks/redcurry/Initialize() + . = ..() + reagents.add_reagent("protein", 7) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/greencurry + name = "green curry" + gender = PLURAL + desc = "A bowl of creamy green curry with tofu, hot peppers and rice. This one looks spicy!" + icon = 'icons/obj/food_syn.dmi' + icon_state = "greencurry" + trash = /obj/item/trash/snack_bowl + filling_color = "#58b76c" + nutriment_amt = 12 + nutriment_desc = list("tofu and rice" = 12) + center_of_mass = list("x"=16, "y"=8) + +/obj/item/weapon/reagent_containers/food/snacks/greencurry/Initialize() + . = ..() + reagents.add_reagent("protein", 1) + reagents.add_reagent("capsaicin", 2) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/yellowcurry + name = "yellow curry" + gender = PLURAL + desc = "A bowl of creamy yellow curry with potatoes, peanuts and rice. This one looks mild." + icon = 'icons/obj/food_syn.dmi' + icon_state = "yellowcurry" + trash = /obj/item/trash/snack_bowl + filling_color = "#bc9509" + nutriment_amt = 13 + nutriment_desc = list("rice and potatoes" = 13) + center_of_mass = list("x"=16, "y"=8) + +/obj/item/weapon/reagent_containers/food/snacks/yellowcurry/Initialize() + . = ..() + reagents.add_reagent("protein", 2) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/bearburger + name = "bearburger" + desc = "The solution to your unbearable hunger." + icon = 'icons/obj/food_syn.dmi' + icon_state = "bearburger" + filling_color = "#5d5260" + center_of_mass = list("x"=15, "y"=11) + +/obj/item/weapon/reagent_containers/food/snacks/bearburger/Initialize() + . = ..() + reagents.add_reagent("protein", 4) //So spawned burgers will not be empty I guess? + bitesize = 5 + +/obj/item/weapon/reagent_containers/food/snacks/bearchili + name = "bear chili" + gender = PLURAL + desc = "A dark, hearty chili. Can you bear the heat?" + icon = 'icons/obj/food_syn.dmi' + icon_state = "bearchili" + trash = /obj/item/trash/snack_bowl + filling_color = "#702708" + nutriment_amt = 3 + nutriment_desc = list("dark, hearty chili" = 3) + center_of_mass = list("x"=15, "y"=9) + +/obj/item/weapon/reagent_containers/food/snacks/bearchili/Initialize() + . = ..() + reagents.add_reagent("protein", 3) + reagents.add_reagent("capsaicin", 3) + reagents.add_reagent("tomatojuice", 2) + reagents.add_reagent("hyperzine", 5) + bitesize = 6 + +/obj/item/weapon/reagent_containers/food/snacks/bearstew + name = "bear stew" + gender = PLURAL + desc = "A thick, dark stew of bear meat and vegetables." + icon = 'icons/obj/food_syn.dmi' + icon_state = "bearstew" + filling_color = "#9E673A" + nutriment_amt = 6 + nutriment_desc = list("hearty stew" = 6) + center_of_mass = list("x"=16, "y"=5) + +/obj/item/weapon/reagent_containers/food/snacks/bearstew/Initialize() + . = ..() + reagents.add_reagent("protein", 4) + reagents.add_reagent("hyperzine", 5) + reagents.add_reagent("tomatojuice", 5) + reagents.add_reagent("imidazoline", 5) + reagents.add_reagent("water", 5) + bitesize = 6 + +/obj/item/weapon/reagent_containers/food/snacks/bibimbap + name = "bibimbap bowl" + desc = "A traditional Korean meal of meat and mixed vegetables. It's served on a bed of rice, and topped with a fried egg." + icon = 'icons/obj/food_syn.dmi' + icon_state = "bibimbap" + trash = /obj/item/trash/snack_bowl + filling_color = "#4f2100" + nutriment_amt = 10 + nutriment_desc = list("egg" = 5, "vegetables" = 5) + center_of_mass = list("x"=15, "y"=9) + +/obj/item/weapon/reagent_containers/food/snacks/bibimbap/Initialize() + . = ..() + reagents.add_reagent("protein", 10) + bitesize = 4 + +/obj/item/weapon/reagent_containers/food/snacks/lomein + name = "lo mein" + gender = PLURAL + desc = "A popular Chinese noodle dish. Chopsticks optional." + icon = 'icons/obj/food_syn.dmi' + icon_state = "lomein" + trash = /obj/item/trash/plate + filling_color = "#FCEE81" + nutriment_amt = 8 + nutriment_desc = list("noodles" = 6, "sesame sauce" = 2) + center_of_mass = list("x"=16, "y"=10) + +/obj/item/weapon/reagent_containers/food/snacks/lomein/Initialize() + . = ..() + reagents.add_reagent("protein", 2) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/friedrice + name = "fried rice" + gender = PLURAL + desc = "A less-boring dish of less-boring rice!" + icon = 'icons/obj/food_syn.dmi' + icon_state = "friedrice" + trash = /obj/item/trash/snack_bowl + filling_color = "#FFFBDB" + nutriment_amt = 7 + nutriment_desc = list("rice" = 7) + center_of_mass = list("x"=17, "y"=11) + +/obj/item/weapon/reagent_containers/food/snacks/friedrice/Initialize() + . = ..() + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/chickenfillet + name = "chicken fillet sandwich" + desc = "Fried chicken, in sandwich format. Beauty is simplicity." + icon = 'icons/obj/food_syn.dmi' + icon_state = "chickenfillet" + filling_color = "#E9ADFF" + nutriment_amt = 4 + nutriment_desc = list("breading" = 4) + center_of_mass = list("x"=16, "y"=16) + +/obj/item/weapon/reagent_containers/food/snacks/chickenfillet/Initialize() + . = ..() + reagents.add_reagent("protein", 8) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/chilicheesefries + name = "chili cheese fries" + gender = PLURAL + desc = "A mighty plate of fries, drowned in hot chili and cheese sauce. Because your arteries are overrated." + icon = 'icons/obj/food_syn.dmi' + icon_state = "chilicheesefries" + trash = /obj/item/trash/plate + filling_color = "#EDDD00" + nutriment_amt = 8 + nutriment_desc = list("hearty, cheesy fries" = 8) + center_of_mass = list("x"=16, "y"=11) + +/obj/item/weapon/reagent_containers/food/snacks/chilicheesefries/Initialize() + . = ..() + reagents.add_reagent("protein", 2) + reagents.add_reagent("capsaicin", 2) + bitesize = 4 + +/obj/item/weapon/reagent_containers/food/snacks/friedmushroom + name = "fried mushroom" + desc = "A tender, beer-battered plump helmet, fried to crispy perfection." + icon = 'icons/obj/food_syn.dmi' + icon_state = "friedmushroom" + filling_color = "#EDDD00" + nutriment_amt = 4 + nutriment_desc = list("alcoholic mushrooms" = 4) + center_of_mass = list("x"=16, "y"=11) + +/obj/item/weapon/reagent_containers/food/snacks/friedmushroom/Initialize() + . = ..() + reagents.add_reagent("protein", 2) + bitesize = 5 + +/obj/item/weapon/reagent_containers/food/snacks/pisanggoreng + name = "pisang goreng" + gender = PLURAL + desc = "Crispy, starchy, sweet banana fritters. Popular street food in parts of Sol." + icon = 'icons/obj/food_syn.dmi' + icon_state = "pisanggoreng" + trash = /obj/item/trash/plate + filling_color = "#301301" + nutriment_amt = 8 + nutriment_desc = list("sweet bananas" = 8) + center_of_mass = list("x"=16, "y"=11) + +/obj/item/weapon/reagent_containers/food/snacks/pisanggoreng/Initialize() + . = ..() + reagents.add_reagent("protein", 1) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/meatbun + name = "meat bun" + desc = "A soft, fluffy flour bun also known as baozi. This one is filled with a spiced meat filling." + icon = 'icons/obj/food_syn.dmi' + icon_state = "meatbun" + filling_color = "#edd7d7" + nutriment_amt = 5 + nutriment_desc = list("spice" = 5) + center_of_mass = list("x"=16, "y"=11) + +/obj/item/weapon/reagent_containers/food/snacks/meatbun/Initialize() + . = ..() + reagents.add_reagent("protein", 3) + bitesize = 5 + +/obj/item/weapon/reagent_containers/food/snacks/custardbun + name = "custard bun" + desc = "A soft, fluffy flour bun also known as baozi. This one is filled with an egg custard." + icon = 'icons/obj/food_syn.dmi' + icon_state = "meatbun" + nutriment_amt = 6 + nutriment_desc = list("egg custard" = 6) + filling_color = "#ebedc2" + center_of_mass = list("x"=16, "y"=11) + +/obj/item/weapon/reagent_containers/food/snacks/custardbun/Initialize() + . = ..() + reagents.add_reagent("protein", 2) + bitesize = 6 + +/obj/item/weapon/reagent_containers/food/snacks/chickenmomo + name = "chicken momo" + gender = PLURAL + desc = "A plate of spiced and steamed chicken dumplings. The style originates from south Asia." + icon = 'icons/obj/food_syn.dmi' + icon_state = "momo" + trash = /obj/item/trash/snacktray + filling_color = "#edd7d7" + nutriment_amt = 9 + nutriment_desc = list("spiced chicken" = 9) + center_of_mass = list("x"=15, "y"=9) + +/obj/item/weapon/reagent_containers/food/snacks/chickenmomo/Initialize() + . = ..() + reagents.add_reagent("protein", 6) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/veggiemomo + name = "veggie momo" + gender = PLURAL + desc = "A plate of spiced and steamed vegetable dumplings. The style originates from south Asia." + icon = 'icons/obj/food_syn.dmi' + icon_state = "momo" + trash = /obj/item/trash/snacktray + filling_color = "#edd7d7" + nutriment_amt = 13 + nutriment_desc = list("spiced vegetables" = 13) + center_of_mass = list("x"=15, "y"=9) + +/obj/item/weapon/reagent_containers/food/snacks/veggiemomo/Initialize() + . = ..() + reagents.add_reagent("protein", 2) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/risotto + name = "risotto" + gender = PLURAL + desc = "A creamy, savory rice dish from southern Europe, typically cooked slowly with wine and broth. This one has bits of mushroom." + icon = 'icons/obj/food_syn.dmi' + icon_state = "risotto" + trash = /obj/item/trash/snack_bowl + filling_color = "#edd7d7" + nutriment_amt = 9 + nutriment_desc = list("savory rice" = 6, "cream" = 3) + center_of_mass = list("x"=15, "y"=9) + +/obj/item/weapon/reagent_containers/food/snacks/risotto/Initialize() + . = ..() + reagents.add_reagent("protein", 1) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/risottoballs + name = "risotto balls" + gender = PLURAL + desc = "Mushroom risotto that has been battered and deep fried. The best use of leftovers!" + icon = 'icons/obj/food_syn.dmi' + icon_state = "risottoballs" + trash = /obj/item/trash/snack_bowl + filling_color = "#edd7d7" + nutriment_amt = 1 + nutriment_desc = list("batter" = 1) + center_of_mass = list("x"=15, "y"=9) + +/obj/item/weapon/reagent_containers/food/snacks/risottoballs/Initialize() + . = ..() + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/honeytoast + name = "piece of honeyed toast" + desc = "For those who like their breakfast sweet." + icon = 'icons/obj/food_syn.dmi' + icon_state = "honeytoast" + trash = /obj/item/trash/plate + filling_color = "#EDE5AD" + nutriment_amt = 1 + nutriment_desc = list("sweet, crunchy bread" = 1) + center_of_mass = list("x"=16, "y"=9) + +/obj/item/weapon/reagent_containers/food/snacks/honeytoast/Initialize() + . = ..() + bitesize = 4 + +/obj/item/weapon/reagent_containers/food/snacks/poachedegg + name = "poached egg" + desc = "A delicately poached egg with a runny yolk. Healthier than its fried counterpart." + icon = 'icons/obj/food_syn.dmi' + icon_state = "poachedegg" + trash = /obj/item/trash/plate + filling_color = "#FFDF78" + nutriment_amt = 1 + nutriment_desc = list("egg" = 1) + center_of_mass = list("x"=16, "y"=14) + +/obj/item/weapon/reagent_containers/food/snacks/poachedegg/Initialize() + . = ..() + reagents.add_reagent("protein", 3) + reagents.add_reagent("blackpepper", 1) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/ribplate + name = "plate of ribs" + desc = "A half-rack of ribs, brushed with some sort of honey-glaze. Why are there no napkins on board?" + icon = 'icons/obj/food_syn.dmi' + icon_state = "ribplate" + trash = /obj/item/trash/plate + filling_color = "#7A3D11" + nutriment_amt = 6 + nutriment_desc = list("barbecue" = 6) + center_of_mass = list("x"=16, "y"=13) + +/obj/item/weapon/reagent_containers/food/snacks/ribplate/Initialize() + . = ..() + reagents.add_reagent("protein", 6) + reagents.add_reagent("triglyceride", 2) + reagents.add_reagent("blackpepper", 1) + reagents.add_reagent("honey", 5) + bitesize = 4 + +// SLICEABLE FOODS - SYNNONO MEME FOOD EXPANSION - Credit to Synnono from Aurorastation (again) + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/keylimepie + name = "key lime pie" + desc = "A tart, sweet dessert. What's a key lime, anyway?" + icon = 'icons/obj/food_syn.dmi' + icon_state = "keylimepie" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/keylimepieslice + slices_num = 5 + filling_color = "#F5B951" + nutriment_amt = 16 + nutriment_desc = list("lime" = 12, "graham crackers" = 4) + center_of_mass = list("x"=16, "y"=10) + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/keylimepie/Initialize() + . = ..() + reagents.add_reagent("protein", 4) + +/obj/item/weapon/reagent_containers/food/snacks/keylimepieslice + name = "slice of key lime pie" + desc = "A slice of tart pie, with whipped cream on top." + icon = 'icons/obj/food_syn.dmi' + icon_state = "keylimepieslice" + trash = /obj/item/trash/plate + filling_color = "#F5B951" + bitesize = 3 + nutriment_desc = list("lime" = 1) + center_of_mass = list("x"=16, "y"=12) + +/obj/item/weapon/reagent_containers/food/snacks/keylimepieslice/filled + nutriment_amt = 1 + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/quiche + name = "quiche" + desc = "Real men eat this, contrary to popular belief." + icon = 'icons/obj/food_syn.dmi' + icon_state = "quiche" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/quicheslice + slices_num = 5 + filling_color = "#F5B951" + nutriment_amt = 10 + nutriment_desc = list("cheese" = 5, "egg" = 5) + center_of_mass = list("x"=16, "y"=10) + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/quiche/Initialize() + . = ..() + reagents.add_reagent("protein", 10) + +/obj/item/weapon/reagent_containers/food/snacks/quicheslice + name = "slice of quiche" + desc = "A slice of delicious quiche. Eggy, cheesy goodness." + icon = 'icons/obj/food_syn.dmi' + icon_state = "quicheslice" + trash = /obj/item/trash/plate + filling_color = "#F5B951" + bitesize = 3 + nutriment_desc = list("cheesy eggs" = 1) + center_of_mass = list("x"=16, "y"=12) + +/obj/item/weapon/reagent_containers/food/snacks/quicheslice/filled + nutriment_amt = 1 + +/obj/item/weapon/reagent_containers/food/snacks/quicheslice/filled/Initialize() + . = ..() + reagents.add_reagent("protein", 1) + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/brownies + name = "brownies" + gender = PLURAL + desc = "Halfway to fudge, or halfway to cake? Who cares!" + icon = 'icons/obj/food_syn.dmi' + icon_state = "brownies" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/browniesslice + slices_num = 4 + trash = /obj/item/trash/brownies + filling_color = "#301301" + nutriment_amt = 8 + nutriment_desc = list("fudge" = 8) + center_of_mass = list("x"=15, "y"=9) + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/brownies/Initialize() + . = ..() + reagents.add_reagent("protein", 2) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/browniesslice + name = "brownie" + desc = "a dense, decadent chocolate brownie." + icon = 'icons/obj/food_syn.dmi' + icon_state = "browniesslice" + trash = /obj/item/trash/plate + filling_color = "#F5B951" + bitesize = 2 + nutriment_desc = list("fudge" = 1) + center_of_mass = list("x"=16, "y"=12) + +/obj/item/weapon/reagent_containers/food/snacks/browniesslice/filled + nutriment_amt = 1 + +/obj/item/weapon/reagent_containers/food/snacks/browniesslice/filled/Initialize() + . = ..() + reagents.add_reagent("protein", 1) + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/cosmicbrownies + name = "cosmic brownies" + gender = PLURAL + desc = "Like, ultra-trippy. Brownies HAVE no gender, man." //Except I had to add one! + icon = 'icons/obj/food_syn.dmi' + icon_state = "cosmicbrownies" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/cosmicbrowniesslice + slices_num = 4 + trash = /obj/item/trash/brownies + filling_color = "#301301" + nutriment_amt = 8 + nutriment_desc = list("fudge" = 8) + center_of_mass = list("x"=15, "y"=9) + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/cosmicbrownies/Initialize() + . = ..() + reagents.add_reagent("protein", 2) + reagents.add_reagent("space_drugs", 2) + reagents.add_reagent("bicaridine", 1) + reagents.add_reagent("kelotane", 1) + reagents.add_reagent("toxin", 1) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/cosmicbrowniesslice + name = "cosmic brownie" + desc = "a dense, decadent and fun-looking chocolate brownie." + icon = 'icons/obj/food_syn.dmi' + icon_state = "cosmicbrowniesslice" + trash = /obj/item/trash/plate + filling_color = "#F5B951" + bitesize = 3 + nutriment_desc = list("fudge" = 1) + center_of_mass = list("x"=16, "y"=12) + +/obj/item/weapon/reagent_containers/food/snacks/cosmicbrowniesslice/filled + nutriment_amt = 1 + +/obj/item/weapon/reagent_containers/food/snacks/cosmicbrowniesslice/filled/Initialize() + . = ..() + reagents.add_reagent("protein", 1) \ No newline at end of file diff --git a/code/modules/food/food/snacks/meat.dm b/code/modules/food/food/snacks/meat.dm index c2c5753edaa..8911477b1f4 100644 --- a/code/modules/food/food/snacks/meat.dm +++ b/code/modules/food/food/snacks/meat.dm @@ -8,8 +8,19 @@ /obj/item/weapon/reagent_containers/food/snacks/meat/Initialize() . = ..() - reagents.add_reagent("protein", 9) - src.bitesize = 3 + reagents.add_reagent("protein", 6) + reagents.add_reagent("triglyceride", 2) + src.bitesize = 1.5 + +/obj/item/weapon/reagent_containers/food/snacks/meat/cook() + + if (!isnull(cooked_icon)) + icon_state = cooked_icon + flat_icon = null //Force regenating the flat icon for coatings, since we've changed the icon of the thing being coated + ..() + + if (name == initial(name)) + name = "cooked [name]" /obj/item/weapon/reagent_containers/food/snacks/meat/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W,/obj/item/weapon/material/knife)) @@ -34,4 +45,16 @@ /obj/item/weapon/reagent_containers/food/snacks/meat/corgi name = "Corgi meat" - desc = "Tastes like... well, you know." \ No newline at end of file + desc = "Tastes like... well, you know." + +/obj/item/weapon/reagent_containers/food/snacks/meat/chicken + name = "chicken" + icon = 'icons/obj/food_syn.dmi' + icon_state = "chickenbreast" + cooked_icon = "chickenbreast_cooked" + filling_color = "#BBBBAA" + +/obj/item/weapon/reagent_containers/food/snacks/meat/chicken/initialize() + ..() + reagents.remove_reagent("triglyceride", INFINITY) + //Chicken is low fat. Less total calories than other meats \ No newline at end of file diff --git a/code/modules/food/kitchen/cooking_machines/_appliance.dm b/code/modules/food/kitchen/cooking_machines/_appliance.dm new file mode 100644 index 00000000000..fd4f757ce47 --- /dev/null +++ b/code/modules/food/kitchen/cooking_machines/_appliance.dm @@ -0,0 +1,728 @@ +// This folder contains code that was originally ported from Apollo Station and then refactored/optimized/changed. + +// Tracks precooked food to stop deep fried baked grilled grilled grilled diona nymph cereal. +/obj/item/weapon/reagent_containers/food/snacks + var/tmp/list/cooked = list() + +// Root type for cooking machines. See following files for specific implementations. +/obj/machinery/appliance + name = "cooker" + desc = "You shouldn't be seeing this!" + icon = 'icons/obj/cooking_machines.dmi' + var/appliancetype = 0 + density = 1 + anchored = 1 + + use_power = USE_POWER_IDLE + idle_power_usage = 5 // Power used when turned on, but not processing anything + active_power_usage = 1000 // Power used when turned on and actively cooking something + var/initial_active_power_usage = 1000 + + var/cooking_power = 1 + var/initial_cooking_power = 1 + var/max_contents = 1 // Maximum number of things this appliance can simultaneously cook + var/on_icon // Icon state used when cooking. + var/off_icon // Icon state used when not cooking. + var/cooking // Whether or not the machine is currently operating. + var/cook_type // A string value used to track what kind of food this machine makes. + var/can_cook_mobs // Whether or not this machine accepts grabbed mobs. + var/mobdamagetype = BRUTE // Burn damage for cooking appliances, brute for cereal/candy + var/food_color // Colour of resulting food item. + var/cooked_sound = 'sound/machines/ding.ogg' // Sound played when cooking completes. + var/can_burn_food // Can the object burn food that is left inside? + var/burn_chance = 10 // How likely is the food to burn? + var/list/cooking_objs = list() // List of things being cooked + + // If the machine has multiple output modes, define them here. + var/selected_option + var/list/output_options = list() + var/list/datum/recipe/available_recipes + + var/container_type = null + + var/combine_first = 0//If 1, this appliance will do combinaiton cooking before checking recipes + +/obj/machinery/appliance/Initialize() + . = ..() + component_parts = list() + component_parts += /obj/item/weapon/circuitboard/cooking + component_parts += /obj/item/weapon/stock_parts/capacitor + component_parts += /obj/item/weapon/stock_parts/capacitor + component_parts += /obj/item/weapon/stock_parts/capacitor + component_parts += /obj/item/weapon/stock_parts/scanning_module + component_parts += /obj/item/weapon/stock_parts/matter_bin + component_parts += /obj/item/weapon/stock_parts/matter_bin + if(output_options.len) + verbs += /obj/machinery/appliance/proc/choose_output + + if (!available_recipes) + available_recipes = new + + for (var/type in subtypesof(/datum/recipe)) + var/datum/recipe/test = new type + if ((appliancetype & test.appliance)) + available_recipes += test + else + qdel(test) + +/obj/machinery/appliance/Destroy() + for (var/a in cooking_objs) + var/datum/cooking_item/CI = a + qdel(CI.container)//Food is fragile, it probably doesnt survive the destruction of the machine + cooking_objs -= CI + qdel(CI) + return ..() + +/obj/machinery/appliance/examine(var/mob/user) + ..() + if(Adjacent(usr)) + list_contents(user) + return 1 + +/obj/machinery/appliance/proc/list_contents(var/mob/user) + if (cooking_objs.len) + var/string = "Contains..." + for (var/a in cooking_objs) + var/datum/cooking_item/CI = a + string += "-\a [CI.container.label(null, CI.combine_target)], [report_progress(CI)]
" + usr << string + else + usr << span("notice","It is empty.") + +/obj/machinery/appliance/proc/report_progress(var/datum/cooking_item/CI) + if (!CI || !CI.max_cookwork) + return null + + if (!CI.cookwork) + return "It is cold." + var/progress = CI.cookwork / CI.max_cookwork + + if (progress < 0.25) + return "It's barely started cooking." + if (progress < 0.75) + return span("notice","It's cooking away nicely.") + if (progress < 1) + return span("notice", "It's almost ready!") + + var/half_overcook = (CI.overcook_mult - 1)*0.5 + if (progress < 1+half_overcook) + return span("soghun","It is done !") + if (progress < CI.overcook_mult) + return span("warning","It looks overcooked, get it out!") + else + return span("danger","It is burning!!") + +/obj/machinery/appliance/update_icon() + if (!stat && cooking_objs.len) + icon_state = on_icon + + else + icon_state = off_icon + +/obj/machinery/appliance/verb/toggle_power() + set name = "Toggle Power" + set category = "Object" + set src in view() + + attempt_toggle_power(usr) + +/obj/machinery/appliance/proc/attempt_toggle_power(mob/user) + if (!isliving(user)) + return + + if (!user.IsAdvancedToolUser()) + user << "You lack the dexterity to do that!" + return + + if (user.stat || user.restrained() || user.incapacitated()) + return + + if (!Adjacent(user) && !issilicon(user)) + user << "You can't reach [src] from here." + return + + if (stat & POWEROFF)//Its turned off + stat &= ~POWEROFF + use_power = 1 + user.visible_message("[user] turns [src] on.", "You turn on [src].") + + else //Its on, turn it off + stat |= POWEROFF + use_power = 0 + user.visible_message("[user] turns [src] off.", "You turn off [src].") + + playsound(src, 'sound/machines/click.ogg', 40, 1) + update_icon() + +/obj/machinery/appliance/AICtrlClick(mob/user) + attempt_toggle_power(user) + +/obj/machinery/appliance/proc/choose_output() + set src in view() + set name = "Choose output" + set category = "Object" + + if (!isliving(usr)) + return + + if (!usr.IsAdvancedToolUser()) + usr << "You lack the dexterity to do that!" + return + + if (usr.stat || usr.restrained() || usr.incapacitated()) + return + + if (!Adjacent(usr) && !issilicon(usr)) + usr << "You can't adjust the [src] from this distance, get closer!" + return + + if(output_options.len) + var/choice = input("What specific food do you wish to make with \the [src]?") as null|anything in output_options+"Default" + if(!choice) + return + if(choice == "Default") + selected_option = null + usr << "You decide not to make anything specific with \the [src]." + else + selected_option = choice + usr << "You prepare \the [src] to make \a [selected_option] with the next thing you put in. Try putting several ingredients in a container!" + +//Handles all validity checking and error messages for inserting things +/obj/machinery/appliance/proc/can_insert(var/obj/item/I, var/mob/user) + if (istype(I.loc, /mob/living/silicon)) + return 0 + else if (istype(I.loc, /obj/item/rig_module)) + return 0 + + // We are trying to cook a grabbed mob. + var/obj/item/weapon/grab/G = I + if(istype(G)) + + if(!can_cook_mobs) + user << "That's not going to fit." + return 0 + + if(!isliving(G.affecting)) + user << "You can't cook that." + return 0 + + return 2 + + + if (!has_space(I)) + user << "There's no room in [src] for that!" + return 0 + + + if (container_type && istype(I, container_type)) + return 1 + + // We're trying to cook something else. Check if it's valid. + var/obj/item/weapon/reagent_containers/food/snacks/check = I + if(istype(check) && islist(check.cooked) && (cook_type in check.cooked)) + user << "\The [check] has already been [cook_type]." + return 0 + else if(istype(check, /obj/item/weapon/reagent_containers/glass)) + user << "That would probably break [src]." + return 0 + else if(istype(check, /obj/item/weapon/disk/nuclear)) + user << "You can't cook that." + return 0 + else if(!istype(check) && !istype(check, /obj/item/weapon/holder)) + user << "That's not edible." + return 0 + + return 1 + + +//This function is overridden by cookers that do stuff with containers +/obj/machinery/appliance/proc/has_space(var/obj/item/I) + if (cooking_objs.len >= max_contents) + return 0 + + else return 1 + +/obj/machinery/appliance/attackby(var/obj/item/I, var/mob/user) + if(!cook_type || (stat & (BROKEN))) + user << "\The [src] is not working." + return + + var/result = can_insert(I, user) + if(!result) + if(default_deconstruction_screwdriver(user, I)) + return + else if(default_part_replacement(user, I)) + return + else + return + + if(result == 2) + var/obj/item/weapon/grab/G = I + if (G && istype(G) && G.affecting) + cook_mob(G.affecting, user) + return + + //From here we can start cooking food + add_content(I, user) + update_icon() + +//Override for container mechanics +/obj/machinery/appliance/proc/add_content(var/obj/item/I, var/mob/user) + if(!user.unEquip(I)) + return + + var/datum/cooking_item/CI = has_space(I) + if (istype(I, /obj/item/weapon/reagent_containers/cooking_container) && CI == 1) + var/obj/item/weapon/reagent_containers/cooking_container/CC = I + CI = new /datum/cooking_item/(CC) + I.forceMove(src) + cooking_objs.Add(CI) + user.visible_message("\The [user] puts \the [I] into \the [src].") + if (CC.check_contents() == 0)//If we're just putting an empty container in, then dont start any processing. + return + else + if (CI && istype(CI)) + I.forceMove(CI.container) + + else //Something went wrong + return + + if (selected_option) + CI.combine_target = selected_option + + // We can actually start cooking now. + user.visible_message("\The [user] puts \the [I] into \the [src].") + + get_cooking_work(CI) + cooking = 1 + return CI + +/obj/machinery/appliance/proc/get_cooking_work(var/datum/cooking_item/CI) + for (var/obj/item/J in CI.container) + oilwork(J, CI) + + for (var/r in CI.container.reagents.reagent_list) + var/datum/reagent/R = r + if (istype(R, /datum/reagent/nutriment)) + CI.max_cookwork += R.volume *2//Added reagents contribute less than those in food items due to granular form + + //Nonfat reagents will soak oil + if (!istype(R, /datum/reagent/nutriment/triglyceride)) + CI.max_oil += R.volume * 0.25 + else + CI.max_cookwork += R.volume + CI.max_oil += R.volume * 0.10 + + //Rescaling cooking work to avoid insanely long times for large things + var/buffer = CI.max_cookwork + CI.max_cookwork = 0 + var/multiplier = 1 + var/step = 4 + while (buffer > step) + buffer -= step + CI.max_cookwork += step*multiplier + multiplier *= 0.95 + + CI.max_cookwork += buffer*multiplier + +//Just a helper to save code duplication in the above +/obj/machinery/appliance/proc/oilwork(var/obj/item/I, var/datum/cooking_item/CI) + var/obj/item/weapon/reagent_containers/food/snacks/S = I + var/work = 0 + if (istype(S)) + if (S.reagents) + for (var/r in S.reagents.reagent_list) + var/datum/reagent/R = r + if (istype(R, /datum/reagent/nutriment)) + work += R.volume *3//Core nutrients contribute much more than peripheral chemicals + + //Nonfat reagents will soak oil + if (!istype(R, /datum/reagent/nutriment/triglyceride)) + CI.max_oil += R.volume * 0.35 + else + work += R.volume + CI.max_oil += R.volume * 0.15 + + + else if(istype(I, /obj/item/weapon/holder)) + var/obj/item/weapon/holder/H = I + if (H.held_mob) + work += (H.held_mob.mob_size * H.held_mob.mob_size * 2)+2 + + CI.max_cookwork += work + +//Called every tick while we're cooking something +/obj/machinery/appliance/proc/do_cooking_tick(var/datum/cooking_item/CI) + if (!istype(CI) || !CI.max_cookwork) + return 0 + + var/was_done = 0 + if (CI.cookwork >= CI.max_cookwork) + was_done = 1 + + CI.cookwork += cooking_power + + if (!was_done && CI.cookwork >= CI.max_cookwork) + //If cookwork has gone from above to below 0, then this item finished cooking + finish_cooking(CI) + + else if (!CI.burned && CI.cookwork > CI.max_cookwork * CI.overcook_mult) + burn_food(CI) + + // Gotta hurt. + for(var/obj/item/weapon/holder/H in CI.container.contents) + var/mob/living/M = H.held_mob + if (M) + M.apply_damage(rand(1,3), mobdamagetype, "chest") + + return 1 + +/obj/machinery/appliance/process() + if (cooking_power > 0 && cooking) + for (var/i in cooking_objs) + do_cooking_tick(i) + + +/obj/machinery/appliance/proc/finish_cooking(var/datum/cooking_item/CI) + + src.visible_message("\The [src] pings!") + if(cooked_sound) + playsound(get_turf(src), cooked_sound, 50, 1) + //Check recipes first, a valid recipe overrides other options + var/datum/recipe/recipe = null + var/atom/C = null + if (CI.container) + C = CI.container + else + C = src + recipe = select_recipe(available_recipes,C) + + if (recipe) + CI.result_type = 4//Recipe type, a specific recipe will transform the ingredients into a new food + var/list/results = recipe.make_food(C) + + var/obj/temp = new /obj(src) //To prevent infinite loops, all results will be moved into a temporary location so they're not considered as inputs for other recipes + + for (var/atom/movable/AM in results) + AM.forceMove(temp) + + //making multiple copies of a recipe from one container. For example, tons of fries + while (select_recipe(available_recipes,C) == recipe) + var/list/TR = list() + TR += recipe.make_food(C) + for (var/atom/movable/AM in TR) //Move results to buffer + AM.forceMove(temp) + results += TR + + + for (var/r in results) + var/obj/item/weapon/reagent_containers/food/snacks/R = r + R.forceMove(C) //Move everything from the buffer back to the container + R.cooked |= cook_type + + QDEL_NULL(temp) //delete buffer object + . = 1 //None of the rest of this function is relevant for recipe cooking + + else if(CI.combine_target) + CI.result_type = 3//Combination type. We're making something out of our ingredients + . = combination_cook(CI) + + + else + //Otherwise, we're just doing standard modification cooking. change a color + name + for (var/obj/item/i in CI.container) + modify_cook(i, CI) + + //Final step. Cook function just cooks batter for now. + for (var/obj/item/weapon/reagent_containers/food/snacks/S in CI.container) + S.cook() + + +//Combination cooking involves combining the names and reagents of ingredients into a predefined output object +//The ingredients represent flavours or fillings. EG: donut pizza, cheese bread +/obj/machinery/appliance/proc/combination_cook(var/datum/cooking_item/CI) + var/cook_path = output_options[CI.combine_target] + + var/list/words = list() + var/list/cooktypes = list() + var/datum/reagents/buffer = new /datum/reagents(1000) + var/totalcolour + + for (var/obj/item/I in CI.container) + var/obj/item/weapon/reagent_containers/food/snacks/S + if (istype(I, /obj/item/weapon/holder)) + S = create_mob_food(I, CI) + else if (istype(I, /obj/item/weapon/reagent_containers/food/snacks)) + S = I + + if (!S) + continue + + words |= text2list(S.name," ") + cooktypes |= S.cooked + + if (S.reagents && S.reagents.total_volume > 0) + if (S.filling_color) + if (!totalcolour || !buffer.total_volume) + totalcolour = S.filling_color + else + var/t = buffer.total_volume + S.reagents.total_volume + t = buffer.total_volume / y + totalcolour = BlendRGB(totalcolour, S.filling_color, t) + //Blend colours in order to find a good filling color + + + S.reagents.trans_to_holder(buffer, S.reagents.total_volume) + //Cleanup these empty husk ingredients now + if (I) + qdel(I) + if (S) + qdel(S) + + CI.container.reagents.trans_to_holder(buffer, CI.container.reagents.total_volume) + + var/obj/item/weapon/reagent_containers/food/snacks/result = new cook_path(CI.container) + buffer.trans_to(result, buffer.total_volume) + + //Filling overlay + var/image/I = image(result.icon, "[result.icon_state]_filling") + I.color = totalcolour + result.add_overlay(I) + result.filling_color = totalcolour + + //Set the name. + words -= list("and", "the", "in", "is", "bar", "raw", "sticks", "boiled", "fried", "deep", "-o-", "warm", "two", "flavored") + //Remove common connecting words and unsuitable ones from the list. Unsuitable words include those describing + //the shape, cooked-ness/temperature or other state of an ingredient which doesn't apply to the finished product + words.Remove(result.name) + shuffle(words) + var/num = 6 //Maximum number of words + while (num > 0) + num-- + if (!words.len) + break + //Add prefixes from the ingredients in a random order until we run out or hit limit + result.name = "[pop(words)] [result.name]" + + //This proc sets the size of the output result + result.update_icon() + return result + +//Helper proc for standard modification cooking +/obj/machinery/appliance/proc/modify_cook(var/obj/item/input, var/datum/cooking_item/CI) + var/obj/item/weapon/reagent_containers/food/snacks/result + if (istype(input, /obj/item/weapon/holder)) + result = create_mob_food(input, CI) + else if (istype(input, /obj/item/weapon/reagent_containers/food/snacks)) + result = input + else + //Nonviable item + return + + if (!result) + return + + result.cooked |= cook_type + + // Set icon and appearance. + change_product_appearance(result, CI) + + // Update strings. + change_product_strings(result, CI) + +/obj/machinery/appliance/proc/burn_food(var/datum/cooking_item/CI) + // You dun goofed. + CI.burned = 1 + CI.container.clear() + new /obj/item/weapon/reagent_containers/food/snacks/badrecipe(CI.container) + + // Produce nasty smoke. + visible_message("\The [src] vomits a gout of rancid smoke!") + var/datum/effect/effect/system/smoke_spread/bad/smoke = new /datum/effect/effect/system/smoke_spread/bad + smoke.attach(src) + smoke.set_up(10, 0, get_turf(src), 300) + smoke.start() + +/obj/machinery/appliance/attack_hand(var/mob/user) + if (cooking_objs.len) + if (removal_menu(user)) + return + else + ..() + +/obj/machinery/appliance/proc/removal_menu(var/mob/user) + if (can_remove_items(user)) + var/list/menuoptions = list() + for (var/a in cooking_objs) + var/datum/cooking_item/CI = a + if (CI.container) + menuoptions[CI.container.label(menuoptions.len)] = CI + + var/selection = input(user, "Which item would you like to remove?", "Remove ingredients") as null|anything in menuoptions + if (selection) + var/datum/cooking_item/CI = menuoptions[selection] + eject(CI, user) + update_icon() + return 1 + return 0 + +/obj/machinery/appliance/proc/can_remove_items(var/mob/user) + if (!Adjacent(user)) + return 0 + + if (isanimal(user)) + return 0 + + return 1 + +/obj/machinery/appliance/proc/eject(var/datum/cooking_item/CI, var/mob/user = null) + var/obj/item/thing + var/delete = 1 + var/status = CI.container.check_contents() + if (status == 1)//If theres only one object in a container then we extract that + thing = locate(/obj/item) in CI.container + delete = 0 + else//If the container is empty OR contains more than one thing, then we must extract the container + thing = CI.container + if (!user || !user.put_in_hands(thing)) + thing.forceMove(get_turf(src)) + + if (delete) + cooking_objs -= CI + qdel(CI) + else + CI.reset()//reset instead of deleting if the container is left inside + +/obj/machinery/appliance/proc/cook_mob(var/mob/living/victim, var/mob/user) + return + +/obj/machinery/appliance/proc/change_product_strings(var/obj/item/weapon/reagent_containers/food/snacks/product, var/datum/cooking_item/CI) + product.name = "[cook_type] [product.name]" + product.desc = "[product.desc]\nIt has been [cook_type]." + + +/obj/machinery/appliance/proc/change_product_appearance(var/obj/item/weapon/reagent_containers/food/snacks/product, var/datum/cooking_item/CI) + if (!product.coating) //Coatings change colour through a new sprite + product.color = food_color + product.filling_color = food_color + +/mob/living/proc/calculate_composition() // moved from devour.dm on aurora's side + if (!composition_reagent)//if no reagent has been set, then we'll set one + if (isSynthetic()) + src.composition_reagent = "iron" + else + if(istype(src, /mob/living/carbon/human/diona) || istype(src, /mob/living/carbon/alien/diona)) + src.composition_reagent = "nutriment" // diona are plants, not meat + else + src.composition_reagent = "protein" + if(istype(src, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = src + if(istype(H.species, /datum/species/diona)) + src.composition_reagent = "nutriment" + + //if the mob is a simple animal with a defined meat quantity + if (istype(src, /mob/living/simple_animal)) + var/mob/living/simple_animal/SA = src + if (SA.meat_amount) + src.composition_reagent_quantity = SA.meat_amount*2*9 + + //The quantity of protein is based on the meat_amount, but multiplied by 2 + + var/size_reagent = (src.mob_size * src.mob_size) * 3//The quantity of protein is set to 3x mob size squared + if (size_reagent > src.composition_reagent_quantity)//We take the larger of the two + src.composition_reagent_quantity = size_reagent + +//This function creates a food item which represents a dead mob +/obj/machinery/appliance/proc/create_mob_food(var/obj/item/weapon/holder/H, var/datum/cooking_item/CI) + if (!istype(H) || !H.held_mob) + qdel(H) + return null + var/mob/living/victim = H.held_mob + if (victim.stat != DEAD) + return null //Victim somehow survived the cooking, they do not become food + + victim.calculate_composition() + + var/obj/item/weapon/reagent_containers/food/snacks/variable/mob/result = new /obj/item/weapon/reagent_containers/food/snacks/variable/mob(CI.container) + result.w_class = victim.mob_size + result.reagents.add_reagent(victim.composition_reagent, victim.composition_reagent_quantity) + + if (victim.reagents) + victim.reagents.trans_to_holder(result.reagents, victim.reagents.total_volume) + + if (isanimal(victim)) + var/mob/living/simple_animal/SA = victim + result.kitchen_tag = SA.kitchen_tag + + result.appearance = victim + + var/matrix/M = matrix() + M.Turn(45) + M.Translate(1,-2) + result.transform = M + + // all done, now delete the old objects + H.held_mob = null + qdel(victim) + victim = null + qdel(H) + H = null + + return result + +/datum/cooking_item + var/max_cookwork + var/cookwork + var/overcook_mult = 5 + var/result_type = 0 + var/obj/item/weapon/reagent_containers/cooking_container/container = null + var/combine_target = null + + //Result type is one of the following: + //0 unfinished, no result yet + //1 Standard modification cooking. eg Fried Donk Pocket, Baked wheat, etc + //2 Modification but with a new object that's an inert copy of the old. Generally used for deepfried mice + //3 Combination cooking, EG Donut Bread, Donk pocket pizza, etc + //4:Specific recipe cooking. EG: Turning raw potato sticks into fries + + var/burned = 0 + + var/oil = 0 + var/max_oil = 0//Used for fryers. + +/datum/cooking_item/New(var/obj/item/I) + container = I + +//This is called for containers whose contents are ejected without removing the container +/datum/cooking_item/proc/reset() + max_cookwork = 0 + cookwork = 0 + result_type = 0 + burned = 0 + max_oil = 0 + oil = 0 + combine_target = null + //Container is not reset + +/obj/machinery/appliance/RefreshParts() + ..() + var/scan_rating = 0 + var/cap_rating = 0 + + for(var/obj/item/weapon/stock_parts/P in src.component_parts) + if(istype(P, /obj/item/weapon/stock_parts/scanning_module)) + scan_rating += P.rating + else if(istype(P, /obj/item/weapon/stock_parts/capacitor)) + cap_rating += P.rating + + active_power_usage = initial(active_power_usage) - scan_rating*10 + cooking_power = initial(cooking_power) + (scan_rating+cap_rating)/10 + +/obj/item/weapon/circuitboard/cooking + name = "kitchen appliance circuitry" + desc = "The circuitboard for many kitchen appliances. Not of much use." + origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2) + req_components = list( + /obj/item/weapon/stock_parts/capacitor = 3, + /obj/item/weapon/stock_parts/scanning_module = 1, + /obj/item/weapon/stock_parts/matter_bin = 2) \ No newline at end of file diff --git a/code/modules/food/kitchen/cooking_machines/_cooker.dm b/code/modules/food/kitchen/cooking_machines/_cooker.dm index f0716e015f4..f18b073ba9d 100644 --- a/code/modules/food/kitchen/cooking_machines/_cooker.dm +++ b/code/modules/food/kitchen/cooking_machines/_cooker.dm @@ -1,261 +1,132 @@ -// This folder contains code that was originally ported from Apollo Station and then refactored/optimized/changed. +/obj/machinery/appliance/cooker + var/temperature = T20C + var/min_temp = 80 + T0C //Minimum temperature to do any cooking + var/optimal_temp = 200 + T0C //Temperature at which we have 100% efficiency. efficiency is lowered on either side of this + var/optimal_power = 0.1//cooking power at 100% -// Tracks precooked food to stop deep fried baked grilled grilled grilled diona nymph cereal. -/obj/item/weapon/reagent_containers/food/snacks/var/list/cooked + var/loss = 1 //Temp lost per proc when equalising + var/resistance = 320000 //Resistance to heating. combines with active power usage to determine how long heating takes -// Root type for cooking machines. See following files for specific implementations. -/obj/machinery/cooker - name = "cooker" - desc = "You shouldn't be seeing this!" - icon = 'icons/obj/cooking_machines.dmi' - density = 1 - anchored = 1 - use_power = USE_POWER_IDLE - idle_power_usage = 5 + var/light_x = 0 + var/light_y = 0 + cooking_power = 0 - var/on_icon // Icon state used when cooking. - var/off_icon // Icon state used when not cooking. - var/cooking // Whether or not the machine is currently operating. - var/cook_type // A string value used to track what kind of food this machine makes. - var/cook_time = 200 // How many ticks the cooking will take. - var/can_cook_mobs // Whether or not this machine accepts grabbed mobs. - var/food_color // Colour of resulting food item. - var/cooked_sound // Sound played when cooking completes. - var/can_burn_food // Can the object burn food that is left inside? - var/burn_chance = 10 // How likely is the food to burn? - var/obj/item/cooking_obj // Holder for the currently cooking object. - - // If the machine has multiple output modes, define them here. - var/selected_option - var/list/output_options = list() - -/obj/machinery/cooker/Destroy() - if(cooking_obj) - qdel(cooking_obj) - cooking_obj = null - return ..() - -/obj/machinery/cooker/proc/set_cooking(new_setting) - cooking = new_setting - icon_state = new_setting ? on_icon : off_icon - -/obj/machinery/cooker/examine(mob/user) +/obj/machinery/appliance/cooker/examine(var/mob/user) . = ..() - if(cooking_obj && Adjacent(user)) - . += "You can see \a [cooking_obj] inside." - -/obj/machinery/cooker/attackby(var/obj/item/I, var/mob/user) - - if(!cook_type || (stat & (NOPOWER|BROKEN))) - to_chat(user, "\The [src] is not working.") - return - - if(cooking) - to_chat(user, "\The [src] is running!") - return - - if(default_unfasten_wrench(user, I, 20)) - return - - // We are trying to cook a grabbed mob. - var/obj/item/weapon/grab/G = I - if(istype(G)) - - if(!can_cook_mobs) - to_chat(user, "That's not going to fit.") - return - - if(!isliving(G.affecting)) - to_chat(user, "You can't cook that.") - return - - cook_mob(G.affecting, user) - return - - // We're trying to cook something else. Check if it's valid. - var/obj/item/weapon/reagent_containers/food/snacks/check = I - if(istype(check) && islist(check.cooked) && (cook_type in check.cooked)) - to_chat(user, "\The [check] has already been [cook_type].") - return 0 - else if(istype(check, /obj/item/weapon/reagent_containers/glass)) - to_chat(user, "That would probably break [src].") - return 0 - else if(istype(check, /obj/item/weapon/disk/nuclear)) - to_chat(user, "Central Command would kill you if you [cook_type] that.") - return 0 - else if(!istype(check) && !istype(check, /obj/item/weapon/holder) && !istype(check, /obj/item/organ)) //Gripper check has to go here, else it still just cuts it off. ~Mechoid - // Is it a borg using a gripper? - if(istype(check, /obj/item/weapon/gripper)) // Grippers. ~Mechoid. - var/obj/item/weapon/gripper/B = check //B, for Borg. - if(!B.wrapped) - to_chat(user, "\The [B] is not holding anything.") - return 0 + if(.) //no need to duplicate adjacency check + if(!stat) + if (temperature < min_temp) + to_chat(user, span("warning", "\The [src] is still heating up and is too cold to cook anything yet.")) else - var/B_held = B.wrapped - to_chat(user, "You use \the [B] to put \the [B_held] into \the [src].") - return 0 + to_chat(user, span("notice", "It is running at [round(get_efficiency(), 0.1)]% efficiency!")) + to_chat(user, "Temperature: [round(temperature - T0C, 0.1)]C / [round(optimal_temp - T0C, 0.1)]C") else - to_chat(user, "That's not edible.") - return 0 - - if(istype(I, /obj/item/organ)) - var/obj/item/organ/O = I - if(O.robotic) - to_chat(user, "That would probably break [src].") - return - - // Gotta hurt. - if(istype(cooking_obj, /obj/item/weapon/holder)) - for(var/mob/living/M in cooking_obj.contents) - M.apply_damage(rand(30,40), BURN, "chest") - - // Not sure why a food item that passed the previous checks would fail to drop, but safety first. (Hint: Borg grippers. That is why. ~Mechoid.) - if(!user.unEquip(I) && !istype(user,/mob/living/silicon/robot)) - return - - // We can actually start cooking now. - user.visible_message("\The [user] puts \the [I] into \the [src].") - cooking_obj = I - cooking_obj.forceMove(src) - set_cooking(TRUE) - icon_state = on_icon - - // Doop de doo. Jeopardy theme goes here. - sleep(cook_time) - - // Sanity checks. - if(!cooking_obj || cooking_obj.loc != src) - cooking_obj = null - icon_state = off_icon - set_cooking(FALSE) - return - - // RIP slow-moving held mobs. - if(istype(cooking_obj, /obj/item/weapon/holder)) - for(var/mob/living/M in cooking_obj.contents) - M.death() - qdel(M) - - // Cook the food. - var/cook_path - if(selected_option && output_options.len) - cook_path = output_options[selected_option] - if(!cook_path) - cook_path = /obj/item/weapon/reagent_containers/food/snacks/variable - var/obj/item/weapon/reagent_containers/food/snacks/result = new cook_path(src) //Holy typepaths, Batman. - - // Set icon and appearance. - change_product_appearance(result) - - // Update strings. - change_product_strings(result) - - // Copy reagents over. trans_to_obj must be used, as trans_to fails for snacks due to is_open_container() failing. - if(cooking_obj.reagents && cooking_obj.reagents.total_volume) - cooking_obj.reagents.trans_to_obj(result, cooking_obj.reagents.total_volume) - - // Set cooked data. - var/obj/item/weapon/reagent_containers/food/snacks/food_item = cooking_obj - if(istype(food_item) && islist(food_item.cooked)) - result.cooked = food_item.cooked.Copy() + to_chat(user, span("warning", "It is switched off.")) + +/obj/machinery/appliance/cooker/list_contents(var/mob/user) + if (cooking_objs.len) + var/string = "Contains...
" + var/num = 0 + for (var/a in cooking_objs) + num++ + var/datum/cooking_item/CI = a + if (CI && CI.container) + string += "- [CI.container.label(num)], [report_progress(CI)]
" + to_chat(user, string) else - result.cooked = list() - result.cooked |= cook_type + to_chat(user, span("notice","It is empty.")) + +/obj/machinery/appliance/cooker/proc/get_efficiency() + //RefreshParts() + return (cooking_power / optimal_power) * 100 - // Reset relevant variables. - qdel(cooking_obj) - src.visible_message("\The [src] pings!") - if(cooked_sound) - playsound(src, cooked_sound, 50, 1) +/obj/machinery/appliance/cooker/New() + . = ..() + loss = (active_power_usage / resistance)*0.5 + cooking_objs = list() + for (var/i = 0, i < max_contents, i++) + cooking_objs.Add(new /datum/cooking_item/(new container_type(src))) + cooking = 0 - if(!can_burn_food) - icon_state = off_icon - set_cooking(FALSE) - result.forceMove(get_turf(src)) - cooking_obj = null + update_icon() // this probably won't cause issues, but Aurora used SSIcons and queue_icon_update() instead + +/obj/machinery/appliance/cooker/update_icon() + cut_overlays() + var/image/light + if (use_power == 2 && !stat) + light = image(icon, "light_on") else - var/failed - var/overcook_period = max(FLOOR(cook_time/5, 1),1) - cooking_obj = result - var/count = overcook_period - while(1) - sleep(overcook_period) - count += overcook_period - if(!cooking || !result || result.loc != src) - failed = 1 - else if(prob(burn_chance) || count == cook_time) //Fail before it has a chance to cook again. - // You dun goofed. - qdel(cooking_obj) - cooking_obj = new /obj/item/weapon/reagent_containers/food/snacks/badrecipe(src) - // Produce nasty smoke. - visible_message("\The [src] vomits a gout of rancid smoke!") - var/datum/effect/effect/system/smoke_spread/bad/smoke = new /datum/effect/effect/system/smoke_spread/bad() - smoke.attach(src) - smoke.set_up(10, 0, usr.loc) - smoke.start() - failed = 1 - - if(failed) - set_cooking(FALSE) - icon_state = off_icon - break - -/obj/machinery/cooker/attack_hand(var/mob/user) - - if(cooking_obj && user.Adjacent(src)) //Fixes borgs being able to teleport food in these machines to themselves. - to_chat(user, "You grab \the [cooking_obj] from \the [src].") - user.put_in_hands(cooking_obj) - set_cooking(FALSE) - cooking_obj = null - icon_state = off_icon - return - - if(output_options.len) - - if(cooking) - to_chat(user, "\The [src] is in use!") - return - - var/choice = input("What specific food do you wish to make with \the [src]?") as null|anything in output_options+"Default" - if(!choice) - return - if(choice == "Default") - selected_option = null - to_chat(user, "You decide not to make anything specific with \the [src].") - else - selected_option = choice - to_chat(user, "You prepare \the [src] to make \a [selected_option].") + light = image(icon, "light_off") + light.pixel_x = light_x + light.pixel_y = light_y + add_overlay(light) +/obj/machinery/appliance/cooker/process() + if (!stat) + heat_up() + else + var/turf/T = get_turf(src) + if (temperature > T.temperature) + equalize_temperature() ..() + +/obj/machinery/appliance/cooker/power_change() + . = ..() + update_icon() // this probably won't cause issues, but Aurora used SSIcons and queue_icon_update() instead + +/obj/machinery/appliance/cooker/proc/update_cooking_power() + var/temp_scale = 0 + if(temperature > min_temp) + temp_scale = (temperature - min_temp) / (optimal_temp - min_temp) // If we're between min and optimal this will yield a value in the range 0-1 -/obj/machinery/cooker/proc/cook_mob(var/mob/living/victim, var/mob/user) - return - -/obj/machinery/cooker/proc/change_product_strings(var/obj/item/weapon/reagent_containers/food/snacks/product) - if(product.type == /obj/item/weapon/reagent_containers/food/snacks/variable) // Base type, generic. - product.name = "[cook_type] [cooking_obj.name]" - product.desc = "[cooking_obj.desc] It has been [cook_type]." + if(temp_scale > 1) // We're above optimal, efficiency goes down as we pass too much over it + if(temp_scale >= 2) + temp_scale = 0 + else + temp_scale = 1 - (temp_scale - 1) + + cooking_power = optimal_power * temp_scale + // RefreshParts() + +/obj/machinery/appliance/cooker/proc/heat_up() + if(temperature < optimal_temp) + if(use_power == 1 && ((optimal_temp - temperature) > 5)) + playsound(src, 'sound/machines/click.ogg', 20, 1) + use_power = 2.//If we're heating we use the active power + update_icon() + temperature += active_power_usage / resistance + update_cooking_power() + return 1 else - product.name = "[cooking_obj.name] [product.name]" + if(use_power == 2) + use_power = 1 + playsound(src, 'sound/machines/click.ogg', 20, 1) + update_icon() + //We're holding steady. temperature falls more slowly + if(prob(25)) + equalize_temperature() + return -1 -/obj/machinery/cooker/proc/change_product_appearance(var/obj/item/weapon/reagent_containers/food/snacks/product) - if(product.type == /obj/item/weapon/reagent_containers/food/snacks/variable) // Base type, generic. - product.appearance = cooking_obj - product.color = food_color - product.filling_color = food_color +/obj/machinery/appliance/cooker/proc/equalize_temperature() + temperature -= loss//Temperature will fall somewhat slowly + update_cooking_power() - // Make 'em into a corpse. - if(istype(cooking_obj, /obj/item/weapon/holder)) - var/matrix/M = matrix() - M.Turn(90) - M.Translate(1,-6) - product.transform = M +//Cookers do differently, they use containers +/obj/machinery/appliance/cooker/has_space(var/obj/item/I) + if(istype(I, /obj/item/weapon/reagent_containers/cooking_container)) + //Containers can go into an empty slot + if(cooking_objs.len < max_contents) + return 1 else - var/image/I = image(product.icon, "[product.icon_state]_filling") - if(istype(cooking_obj, /obj/item/weapon/reagent_containers/food/snacks)) - var/obj/item/weapon/reagent_containers/food/snacks/S = cooking_obj - I.color = S.filling_color - if(!I.color) - I.color = food_color - product.overlays += I + //Any food items directly added need an empty container. A slot without a container cant hold food + for (var/datum/cooking_item/CI in cooking_objs) + if (CI.container.check_contents() == 0) + return CI + return 0 + +/obj/machinery/appliance/cooker/add_content(var/obj/item/I, var/mob/user) + var/datum/cooking_item/CI = ..() + if (CI && CI.combine_target) + to_chat(user, "\The [I] will be used to make a [selected_option]. Output selection is returned to default for future items.") + selected_option = null \ No newline at end of file diff --git a/code/modules/food/kitchen/cooking_machines/_cooker_output.dm b/code/modules/food/kitchen/cooking_machines/_cooker_output.dm index cb4dcd15edc..4fc2ab75b29 100644 --- a/code/modules/food/kitchen/cooking_machines/_cooker_output.dm +++ b/code/modules/food/kitchen/cooking_machines/_cooker_output.dm @@ -1,72 +1,160 @@ -// Wrapper obj for cooked food. Appearance is set in the cooking code, not on spawn. -/obj/item/weapon/reagent_containers/food/snacks/variable - name = "cooked food" - icon = 'icons/obj/food_custom.dmi' - desc = "If you can see this description then something is wrong. Please report the bug on the tracker." - nutriment_amt = 5 - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/variable/pizza - name = "personal pizza" - desc = "A personalized pan pizza meant for only one person." - icon_state = "personal_pizza" - -/obj/item/weapon/reagent_containers/food/snacks/variable/bread - name = "bread" - desc = "Tasty bread." - icon_state = "breadcustom" - -/obj/item/weapon/reagent_containers/food/snacks/variable/pie - name = "pie" - desc = "Tasty pie." - icon_state = "piecustom" - -/obj/item/weapon/reagent_containers/food/snacks/variable/cake - name = "cake" - desc = "A popular band." - icon_state = "cakecustom" - -/obj/item/weapon/reagent_containers/food/snacks/variable/pocket - name = "hot pocket" - desc = "You wanna put a bangin- oh, nevermind." - icon_state = "donk" - -/obj/item/weapon/reagent_containers/food/snacks/variable/kebab - name = "kebab" - desc = "Remove this!" - icon_state = "kabob" - -/obj/item/weapon/reagent_containers/food/snacks/variable/waffles - name = "waffles" - desc = "Made with love." - icon_state = "waffles" - -/obj/item/weapon/reagent_containers/food/snacks/variable/cookie - name = "cookie" - desc = "Sugar snap!" - icon_state = "cookie" - -/obj/item/weapon/reagent_containers/food/snacks/variable/donut - name = "filled donut" - desc = "Donut eat this!" // kill me - icon_state = "donut" - -/obj/item/weapon/reagent_containers/food/snacks/variable/jawbreaker - name = "flavored jawbreaker" - desc = "It's like cracking a molar on a rainbow." - icon_state = "jawbreaker" - -/obj/item/weapon/reagent_containers/food/snacks/variable/candybar - name = "flavored chocolate bar" - desc = "Made in a factory downtown." - icon_state = "bar" - -/obj/item/weapon/reagent_containers/food/snacks/variable/sucker - name = "flavored sucker" - desc = "Suck, suck, suck." - icon_state = "sucker" - -/obj/item/weapon/reagent_containers/food/snacks/variable/jelly - name = "jelly" - desc = "All your friends will be jelly." - icon_state = "jellycustom" +// Wrapper obj for cooked food. Appearance is set in the cooking code, not on spawn. +/obj/item/weapon/reagent_containers/food/snacks/variable + name = "cooked food" + icon = 'icons/obj/food_custom.dmi' + desc = "If you can see this description then something is wrong. Please report the bug on the tracker." + bitesize = 2 + + var/size = 5 //The quantity of reagents which is considered "normal" for this kind of food + //These objects will change size depending on the ratio of reagents to this value + var/min_scale = 0.5 + var/max_scale = 2 + var/scale = 1 + + w_class = 2 + var/prefix + +/obj/item/weapon/reagent_containers/food/snacks/variable/initialize() + . = ..() + if (reagents) + reagents.maximum_volume = size*8 + 10 + else + create_reagents(size*8 + 10) + +/obj/item/weapon/reagent_containers/food/snacks/variable/update_icon() + if (reagents && reagents.total_volume) + var/ratio = reagents.total_volume / size + + scale = ratio**(1/3) //Scaling factor is square root of desired area + scale = Clamp(scale, min_scale, max_scale) + else + scale = min_scale + + var/matrix/M = matrix() + M.Scale(scale) + src.transform = M + + w_class *= scale + if (!prefix) + if (scale == min_scale) + prefix = "tiny" + else if (scale <= 0.8) + prefix = "small" + + else + if (scale >= 1.2) + prefix = "large" + if (scale >= 1.4) + prefix = "extra large" + if (scale >= 1.6) + prefix = "huge" + if (scale >= max_scale) + prefix = "massive" + + name = "[prefix] [name]" + + +/obj/item/weapon/reagent_containers/food/snacks/variable/pizza + name = "personal pizza" + desc = "A personalized pan pizza meant for only one person." + icon_state = "personal_pizza" + size = 20 + w_class = 3 + +/obj/item/weapon/reagent_containers/food/snacks/variable/bread + name = "bread" + desc = "Tasty bread." + icon_state = "breadcustom" + size = 40 + w_class = 3 + +/obj/item/weapon/reagent_containers/food/snacks/variable/pie + name = "pie" + desc = "Tasty pie." + icon_state = "piecustom" + size = 25 + +/obj/item/weapon/reagent_containers/food/snacks/variable/cake + name = "cake" + desc = "A popular band." + icon_state = "cakecustom" + size = 40 + w_class = 3 + +/obj/item/weapon/reagent_containers/food/snacks/variable/pocket + name = "hot pocket" + desc = "You wanna put a bangin- oh, nevermind." + icon_state = "donk" + size = 8 + w_class = 1 + +/obj/item/weapon/reagent_containers/food/snacks/variable/kebab + name = "kebab" + desc = "Remove this!" + icon_state = "kabob" + size = 10 + +/obj/item/weapon/reagent_containers/food/snacks/variable/waffles + name = "waffles" + desc = "Made with love." + icon_state = "waffles" + size = 12 + +/obj/item/weapon/reagent_containers/food/snacks/variable/cookie + name = "cookie" + desc = "Sugar snap!" + icon_state = "cookie" + size = 6 + w_class = 1 + +/obj/item/weapon/reagent_containers/food/snacks/variable/donut + name = "filled donut" + desc = "Donut eat this!" // kill me + icon_state = "donut" + size = 8 + w_class = 1 + +/obj/item/weapon/reagent_containers/food/snacks/variable/jawbreaker + name = "flavored jawbreaker" + desc = "It's like cracking a molar on a rainbow." + icon_state = "jawbreaker" + size = 4 + w_class = 1 + +/obj/item/weapon/reagent_containers/food/snacks/variable/candybar + name = "flavored chocolate bar" + desc = "Made in a factory downtown." + icon_state = "bar" + size = 6 + w_class = 1 + +/obj/item/weapon/reagent_containers/food/snacks/variable/sucker + name = "flavored sucker" + desc = "Suck, suck, suck." + icon_state = "sucker" + size = 4 + w_class = 1 + +/obj/item/weapon/reagent_containers/food/snacks/variable/jelly + name = "jelly" + desc = "All your friends will be jelly." + icon_state = "jellycustom" + size = 8 + + +/obj/item/weapon/reagent_containers/food/snacks/variable/cereal + name = "cereal" + desc = "Crispy and flaky" + icon_state = "cereal_box" + size = 30 + w_class = 3 + +/obj/item/weapon/reagent_containers/food/snacks/variable/cereal/initialize() + . =..() + name = pick(list("flakes", "krispies", "crunch", "pops", "O's", "crisp", "loops", "jacks", "clusters")) + +/obj/item/weapon/reagent_containers/food/snacks/variable/mob + desc = "Poor little thing." + size = 5 + w_class = 1 + var/kitchen_tag = "animal" \ No newline at end of file diff --git a/code/modules/food/kitchen/cooking_machines/_mixer.dm b/code/modules/food/kitchen/cooking_machines/_mixer.dm new file mode 100644 index 00000000000..8ef0d5a8eca --- /dev/null +++ b/code/modules/food/kitchen/cooking_machines/_mixer.dm @@ -0,0 +1,141 @@ +/* +The mixer subtype is used for the candymaker and cereal maker. They are similar to cookers but with a few +fundamental differences +1. They have a single container which cant be removed. it will eject multiple contents +2. Items can't be added or removed once the process starts +3. Items are all placed in the same container when added directly +4. They do combining mode only. And will always combine the entire contents of the container into an output +*/ + +/obj/machinery/appliance/mixer + max_contents = 1 + stat = POWEROFF + cooking_power = 0.4 + active_power_usage = 3000 + idle_power_usage = 50 + +/obj/machinery/appliance/mixer/examine(var/mob/user) + ..() + to_chat(user, "It is currently set to make a [selected_option]") + +/obj/machinery/appliance/mixer/New() + . = ..() + cooking_objs += new /datum/cooking_item(new /obj/item/weapon/reagent_containers/cooking_container(src)) + cooking = 0 + selected_option = pick(output_options) + +//Mixers cannot-not do combining mode. So the default option is removed from this. A combine target must be chosen +/obj/machinery/appliance/mixer/choose_output() + set src in oview(1) + set name = "Choose output" + set category = "Object" + + if (!isliving(usr)) + return + + if (!usr.IsAdvancedToolUser()) + to_chat(user, "You can't operate [src].") + return + + if(output_options.len) + var/choice = input("What specific food do you wish to make with \the [src]?") as null|anything in output_options + if(!choice) + return + else + selected_option = choice + to_chat(user, "You prepare \the [src] to make \a [selected_option].") + var/datum/cooking_item/CI = cooking_objs[1] + CI.combine_target = selected_option + + +/obj/machinery/appliance/mixer/has_space(var/obj/item/I) + var/datum/cooking_item/CI = cooking_objs[1] + if (!CI || !CI.container) + return 0 + + if (CI.container.can_fit(I)) + return CI + + return 0 + + +/obj/machinery/appliance/mixer/can_remove_items(var/mob/user) + if (stat) + return 1 + else + to_chat(user, "You can't remove ingredients while it's turned on! Turn it off first or wait for it to finish.") + +//Container is not removable +/obj/machinery/appliance/mixer/removal_menu(var/mob/user) + if (can_remove_items(user)) + var/list/menuoptions = list() + for (var/a in cooking_objs) + var/datum/cooking_item/CI = a + if (CI.container) + if (!CI.container.check_contents()) + to_chat(user, "There's nothing in [src] you can remove!") + return + + for (var/obj/item/I in CI.container) + menuoptions[I.name] = I + + var/selection = input(user, "Which item would you like to remove? If you want to remove chemicals, use an empty beaker.", "Remove ingredients") as null|anything in menuoptions + if (selection) + var/obj/item/I = menuoptions[selection] + if (!user || !user.put_in_hands(I)) + I.forceMove(get_turf(src)) + update_icon() + return 1 + return 0 + + +/obj/machinery/appliance/mixer/toggle_power() + set src in view() + set name = "Toggle Power" + set category = "Object" + + var/datum/cooking_item/CI = cooking_objs[1] + if(!CI.container.check_contents()) + to_chat("There's nothing in it! Add ingredients before turning [src] on!") + return + + if(stat & POWEROFF)//Its turned off + stat &= ~POWEROFF + if(usr) + usr.visible_message("[usr] turns the [src] on", "You turn on \the [src].") + get_cooking_work(CI) + use_power = 2 + else //Its on, turn it off + stat |= POWEROFF + use_power = 0 + if(usr) + usr.visible_message("[usr] turns the [src] off", "You turn off \the [src].") + playsound(src, 'sound/machines/click.ogg', 40, 1) + update_icon() + +/obj/machinery/appliance/mixer/can_insert(var/obj/item/I, var/mob/user) + if(!stat) + to_chat(user, ",You can't add items while \the [src] is running. Wait for it to finish or turn the power off to abort.") + return 0 + else + return ..() + +/obj/machinery/appliance/mixer/finish_cooking(var/datum/cooking_item/CI) + ..() + stat |= POWEROFF + playsound(src, 'sound/machines/click.ogg', 40, 1) + use_power = 0 + CI.reset() + update_icon() + +/obj/machinery/appliance/mixer/update_icon() + if (!stat) + icon_state = on_icon + else + icon_state = off_icon + + +/obj/machinery/appliance/mixer/process() + if (!stat) + for (var/i in cooking_objs) + do_cooking_tick(i) \ No newline at end of file diff --git a/code/modules/food/kitchen/cooking_machines/candy.dm b/code/modules/food/kitchen/cooking_machines/candy.dm index 21fd5069119..bbf1808ba18 100644 --- a/code/modules/food/kitchen/cooking_machines/candy.dm +++ b/code/modules/food/kitchen/cooking_machines/candy.dm @@ -1,18 +1,20 @@ -/obj/machinery/cooker/candy - name = "candy machine" - desc = "Get yer candied cheese wheels here!" - icon_state = "mixer_off" - off_icon = "mixer_off" - on_icon = "mixer_on" - cook_type = "candied" - - output_options = list( - "Jawbreaker" = /obj/item/weapon/reagent_containers/food/snacks/variable/jawbreaker, - "Candy Bar" = /obj/item/weapon/reagent_containers/food/snacks/variable/candybar, - "Sucker" = /obj/item/weapon/reagent_containers/food/snacks/variable/sucker, - "Jelly" = /obj/item/weapon/reagent_containers/food/snacks/variable/jelly - ) - -/obj/machinery/cooker/candy/change_product_appearance(var/obj/item/weapon/reagent_containers/food/snacks/cooked/product) - food_color = get_random_colour(1) - . = ..() +/obj/machinery/appliance/mixer/candy + name = "candy machine" + desc = "Get yer candied cheese wheels here!" + icon_state = "mixer_off" + off_icon = "mixer_off" + on_icon = "mixer_on" + cook_type = "candied" + appliancetype = CANDYMAKER + cooking_power = 0.6 + + output_options = list( + "Jawbreaker" = /obj/item/weapon/reagent_containers/food/snacks/variable/jawbreaker, + "Candy Bar" = /obj/item/weapon/reagent_containers/food/snacks/variable/candybar, + "Sucker" = /obj/item/weapon/reagent_containers/food/snacks/variable/sucker, + "Jelly" = /obj/item/weapon/reagent_containers/food/snacks/variable/jelly + ) + +/obj/machinery/appliance/mixer/candy/change_product_appearance(var/obj/item/weapon/reagent_containers/food/snacks/cooked/product) + food_color = get_random_colour(1) + . = ..() diff --git a/code/modules/food/kitchen/cooking_machines/cereal.dm b/code/modules/food/kitchen/cooking_machines/cereal.dm index 3a7b19c9b1c..613ae2c9f08 100644 --- a/code/modules/food/kitchen/cooking_machines/cereal.dm +++ b/code/modules/food/kitchen/cooking_machines/cereal.dm @@ -1,25 +1,62 @@ -/obj/machinery/cooker/cereal - name = "cereal maker" - desc = "Now with Dann O's available!" - icon = 'icons/obj/cooking_machines.dmi' - icon_state = "cereal_off" - cook_type = "cerealized" - on_icon = "cereal_on" - off_icon = "cereal_off" - -/obj/machinery/cooker/cereal/change_product_strings(var/obj/item/weapon/reagent_containers/food/snacks/product) - . = ..() - product.name = "box of [cooking_obj.name] cereal" - -/obj/machinery/cooker/cereal/change_product_appearance(var/obj/item/weapon/reagent_containers/food/snacks/product) - product.icon = 'icons/obj/food.dmi' - product.icon_state = "cereal_box" - product.filling_color = cooking_obj.color - - var/image/food_image = image(cooking_obj.icon, cooking_obj.icon_state) - food_image.color = cooking_obj.color - food_image.overlays += cooking_obj.overlays - food_image.transform *= 0.7 - - product.overlays += food_image - +/obj/machinery/appliance/mixer/cereal + name = "cereal maker" + desc = "Now with Dann O's available!" + icon = 'icons/obj/cooking_machines.dmi' + icon_state = "cereal_off" + cook_type = "cerealized" + on_icon = "cereal_on" + off_icon = "cereal_off" + appliancetype = CEREALMAKER + + output_options = list( + "Cereal" = /obj/item/weapon/reagent_containers/food/snacks/variable/cereal + ) + +/* +/obj/machinery/appliance/mixer/cereal/change_product_strings(var/obj/item/weapon/reagent_containers/food/snacks/product, var/datum/cooking_item/CI) + . = ..() + product.name = "box of [CI.object.name] cereal" + +/obj/machinery/appliance/mixer/cereal/change_product_appearance(var/obj/item/weapon/reagent_containers/food/snacks/product) + product.icon = 'icons/obj/food.dmi' + product.icon_state = "cereal_box" + product.filling_color = CI.object.color + + var/image/food_image = image(CI.object.icon, CI.object.icon_state) + food_image.color = CI.object.color + food_image.overlays += CI.object.overlays + food_image.transform *= 0.7 + + product.overlays += food_image +*/ + +/obj/machinery/appliance/mixer/cereal/combination_cook(var/datum/cooking_item/CI) + + var/list/images = list() + var/num = 0 + for (var/obj/item/I in CI.container). + if (istype(I, /obj/item/weapon/reagent_containers/food/snacks/variable/cereal)) + //Images of cereal boxes on cereal boxes is dumb + continue + + var/image/food_image = image(I.icon, I.icon_state) + food_image.color = I.color + food_image.add_overlay(I.overlays) + food_image.transform *= 0.7 - (num * 0.05) + food_image.pixel_x = rand(-2,2) + food_image.pixel_y = rand(-3,5) + + + if (!images[I.icon_state]) + images[I.icon_state] = food_image + num++ + + if (num > 3) + continue + + + var/obj/item/weapon/reagent_containers/food/snacks/result = ..() + + result.color = result.filling_color + for (var/i in images) + result.overlays += images[i] diff --git a/code/modules/food/kitchen/cooking_machines/container.dm b/code/modules/food/kitchen/cooking_machines/container.dm new file mode 100644 index 00000000000..389c8752c2a --- /dev/null +++ b/code/modules/food/kitchen/cooking_machines/container.dm @@ -0,0 +1,157 @@ +//Cooking containers are used in ovens and fryers, to hold multiple ingredients for a recipe. +//They work fairly similar to the microwave - acting as a container for objects and reagents, +//which can be checked against recipe requirements in order to cook recipes that require several things + +/obj/item/weapon/reagent_containers/cooking_container + icon = 'modular_citadel/icons/obj/cooking_machines.dmi' + var/shortname + var/max_space = 20//Maximum sum of w-classes of foods in this container at once + var/max_reagents = 80//Maximum units of reagents + flags = OPENCONTAINER | NOREACT + var/list/insertable = list( + /obj/item/weapon/reagent_containers/food/snacks, + /obj/item/weapon/holder, + /obj/item/weapon/paper + ) + +/obj/item/weapon/reagent_containers/cooking_container/initialize() + . = ..() + create_reagents(max_reagents) + flags |= OPENCONTAINER | NOREACT + + +/obj/item/weapon/reagent_containers/cooking_container/examine(var/mob/user) + ..() + if (contents.len) + var/string = "It contains....
" + for (var/atom/movable/A in contents) + string += "[A.name]
" + user << span("notice", string) + if (reagents.total_volume) + user << span("notice", "It contains [reagents.total_volume]u of reagents.") + + +/obj/item/weapon/reagent_containers/cooking_container/attackby(var/obj/item/I as obj, var/mob/user as mob) + for (var/possible_type in insertable) + if (istype(I, possible_type)) + if (!can_fit(I)) + to_chat(user, "There's no more space in the [src] for that!") + return 0 + + if(!user.unEquip(I)) + return + I.forceMove(src) + to_chat(user, "You put the [I] into the [src]") + return + +/obj/item/weapon/reagent_containers/cooking_container/verb/empty() + set src in oview(1) + set name = "Empty Container" + set category = "Object" + set desc = "Removes items from the container, excluding reagents." + + do_empty(usr) + +/obj/item/weapon/reagent_containers/cooking_container/proc/do_empty(mob/user) + if (!isliving(user)) + //Here we only check for ghosts. Animals are intentionally allowed to remove things from oven trays so they can eat it + return + + if (user.stat || user.restrained()) + to_chat(user, "You are in no fit state to do this.") + return + + if (!Adjacent(user)) + to_chat(user, "You can't reach [src] from here.") + return + + if (!contents.len) + to_chat(user, "There's nothing in the [src] you can remove!") + return + + for (var/atom/movable/A in contents) + A.forceMove(get_turf(src)) + + to_chat(user, "You remove all the solid items from the [src].") + +/obj/item/weapon/reagent_containers/cooking_container/proc/check_contents() + if (contents.len == 0) + if (!reagents || reagents.total_volume == 0) + return 0//Completely empty + else if (contents.len == 1) + if (!reagents || reagents.total_volume == 0) + return 1//Contains only a single object which can be extracted alone + return 2//Contains multiple objects and/or reagents + +/obj/item/weapon/reagent_containers/cooking_container/AltClick(var/mob/user) + do_empty(user) + +//Deletes contents of container. +//Used when food is burned, before replacing it with a burned mess +/obj/item/weapon/reagent_containers/cooking_container/proc/clear() + for (var/atom/a in contents) + qdel(a) + + if (reagents) + reagents.clear_reagents() + +/obj/item/weapon/reagent_containers/cooking_container/proc/label(var/number, var/CT = null) + //This returns something like "Fryer basket 1 - empty" + //The latter part is a brief reminder of contents + //This is used in the removal menu + . = shortname + if (!isnull(number)) + .+= " [number]" + .+= " - " + if (CT) + .+=CT + else if (contents.len) + for (var/obj/O in contents) + .+=O.name//Just append the name of the first object + return + else if (reagents && reagents.total_volume > 0) + var/datum/reagent/R = reagents.get_master_reagent() + .+=R.name//Append name of most voluminous reagent + return + else + . += "empty" + + +/obj/item/weapon/reagent_containers/cooking_container/proc/can_fit(var/obj/item/I) + var/total = 0 + for (var/obj/item/J in contents) + total += J.w_class + + if((max_space - total) >= I.w_class) + return 1 + + +//Takes a reagent holder as input and distributes its contents among the items in the container +//Distribution is weighted based on the volume already present in each item +/obj/item/weapon/reagent_containers/cooking_container/proc/soak_reagent(var/datum/reagents/holder) + var/total = 0 + var/list/weights = list() + for (var/obj/item/I in contents) + if (I.reagents && I.reagents.total_volume) + total += I.reagents.total_volume + weights[I] = I.reagents.total_volume + + if (total > 0) + for (var/obj/item/I in contents) + if (weights[I]) + holder.trans_to(I, weights[I] / total) + + +/obj/item/weapon/reagent_containers/cooking_container/oven + name = "oven dish" + shortname = "shelf" + desc = "Put ingredients in this; designed for use with an oven. Warranty void if used." + icon_state = "ovendish" + max_space = 30 + max_reagents = 120 + +/obj/item/weapon/reagent_containers/cooking_container/fryer + name = "fryer basket" + shortname = "basket" + desc = "Put ingredients in this; designed for use with a deep fryer. Warranty void if used." + icon_state = "basket" \ No newline at end of file diff --git a/code/modules/food/kitchen/cooking_machines/fryer.dm b/code/modules/food/kitchen/cooking_machines/fryer.dm index e3753f0f486..bec146218b8 100644 --- a/code/modules/food/kitchen/cooking_machines/fryer.dm +++ b/code/modules/food/kitchen/cooking_machines/fryer.dm @@ -1,4 +1,4 @@ -/obj/machinery/cooker/fryer +/obj/machinery/appliance/cooker/fryer name = "deep fryer" desc = "Deep fried everything." icon_state = "fryer_off" @@ -9,30 +9,157 @@ food_color = "#FFAD33" cooked_sound = 'sound/machines/ding.ogg' var/datum/looping_sound/deep_fryer/fry_loop + appliancetype = FRYER + active_power_usage = 12 KILOWATTS + + optimal_power = 0.35 + + idle_power_usage = 3.6 KILOWATTS + // Power used to maintain temperature once it's heated. + // Going with 25% of the active power. This is a somewhat arbitrary value. -/obj/machinery/cooker/fryer/Initialize() + resistance = 20000 // Approx. 8-9 minutes to heat up. + + max_contents = 2 + container_type = /obj/item/weapon/reagent_containers/cooking_container/fryer + + stat = POWEROFF // Starts turned off + + var/datum/reagents/oil + var/optimal_oil = 9000 //90 litres of cooking oil + +/obj/machinery/appliance/cooker/fryer/Initialize() + . = ..() fry_loop = new(list(src), FALSE) - return ..() + + oil = new/datum/reagents(optimal_oil * 1.25, src) + var/variance = rand()*0.15 + // Fryer is always a little below full, but its usually negligible -/obj/machinery/cooker/fryer/Destroy() + if(prob(20)) + // Sometimes the fryer will start with much less than full oil, significantly impacting efficiency until filled + variance = rand()*0.5 + oil.add_reagent("cornoil", optimal_oil*(1 - variance)) + +/obj/machinery/appliance/cooker/fryer/Destroy() QDEL_NULL(fry_loop) return ..() + +/obj/machinery/appliance/cooker/fryer/examine(var/mob/user) + if (..())//no need to duplicate adjacency check + to_chat(user, "Oil Level: [oil.total_volume]/[optimal_oil]") + +/obj/machinery/appliance/cooker/fryer/heat_up() + if (..()) + //Set temperature of oil reagent + var/datum/reagent/nutriment/triglyceride/oil/OL = oil.get_master_reagent() + if (OL && istype(OL)) + OL.data["temperature"] = temperature -/obj/machinery/cooker/fryer/set_cooking(new_setting) +/obj/machinery/appliance/cooker/fryer/equalize_temperature() + if (..()) + //Set temperature of oil reagent + var/datum/reagent/nutriment/triglyceride/oil/OL = oil.get_master_reagent() + if (OL && istype(OL)) + OL.data["temperature"] = temperature + +/obj/machinery/appliance/cooker/fryer/set_cooking(new_setting) ..() if(new_setting) fry_loop.start() else fry_loop.stop() + +/obj/machinery/appliance/cooker/fryer/update_cooking_power() + ..()//In addition to parent temperature calculation + //Fryer efficiency also drops when oil levels arent optimal + var/oil_level = 0 + var/datum/reagent/nutriment/triglyceride/oil/OL = oil.get_master_reagent() + if(OL && istype(OL)) + oil_level = OL.volume -/obj/machinery/cooker/fryer/cook_mob(var/mob/living/victim, var/mob/user) + var/oil_efficiency = 0 + if(oil_level) + oil_efficiency = oil_level / optimal_oil + + if(oil_efficiency > 1) + //We're above optimal, efficiency goes down as we pass too much over it + oil_efficiency = 1 - (oil_efficiency - 1) + + + cooking_power *= oil_efficiency + +/obj/machinery/appliance/cooker/fryer/update_icon() + if(cooking) + icon_state = on_icon + else + icon_state = off_icon + ..() + +//Fryer gradually infuses any cooked food with oil. Moar calories +//This causes a slow drop in oil levels, encouraging refill after extended use +/obj/machinery/appliance/cooker/fryer/do_cooking_tick(var/datum/cooking_item/CI) + if(..() && (CI.oil < CI.max_oil) && prob(20)) + var/datum/reagents/buffer = new /datum/reagents(2) + oil.trans_to_holder(buffer, min(0.5, CI.max_oil - CI.oil)) + CI.oil += buffer.total_volume + CI.container.soak_reagent(buffer) + + +//To solve any odd logic problems with results having oil as part of their compiletime ingredients. +//Upon finishing a recipe the fryer will analyse any oils in the result, and replace them with our oil +//As well as capping the total to the max oil +/obj/machinery/appliance/cooker/fryer/finish_cooking(var/datum/cooking_item/CI) + ..() + var/total_oil = 0 + var/total_our_oil = 0 + var/total_removed = 0 + var/datum/reagent/our_oil = oil.get_master_reagent() + + for (var/obj/item/I in CI.container) + if (I.reagents && I.reagents.total_volume) + for (var/datum/reagent/R in I.reagents.reagent_list) + if (istype(R, /datum/reagent/nutriment/triglyceride/oil)) + total_oil += R.volume + if (R.id != our_oil.id) + total_removed += R.volume + I.reagents.remove_reagent(R.id, R.volume) + else + total_our_oil += R.volume + + + if (total_removed > 0 || total_oil != CI.max_oil) + total_oil = min(total_oil, CI.max_oil) + + if (total_our_oil < total_oil) + //If we have less than the combined total, then top up from our reservoir + var/datum/reagents/buffer = new /datum/reagents(INFINITY) + oil.trans_to_holder(buffer, total_oil - total_our_oil) + CI.container.soak_reagent(buffer) + else if (total_our_oil > total_oil) + + //If we have more than the maximum allowed then we delete some. + //This could only happen if one of the objects spawns with the same type of oil as ours + var/portion = 1 - (total_oil / total_our_oil) //find the percentage to remove + for (var/obj/item/I in CI.container) + if (I.reagents && I.reagents.total_volume) + for (var/datum/reagent/R in I.reagents.reagent_list) + if (R.id == our_oil.id) + I.reagents.remove_reagent(R.id, R.volume*portion) + +/obj/machinery/appliance/cooker/fryer/cook_mob(var/mob/living/victim, var/mob/user) if(!istype(victim)) return - user.visible_message("\The [user] starts pushing \the [victim] into \the [src]!") - icon_state = on_icon - cooking = 1 + // user.visible_message("\The [user] starts pushing \the [victim] into \the [src]!") + + //Removed delay on this action in favour of a cooldown after it + //If you can lure someone close to the fryer and grab them then you deserve success. + //And a delay on this kind of niche action just ensures it never happens + //Cooldown ensures it can't be spammed to instakill someone + user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN*3) + fry_loop.start() if(!do_mob(user, victim, 20)) @@ -48,38 +175,71 @@ fry_loop.stop() return + var/damage = rand(7,13) // Though this damage seems reduced, some hot oil is transferred to the victim and will burn them for a while after + + var/datum/reagent/nutriment/triglyceride/oil/OL = oil.get_master_reagent() + damage *= OL.heatdamage(victim) + var/obj/item/organ/external/E var/nopain if(ishuman(victim) && user.zone_sel.selecting != "groin" && user.zone_sel.selecting != "chest") var/mob/living/carbon/human/H = victim - if(H.species.flags & NO_PAIN) - nopain = 2 E = H.get_organ(user.zone_sel.selecting) - if(E.robotic >= ORGAN_ROBOT) + if(!E || E.species.flags & NO_PAIN) + nopain = 2 + else if(E.robotic >= ORGAN_ROBOT) nopain = 1 user.visible_message("\The [user] shoves \the [victim][E ? "'s [E.name]" : ""] into \the [src]!") + if (damage > 0) + if(E) + if(E.children && E.children.len) + for(var/obj/item/organ/external/child in E.children) + if(nopain && nopain < 2 && !(child.robotic >= ORGAN_ROBOT)) + nopain = 0 + child.take_damage(0, damage) + damage -= (damage*0.5)//IF someone's arm is plunged in, the hand should take most of it + E.take_damage(0, damage) + else + victim.apply_damage(damage, BURN, user.zone_sel.selecting) - if(E) - E.take_damage(0, rand(20,30)) - if(E.children && E.children.len) - for(var/obj/item/organ/external/child in E.children) - if(nopain && nopain < 2 && !(child.robotic >= ORGAN_ROBOT)) - nopain = 0 - child.take_damage(0, rand(20,30)) - else - victim.apply_damage(rand(30,40), BURN, user.zone_sel.selecting) + if(!nopain) + victim << "Agony consumes you as searing hot oil scorches your [E ? E.name : "flesh"] horribly!" + victim.emote("scream") + else + victim << "Searing hot oil scorches your [E ? E.name : "flesh"]!" - if(!nopain) - to_chat(victim, "Agony consumes you as searing hot oil scorches your [E ? E.name : "flesh"] horribly!") - victim.emote("scream") - else - to_chat(victim, "Searing hot oil scorches your [E ? E.name : "flesh"]!") + user.attack_log += text("\[[time_stamp()]\] Has [cook_type] \the [victim] ([victim.ckey]) in \a [src]") + victim.attack_log += text("\[[time_stamp()]\] Has been [cook_type] in \a [src] by [user.name] ([user.ckey])") + msg_admin_attack("[key_name_admin(user)] [cook_type] \the [victim] ([victim.ckey]) in \a [src]. (JMP)",ckey=key_name(user),ckey_target=key_name(victim)) - if(victim.client) - add_attack_logs(user,victim,"[cook_type] in [src]") - - icon_state = off_icon - cooking = 0 + //Coat the victim in some oil + oil.trans_to(victim, 40) + fry_loop.stop() - return + +/obj/machinery/appliance/cooker/fryer/attackby(var/obj/item/I, var/mob/user) + if(istype(I, /obj/item/weapon/reagent_containers/glass) && I.reagents) + if (I.reagents.total_volume <= 0 && oil) + //Its empty, handle scooping some hot oil out of the fryer + oil.trans_to(I, I.reagents.maximum_volume) + user.visible_message("[user] scoops some oil out of \the [src].", span("notice","You scoop some oil out of \the [src].")) + return 1 + else + //It contains stuff, handle pouring any oil into the fryer + //Possibly in future allow pouring non-oil reagents in, in order to sabotage it and poison food. + //That would really require coding some sort of filter or better replacement mechanism first + //So for now, restrict to oil only + var/amount = 0 + for (var/datum/reagent/R in I.reagents.reagent_list) + if (istype(R, /datum/reagent/nutriment/triglyceride/oil)) + var/delta = oil.get_free_space() + delta = min(delta, R.volume) + oil.add_reagent(R.id, delta) + I.reagents.remove_reagent(R.id, delta) + amount += delta + if (amount > 0) + user.visible_message("[user] pours some oil into \the [src].", span("notice","You pour [amount]u of oil into \the [src]."), "You hear something viscous being poured into a metal container.") + return 1 + //If neither of the above returned, then call parent as normal + ..() diff --git a/code/modules/food/kitchen/cooking_machines/grill.dm b/code/modules/food/kitchen/cooking_machines/grill.dm index 312189c5881..663cffe62b5 100644 --- a/code/modules/food/kitchen/cooking_machines/grill.dm +++ b/code/modules/food/kitchen/cooking_machines/grill.dm @@ -1,10 +1,10 @@ -/obj/machinery/cooker/grill - name = "grill" - desc = "Backyard grilling, IN SPACE." - icon_state = "grill_off" - cook_type = "grilled" - cook_time = 100 - food_color = "#A34719" - on_icon = "grill_on" - off_icon = "grill_off" +/obj/machinery/appliance/cooker/grill + name = "grill" + desc = "Backyard grilling, IN SPACE." + icon_state = "grill_off" + cook_type = "grilled" + cook_time = 100 + food_color = "#A34719" + on_icon = "grill_on" + off_icon = "grill_off" can_burn_food = 1 \ No newline at end of file diff --git a/code/modules/food/kitchen/cooking_machines/oven.dm b/code/modules/food/kitchen/cooking_machines/oven.dm index ec941af2239..c1d0ccf5353 100644 --- a/code/modules/food/kitchen/cooking_machines/oven.dm +++ b/code/modules/food/kitchen/cooking_machines/oven.dm @@ -1,23 +1,23 @@ -/obj/machinery/cooker/oven - name = "oven" - desc = "Cookies are ready, dear." - icon = 'icons/obj/cooking_machines.dmi' - icon_state = "oven_off" - on_icon = "oven_on" - off_icon = "oven_off" - cook_type = "baked" - cook_time = 300 - food_color = "#A34719" - can_burn_food = 1 - - output_options = list( - "Personal Pizza" = /obj/item/weapon/reagent_containers/food/snacks/variable/pizza, - "Bread" = /obj/item/weapon/reagent_containers/food/snacks/variable/bread, - "Pie" = /obj/item/weapon/reagent_containers/food/snacks/variable/pie, - "Small Cake" = /obj/item/weapon/reagent_containers/food/snacks/variable/cake, - "Hot Pocket" = /obj/item/weapon/reagent_containers/food/snacks/variable/pocket, - "Kebab" = /obj/item/weapon/reagent_containers/food/snacks/variable/kebab, - "Waffles" = /obj/item/weapon/reagent_containers/food/snacks/variable/waffles, - "Cookie" = /obj/item/weapon/reagent_containers/food/snacks/variable/cookie, - "Donut" = /obj/item/weapon/reagent_containers/food/snacks/variable/donut, +/obj/machinery/appliance/cooker/oven + name = "oven" + desc = "Cookies are ready, dear." + icon = 'icons/obj/cooking_machines.dmi' + icon_state = "oven_off" + on_icon = "oven_on" + off_icon = "oven_off" + cook_type = "baked" + cook_time = 300 + food_color = "#A34719" + can_burn_food = 1 + + output_options = list( + "Personal Pizza" = /obj/item/weapon/reagent_containers/food/snacks/variable/pizza, + "Bread" = /obj/item/weapon/reagent_containers/food/snacks/variable/bread, + "Pie" = /obj/item/weapon/reagent_containers/food/snacks/variable/pie, + "Small Cake" = /obj/item/weapon/reagent_containers/food/snacks/variable/cake, + "Hot Pocket" = /obj/item/weapon/reagent_containers/food/snacks/variable/pocket, + "Kebab" = /obj/item/weapon/reagent_containers/food/snacks/variable/kebab, + "Waffles" = /obj/item/weapon/reagent_containers/food/snacks/variable/waffles, + "Cookie" = /obj/item/weapon/reagent_containers/food/snacks/variable/cookie, + "Donut" = /obj/item/weapon/reagent_containers/food/snacks/variable/donut, ) \ No newline at end of file diff --git a/icons/obj/cooking_machines.dmi b/icons/obj/cooking_machines.dmi index 666a31b9d09..119d42de116 100644 Binary files a/icons/obj/cooking_machines.dmi and b/icons/obj/cooking_machines.dmi differ diff --git a/icons/obj/food.dmi b/icons/obj/food.dmi index 64f4753b7b9..156185fc903 100644 Binary files a/icons/obj/food.dmi and b/icons/obj/food.dmi differ diff --git a/icons/obj/food_syn.dmi b/icons/obj/food_syn.dmi new file mode 100644 index 00000000000..f794f3f7de9 Binary files /dev/null and b/icons/obj/food_syn.dmi differ diff --git a/maps/northern_star/polaris-1.dmm b/maps/northern_star/polaris-1.dmm index e6740cebd48..def42f2def7 100644 --- a/maps/northern_star/polaris-1.dmm +++ b/maps/northern_star/polaris-1.dmm @@ -4612,12 +4612,12 @@ "bKJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/hydroponics) "bKK" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/table/marble,/obj/item/weapon/book/manual/chef_recipes,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{pixel_x = 3},/obj/machinery/camera/network/civilian{c_tag = "CIV - Kitchen Port"; dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bKL" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = 28},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"bKM" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/cooker/fryer,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"bKN" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/cooker/grill,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"bKM" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/appliance/cooker/fryer,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"bKN" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/appliance/cooker/grill,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bKO" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bKP" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bKQ" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/sink/kitchen{pixel_y = 28},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"bKR" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/cooker/oven,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"bKR" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/appliance/cooker/oven,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bKS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/kitchen) "bKT" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) "bKU" = (/turf/simulated/wall/r_wall,/area/medical/chemistry) @@ -4716,7 +4716,7 @@ "bMJ" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/landmark/start{name = "Chef"},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bMK" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bML" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"bMM" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/cooker/candy,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"bMM" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/appliance/cooker/candy,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bMN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/kitchen) "bMO" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) "bMP" = (/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) @@ -4817,7 +4817,7 @@ "bOG" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bOH" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bOI" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/weapon/material/knife/butch,/obj/item/weapon/material/kitchen/rollingpin,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"bOJ" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/cooker/cereal,/obj/machinery/camera/network/civilian{c_tag = "CIV - Kitchen Starboard"; dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"bOJ" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/appliance/cooker/cereal,/obj/machinery/camera/network/civilian{c_tag = "CIV - Kitchen Starboard"; dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bOK" = (/obj/item/stack/material/phoron,/obj/item/stack/material/phoron,/obj/item/stack/material/phoron,/obj/item/stack/material/phoron,/obj/item/stack/material/phoron,/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "chemcounter"; name = "Pharmacy Counter Lockdown Control"; pixel_y = 14},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/corner/beige{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/chemistry) "bOL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/chemistry) "bOM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/medical/chemistry) diff --git a/maps/southern_cross/southern_cross-1.dmm b/maps/southern_cross/southern_cross-1.dmm index b276f58b451..f0895b3e562 100644 --- a/maps/southern_cross/southern_cross-1.dmm +++ b/maps/southern_cross/southern_cross-1.dmm @@ -8095,7 +8095,7 @@ "cZI" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/locker) "cZJ" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/locker) "cZK" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"cZL" = (/obj/machinery/cooker/fryer,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"cZL" = (/obj/machinery/appliance/cooker/fryer,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "cZM" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/turf/simulated/floor/tiled,/area/crew_quarters/locker) "cZN" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/crew_quarters/locker) "cZO" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/crew_quarters/locker) @@ -8130,7 +8130,7 @@ "dar" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(5,12,25,27,28,35)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/locker) "das" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker) "dat" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/locker) -"dau" = (/obj/machinery/cooker/candy,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"dau" = (/obj/machinery/appliance/cooker/candy,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "dav" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "daw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/closet,/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/bar) "dax" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall,/area/crew_quarters/kitchen) @@ -8186,7 +8186,7 @@ "dbv" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/crew_quarters/locker) "dbw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/bar) "dbx" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/bar) -"dby" = (/obj/machinery/cooker/cereal,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"dby" = (/obj/machinery/appliance/cooker/cereal,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "dbz" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 10; icon_state = "intact"},/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/maintenance/bar) "dbA" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/effect/landmark/start{name = "Chef"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "dbB" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 5},/obj/item/weapon/reagent_containers/food/condiment/enzyme,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) @@ -8346,10 +8346,10 @@ "dez" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/crew_quarters/locker) "deA" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled,/area/crew_quarters/locker) "deB" = (/obj/structure/closet/crate/plastic,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/bar) -"deC" = (/obj/machinery/cooker/grill,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"deC" = (/obj/machinery/appliance/cooker/grill,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "deD" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "deE" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"deF" = (/obj/machinery/cooker/oven,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"deF" = (/obj/machinery/appliance/cooker/oven,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "deG" = (/obj/structure/closet/lasertag/red,/obj/item/stack/flag/red,/obj/structure/window/reinforced,/turf/simulated/floor/tiled/dark,/area/crew_quarters/locker) "deH" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/wood,/area/crew_quarters/cafeteria) "deI" = (/obj/structure/flora/pottedplant,/obj/machinery/computer/guestpass{pixel_x = 0; pixel_y = -30},/turf/simulated/floor/wood,/area/crew_quarters/cafeteria) @@ -11021,7 +11021,7 @@ "edW" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/folder/yellow,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) "edX" = (/obj/machinery/atmospherics/pipe/manifold/hidden/red{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) "edY" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{dir = 5; icon_state = "intact"},/turf/simulated/floor/tiled,/area/engineering/foyer) - + (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/southern_cross/southern_cross-6.dmm b/maps/southern_cross/southern_cross-6.dmm index 8d40ebf0329..205bef24b58 100644 --- a/maps/southern_cross/southern_cross-6.dmm +++ b/maps/southern_cross/southern_cross-6.dmm @@ -644,7 +644,7 @@ "mt" = (/obj/item/weapon/stool/padded,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "mu" = (/obj/machinery/biogenerator,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "mv" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) -"mw" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/cooker/fryer,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"mw" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/appliance/cooker/fryer,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "mx" = (/obj/machinery/computer/card/centcom{dir = 4},/obj/item/weapon/card/id/centcom,/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) "my" = (/obj/structure/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/command) "mz" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"; dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/response_ship/start) @@ -660,7 +660,7 @@ "mJ" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve) "mK" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/main_hall) "mL" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/closet/secure_closet/freezer/fridge,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) -"mM" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/cooker/grill,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"mM" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/appliance/cooker/grill,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "mN" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/sink/kitchen{pixel_y = 28},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "mO" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/command) "mP" = (/obj/machinery/button/remote/blast_door{id = "crescent_thunderdome"; name = "Thunderdome Access"; pixel_x = 6; pixel_y = -24; req_access = list(101)},/obj/machinery/button/remote/blast_door{id = "crescent_vip_shuttle"; name = "VIP Shuttle Access"; pixel_x = 6; pixel_y = -34; req_access = list(101)},/obj/machinery/button/remote/blast_door{id = "crescent_checkpoint_access"; name = "Crescent Checkpoint Access"; pixel_x = -6; pixel_y = -24; req_access = list(101)},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/command) @@ -668,7 +668,7 @@ "mR" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/response_ship/start) "mS" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"; dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/response_ship/start) "mT" = (/obj/machinery/computer/pod{id = "thunderdomegen"; name = "Thunderdome General Supply"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin) -"mU" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/cooker/oven,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"mU" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/appliance/cooker/oven,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "mV" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/material/knife/machete/hatchet,/obj/item/weapon/material/knife/machete/hatchet,/obj/item/weapon/material/minihoe,/obj/item/weapon/material/minihoe,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "mW" = (/obj/machinery/smartfridge/drying_rack,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "mX" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/reagent_containers/glass/bucket,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) @@ -704,7 +704,7 @@ "nB" = (/obj/machinery/flasher{id = "flash"; name = "Thunderdome Flash"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) "nC" = (/obj/machinery/seed_extractor,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "nD" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) -"nE" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/cooker/candy,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"nE" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/appliance/cooker/candy,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "nF" = (/obj/machinery/door/blast/regular{id = "CentComPort"; name = "Security Doors"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) "nG" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access = list(101)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) "nH" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/command) @@ -730,7 +730,7 @@ "ob" = (/obj/structure/table/marble,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/material/kitchen/rollingpin,/obj/effect/floor_decal/corner/white/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "oc" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "od" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) -"oe" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/cooker/cereal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"oe" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/appliance/cooker/cereal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "of" = (/obj/structure/table/reinforced,/obj/item/weapon/card/id/gold/captain/spare,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/command) "og" = (/obj/structure/table/reinforced,/obj/item/device/pda/captain,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/command) "oh" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_bay_door"; locked = 1},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/command) @@ -2319,7 +2319,7 @@ "SE" = (/obj/effect/floor_decal/sign/small_g,/turf/simulated/floor/holofloor/wood,/area/holodeck/source_chess) "SF" = (/obj/effect/floor_decal/sign/small_f,/turf/simulated/floor/holofloor/wood,/area/holodeck/source_chess) "SG" = (/obj/effect/floor_decal/sign/small_h,/turf/simulated/floor/holofloor/wood,/area/holodeck/source_chess) - + (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/maps/submaps/surface_submaps/plains/Diner.dmm b/maps/submaps/surface_submaps/plains/Diner.dmm index d8c6d2d7e47..6fec261e57b 100644 --- a/maps/submaps/surface_submaps/plains/Diner.dmm +++ b/maps/submaps/surface_submaps/plains/Diner.dmm @@ -1,1132 +1,1132 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aa" = ( -/turf/template_noop, -/area/template_noop) -"ab" = ( -/turf/template_noop, -/area/submap/Diner) -"ac" = ( -/turf/simulated/floor/outdoors/dirt, -/area/submap/Diner) -"ad" = ( -/turf/simulated/wall, -/area/submap/Diner) -"ae" = ( -/obj/structure/window/reinforced/full, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"af" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"ag" = ( -/obj/structure/table/standard, -/obj/machinery/microwave, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"ah" = ( -/obj/structure/table/standard, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"ai" = ( -/obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/glass/beaker, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aj" = ( -/obj/structure/table/standard, -/obj/machinery/light{ - dir = 1 - }, -/obj/item/weapon/material/knife/butch, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"ak" = ( -/obj/machinery/vending/cola, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"al" = ( -/obj/machinery/vending/dinnerware, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"am" = ( -/obj/structure/sink/kitchen, -/turf/simulated/wall, -/area/submap/Diner) -"an" = ( -/obj/structure/flora/tree/sif, -/turf/template_noop, -/area/submap/Diner) -"ao" = ( -/obj/structure/bed/chair/wood{ - dir = 1 - }, -/obj/effect/floor_decal/corner/red/diagonal, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"ap" = ( -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aq" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"ar" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/material/kitchen/utensil/fork, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"as" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/machinery/light{ - icon_state = "tube1"; - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"at" = ( -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"au" = ( -/obj/structure/table/standard, -/obj/item/weapon/book/manual/chef_recipes, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"av" = ( -/obj/structure/table/standard, -/obj/item/weapon/material/kitchen/rollingpin, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aw" = ( -/obj/machinery/cooker/cereal, -/obj/machinery/light{ - icon_state = "tube1"; - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"ax" = ( -/obj/structure/bed/chair/wood, -/obj/effect/floor_decal/corner/red/diagonal, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"ay" = ( -/obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/condiment/sugar, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"az" = ( -/obj/structure/simple_door/wood, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aA" = ( -/obj/structure/simple_door/wood, -/turf/simulated/floor/tiled, -/area/submap/Diner) -"aB" = ( -/obj/structure/simple_door/wood, -/turf/simulated/floor/tiled/freezer, -/area/submap/Diner) -"aC" = ( -/obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/effect/floor_decal/corner/red/diagonal, -/obj/item/weapon/material/kitchen/utensil/fork, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aD" = ( -/obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/effect/floor_decal/corner/red/diagonal, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aE" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/item/weapon/stool/padded, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aF" = ( -/obj/structure/table/standard, -/obj/effect/floor_decal/corner/red/diagonal, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aG" = ( -/turf/simulated/floor/tiled, -/area/submap/Diner) -"aH" = ( -/turf/simulated/floor/tiled/freezer, -/area/submap/Diner) -"aI" = ( -/obj/structure/closet/crate/freezer, -/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/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/turf/simulated/floor/tiled/freezer, -/area/submap/Diner) -"aJ" = ( -/obj/structure/table/standard, -/obj/effect/floor_decal/corner/red/diagonal, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aK" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/machinery/light{ - icon_state = "tube1"; - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aL" = ( -/obj/machinery/light/small{ - brightness_color = "#DA0205"; - brightness_power = 1; - brightness_range = 5; - dir = 8 - }, -/turf/simulated/floor/tiled, -/area/submap/Diner) -"aM" = ( -/obj/machinery/light/small{ - brightness_color = "#DA0205"; - brightness_power = 1; - brightness_range = 5; - dir = 8 - }, -/turf/simulated/floor/tiled/freezer, -/area/submap/Diner) -"aN" = ( -/obj/structure/closet/crate/freezer, -/obj/machinery/light/small{ - dir = 4 - }, -/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/meat, -/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/meat, -/turf/simulated/floor/tiled/freezer, -/area/submap/Diner) -"aO" = ( -/obj/structure/table/standard, -/obj/effect/floor_decal/corner/red/diagonal, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aP" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/structure/table/standard, -/obj/machinery/microwave, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aQ" = ( -/obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/condiment/flour, -/obj/item/weapon/reagent_containers/food/condiment/flour, -/obj/item/weapon/reagent_containers/food/condiment/flour, -/obj/item/weapon/reagent_containers/food/condiment/flour, -/obj/item/weapon/reagent_containers/food/condiment/flour, -/obj/item/weapon/reagent_containers/food/condiment/flour, -/obj/item/weapon/reagent_containers/food/condiment/flour, -/turf/simulated/floor/tiled/freezer, -/area/submap/Diner) -"aR" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/structure/coatrack, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aS" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/structure/table/standard, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aT" = ( -/obj/structure/closet/crate/freezer, -/turf/simulated/floor/tiled/freezer, -/area/submap/Diner) -"aU" = ( -/obj/machinery/gibber, -/turf/simulated/floor/tiled/freezer, -/area/submap/Diner) -"aV" = ( -/obj/machinery/light/small, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aW" = ( -/obj/machinery/cooker/fryer, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aX" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/simulated/floor/outdoors/dirt, -/area/submap/Diner) -"aY" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aZ" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/machinery/cooker/grill, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"ba" = ( -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/tiled, -/area/submap/Diner) -"bb" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/simulated/floor/tiled, -/area/submap/Diner) -"bc" = ( -/obj/machinery/light{ - icon_state = "tube1"; - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"bd" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"be" = ( -/obj/structure/table/standard, -/obj/machinery/chemical_dispenser/bar_coffee, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"bf" = ( -/obj/item/frame/apc, -/turf/simulated/floor/lino, -/area/submap/Diner) -"bg" = ( -/obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, -/turf/simulated/floor/lino, -/area/submap/Diner) -"bh" = ( -/obj/structure/bed/chair/office/light, -/turf/simulated/floor/lino, -/area/submap/Diner) -"bi" = ( -/turf/simulated/floor/lino, -/area/submap/Diner) -"bk" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/simulated/floor/lino, -/area/submap/Diner) -"bl" = ( -/obj/structure/table/woodentable, -/obj/item/weapon/cell/high, -/turf/simulated/floor/lino, -/area/submap/Diner) -"bm" = ( -/obj/structure/table/woodentable, -/turf/simulated/floor/lino, -/area/submap/Diner) -"bn" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/simulated/floor/lino, -/area/submap/Diner) -"bo" = ( -/obj/structure/simple_door/wood, -/turf/simulated/floor/lino, -/area/submap/Diner) -"bp" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/structure/windoor_assembly{ - icon_state = "l_windoor_assembly01"; - dir = 2 - }, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"bq" = ( -/obj/structure/bookcase, -/turf/simulated/floor/lino, -/area/submap/Diner) -"br" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/machinery/space_heater, -/obj/machinery/light, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"bs" = ( -/obj/structure/sink{ - icon_state = "sink"; - dir = 8; - pixel_x = -12; - pixel_y = 2 - }, -/turf/simulated/floor/tiled/hydro, -/area/submap/Diner) -"bt" = ( -/turf/simulated/floor/tiled/hydro, -/area/submap/Diner) -"bu" = ( -/obj/structure/toilet, -/turf/simulated/floor/tiled/hydro, -/area/submap/Diner) -"bv" = ( -/obj/structure/bed/chair/wood{ - dir = 4 - }, -/obj/effect/floor_decal/corner/red/diagonal, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"bw" = ( -/obj/structure/bed/chair/wood{ - dir = 8 - }, -/obj/effect/floor_decal/corner/red/diagonal, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"bx" = ( -/obj/structure/simple_door/wood, -/turf/simulated/floor/tiled/hydro, -/area/submap/Diner) -"by" = ( -/obj/structure/mirror{ - dir = 4; - pixel_x = -32; - pixel_y = 0 - }, -/turf/simulated/floor/tiled/hydro, -/area/submap/Diner) -"bz" = ( -/obj/machinery/light/small, -/turf/simulated/floor/tiled/hydro, -/area/submap/Diner) -"bA" = ( -/obj/structure/table/standard, -/turf/simulated/floor/tiled/hydro, -/area/submap/Diner) - -(1,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(2,1,1) = {" -aa -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -an -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -aa -"} -(3,1,1) = {" -aa -ab -ab -an -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -an -ab -aa -"} -(4,1,1) = {" -aa -ab -ab -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ab -ab -ab -aa -"} -(5,1,1) = {" -aa -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ab -ab -aa -"} -(6,1,1) = {" -aa -ab -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ab -ab -ab -aa -"} -(7,1,1) = {" -aa -ab -ab -ab -ab -ab -ab -ab -ab -ab -ac -ac -aX -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -aa -"} -(8,1,1) = {" -aa -ab -ab -ab -ad -ad -ae -ae -ae -ad -ad -az -ad -ae -ae -ae -ad -ae -ae -ae -ad -ab -ab -ab -aa -"} -(9,1,1) = {" -aa -ab -ab -ad -ad -af -ax -aC -ao -af -ad -aV -ad -ax -aC -ao -ax -aC -ao -af -ad -ad -ab -ab -aa -"} -(10,1,1) = {" -aa -ab -ad -ad -aq -af -ax -aD -ao -af -ad -az -ad -ax -aD -ao -ax -aD -ao -af -br -ad -ad -ab -aa -"} -(11,1,1) = {" -aa -ad -ad -af -af -af -af -af -af -af -aR -af -aY -af -af -af -af -af -af -af -af -af -ad -ad -aa -"} -(12,1,1) = {" -aa -ae -af -ax -ar -ao -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -ad -aa -"} -(13,1,1) = {" -aa -ae -af -ax -as -ao -af -aE -aE -aE -aE -aE -aE -aE -aE -aE -aE -aE -aE -af -af -bv -bv -ae -aa -"} -(14,1,1) = {" -aa -ad -ad -ad -ad -ad -ad -aF -aJ -aO -aF -aF -aF -aF -aF -aF -aO -aJ -aF -af -af -aD -aC -ae -aa -"} -(15,1,1) = {" -aa -ad -ag -ap -at -ap -az -af -af -af -af -af -af -af -af -af -af -af -ah -af -af -bw -bw -ae -aa -"} -(16,1,1) = {" -aa -ad -ah -ap -ap -ap -az -af -aK -aP -aS -aW -aZ -bc -bd -be -ah -aK -bp -af -af -af -af -ad -aa -"} -(17,1,1) = {" -aa -ad -ai -ap -au -ap -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -bx -ad -ad -aa -"} -(18,1,1) = {" -aa -ad -aj -ap -ah -ap -aA -aG -aL -aG -aG -aG -aG -ba -ba -aG -aG -aL -aG -ad -bs -bt -by -ad -aa -"} -(19,1,1) = {" -aa -ad -ak -ap -av -ap -ad -ad -ad -ad -ad -ad -ba -ba -ad -ad -ad -bo -ad -ad -bt -bt -bz -ad -aa -"} -(20,1,1) = {" -aa -ad -al -ap -ap -ap -ad -aH -aM -aQ -aT -ad -bb -ba -ad -bf -bk -bi -bi -ad -bu -bt -bA -ad -aa -"} -(21,1,1) = {" -aa -ad -am -ap -ap -ap -aB -aH -aH -aH -aH -ad -aG -ba -ad -bg -bl -bi -bi -ad -ad -ad -ad -ad -aa -"} -(22,1,1) = {" -aa -ab -ad -ad -aw -ap -ad -aH -aH -aH -aH -ad -aA -aA -ad -bh -bm -bi -bq -ad -ad -ad -ad -ab -aa -"} -(23,1,1) = {" -aa -ab -ab -ad -ad -ay -ad -aI -aN -aH -aU -ad -bb -aG -ad -bi -bn -bi -bq -ad -ad -ad -ab -ab -aa -"} -(24,1,1) = {" -aa -ab -ab -ab -ad -ad -ad -ad -ad -ad -ad -ad -aA -aA -ad -ad -ad -ad -ad -ad -ad -ab -ab -ab -aa -"} -(25,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/template_noop, +/area/template_noop) +"ab" = ( +/turf/template_noop, +/area/submap/Diner) +"ac" = ( +/turf/simulated/floor/outdoors/dirt, +/area/submap/Diner) +"ad" = ( +/turf/simulated/wall, +/area/submap/Diner) +"ae" = ( +/obj/structure/window/reinforced/full, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"af" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"ag" = ( +/obj/structure/table/standard, +/obj/machinery/microwave, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"ah" = ( +/obj/structure/table/standard, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"ai" = ( +/obj/structure/table/standard, +/obj/item/weapon/reagent_containers/food/condiment/enzyme, +/obj/item/weapon/reagent_containers/glass/beaker, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aj" = ( +/obj/structure/table/standard, +/obj/machinery/light{ + dir = 1 + }, +/obj/item/weapon/material/knife/butch, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"ak" = ( +/obj/machinery/vending/cola, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"al" = ( +/obj/machinery/vending/dinnerware, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"am" = ( +/obj/structure/sink/kitchen, +/turf/simulated/wall, +/area/submap/Diner) +"an" = ( +/obj/structure/flora/tree/sif, +/turf/template_noop, +/area/submap/Diner) +"ao" = ( +/obj/structure/bed/chair/wood{ + dir = 1 + }, +/obj/effect/floor_decal/corner/red/diagonal, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"ap" = ( +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aq" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"ar" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/structure/table/standard, +/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/obj/item/weapon/material/kitchen/utensil/fork, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"as" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/structure/table/standard, +/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"at" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"au" = ( +/obj/structure/table/standard, +/obj/item/weapon/book/manual/chef_recipes, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"av" = ( +/obj/structure/table/standard, +/obj/item/weapon/material/kitchen/rollingpin, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aw" = ( +/obj/machinery/appliance/cooker/cereal, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"ax" = ( +/obj/structure/bed/chair/wood, +/obj/effect/floor_decal/corner/red/diagonal, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"ay" = ( +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/item/weapon/storage/fancy/egg_box, +/obj/item/weapon/storage/fancy/egg_box, +/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, +/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, +/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, +/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, +/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, +/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, +/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, +/obj/item/weapon/reagent_containers/food/condiment/sugar, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"az" = ( +/obj/structure/simple_door/wood, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aA" = ( +/obj/structure/simple_door/wood, +/turf/simulated/floor/tiled, +/area/submap/Diner) +"aB" = ( +/obj/structure/simple_door/wood, +/turf/simulated/floor/tiled/freezer, +/area/submap/Diner) +"aC" = ( +/obj/structure/table/standard, +/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/obj/effect/floor_decal/corner/red/diagonal, +/obj/item/weapon/material/kitchen/utensil/fork, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aD" = ( +/obj/structure/table/standard, +/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/effect/floor_decal/corner/red/diagonal, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aE" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/item/weapon/stool/padded, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aF" = ( +/obj/structure/table/standard, +/obj/effect/floor_decal/corner/red/diagonal, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aG" = ( +/turf/simulated/floor/tiled, +/area/submap/Diner) +"aH" = ( +/turf/simulated/floor/tiled/freezer, +/area/submap/Diner) +"aI" = ( +/obj/structure/closet/crate/freezer, +/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/meat, +/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/weapon/reagent_containers/food/snacks/meat, +/turf/simulated/floor/tiled/freezer, +/area/submap/Diner) +"aJ" = ( +/obj/structure/table/standard, +/obj/effect/floor_decal/corner/red/diagonal, +/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aK" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aL" = ( +/obj/machinery/light/small{ + brightness_color = "#DA0205"; + brightness_power = 1; + brightness_range = 5; + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/submap/Diner) +"aM" = ( +/obj/machinery/light/small{ + brightness_color = "#DA0205"; + brightness_power = 1; + brightness_range = 5; + dir = 8 + }, +/turf/simulated/floor/tiled/freezer, +/area/submap/Diner) +"aN" = ( +/obj/structure/closet/crate/freezer, +/obj/machinery/light/small{ + dir = 4 + }, +/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/meat, +/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/meat, +/turf/simulated/floor/tiled/freezer, +/area/submap/Diner) +"aO" = ( +/obj/structure/table/standard, +/obj/effect/floor_decal/corner/red/diagonal, +/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aP" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/structure/table/standard, +/obj/machinery/microwave, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aQ" = ( +/obj/structure/closet/crate/freezer, +/obj/item/weapon/reagent_containers/food/condiment/flour, +/obj/item/weapon/reagent_containers/food/condiment/flour, +/obj/item/weapon/reagent_containers/food/condiment/flour, +/obj/item/weapon/reagent_containers/food/condiment/flour, +/obj/item/weapon/reagent_containers/food/condiment/flour, +/obj/item/weapon/reagent_containers/food/condiment/flour, +/obj/item/weapon/reagent_containers/food/condiment/flour, +/turf/simulated/floor/tiled/freezer, +/area/submap/Diner) +"aR" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/structure/coatrack, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aS" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/structure/table/standard, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aT" = ( +/obj/structure/closet/crate/freezer, +/turf/simulated/floor/tiled/freezer, +/area/submap/Diner) +"aU" = ( +/obj/machinery/gibber, +/turf/simulated/floor/tiled/freezer, +/area/submap/Diner) +"aV" = ( +/obj/machinery/light/small, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aW" = ( +/obj/machinery/appliance/cooker/fryer, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aX" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/outdoors/dirt, +/area/submap/Diner) +"aY" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aZ" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/machinery/appliance/cooker/grill, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"ba" = ( +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/tiled, +/area/submap/Diner) +"bb" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/submap/Diner) +"bc" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"bd" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/item/weapon/storage/fancy/egg_box, +/obj/item/weapon/storage/fancy/egg_box, +/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, +/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, +/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, +/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, +/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, +/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"be" = ( +/obj/structure/table/standard, +/obj/machinery/chemical_dispenser/bar_coffee, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"bf" = ( +/obj/item/frame/apc, +/turf/simulated/floor/lino, +/area/submap/Diner) +"bg" = ( +/obj/structure/table/woodentable, +/obj/item/device/flashlight/lamp, +/turf/simulated/floor/lino, +/area/submap/Diner) +"bh" = ( +/obj/structure/bed/chair/office/light, +/turf/simulated/floor/lino, +/area/submap/Diner) +"bi" = ( +/turf/simulated/floor/lino, +/area/submap/Diner) +"bk" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/lino, +/area/submap/Diner) +"bl" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/cell/high, +/turf/simulated/floor/lino, +/area/submap/Diner) +"bm" = ( +/obj/structure/table/woodentable, +/turf/simulated/floor/lino, +/area/submap/Diner) +"bn" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/lino, +/area/submap/Diner) +"bo" = ( +/obj/structure/simple_door/wood, +/turf/simulated/floor/lino, +/area/submap/Diner) +"bp" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/structure/windoor_assembly{ + icon_state = "l_windoor_assembly01"; + dir = 2 + }, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"bq" = ( +/obj/structure/bookcase, +/turf/simulated/floor/lino, +/area/submap/Diner) +"br" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/machinery/space_heater, +/obj/machinery/light, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"bs" = ( +/obj/structure/sink{ + icon_state = "sink"; + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/turf/simulated/floor/tiled/hydro, +/area/submap/Diner) +"bt" = ( +/turf/simulated/floor/tiled/hydro, +/area/submap/Diner) +"bu" = ( +/obj/structure/toilet, +/turf/simulated/floor/tiled/hydro, +/area/submap/Diner) +"bv" = ( +/obj/structure/bed/chair/wood{ + dir = 4 + }, +/obj/effect/floor_decal/corner/red/diagonal, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"bw" = ( +/obj/structure/bed/chair/wood{ + dir = 8 + }, +/obj/effect/floor_decal/corner/red/diagonal, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"bx" = ( +/obj/structure/simple_door/wood, +/turf/simulated/floor/tiled/hydro, +/area/submap/Diner) +"by" = ( +/obj/structure/mirror{ + dir = 4; + pixel_x = -32; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/hydro, +/area/submap/Diner) +"bz" = ( +/obj/machinery/light/small, +/turf/simulated/floor/tiled/hydro, +/area/submap/Diner) +"bA" = ( +/obj/structure/table/standard, +/turf/simulated/floor/tiled/hydro, +/area/submap/Diner) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +an +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(3,1,1) = {" +aa +ab +ab +an +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +an +ab +aa +"} +(4,1,1) = {" +aa +ab +ab +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ab +ab +ab +aa +"} +(5,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ab +ab +aa +"} +(6,1,1) = {" +aa +ab +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ab +ab +ab +aa +"} +(7,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ac +ac +aX +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(8,1,1) = {" +aa +ab +ab +ab +ad +ad +ae +ae +ae +ad +ad +az +ad +ae +ae +ae +ad +ae +ae +ae +ad +ab +ab +ab +aa +"} +(9,1,1) = {" +aa +ab +ab +ad +ad +af +ax +aC +ao +af +ad +aV +ad +ax +aC +ao +ax +aC +ao +af +ad +ad +ab +ab +aa +"} +(10,1,1) = {" +aa +ab +ad +ad +aq +af +ax +aD +ao +af +ad +az +ad +ax +aD +ao +ax +aD +ao +af +br +ad +ad +ab +aa +"} +(11,1,1) = {" +aa +ad +ad +af +af +af +af +af +af +af +aR +af +aY +af +af +af +af +af +af +af +af +af +ad +ad +aa +"} +(12,1,1) = {" +aa +ae +af +ax +ar +ao +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ad +aa +"} +(13,1,1) = {" +aa +ae +af +ax +as +ao +af +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +af +af +bv +bv +ae +aa +"} +(14,1,1) = {" +aa +ad +ad +ad +ad +ad +ad +aF +aJ +aO +aF +aF +aF +aF +aF +aF +aO +aJ +aF +af +af +aD +aC +ae +aa +"} +(15,1,1) = {" +aa +ad +ag +ap +at +ap +az +af +af +af +af +af +af +af +af +af +af +af +ah +af +af +bw +bw +ae +aa +"} +(16,1,1) = {" +aa +ad +ah +ap +ap +ap +az +af +aK +aP +aS +aW +aZ +bc +bd +be +ah +aK +bp +af +af +af +af +ad +aa +"} +(17,1,1) = {" +aa +ad +ai +ap +au +ap +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +bx +ad +ad +aa +"} +(18,1,1) = {" +aa +ad +aj +ap +ah +ap +aA +aG +aL +aG +aG +aG +aG +ba +ba +aG +aG +aL +aG +ad +bs +bt +by +ad +aa +"} +(19,1,1) = {" +aa +ad +ak +ap +av +ap +ad +ad +ad +ad +ad +ad +ba +ba +ad +ad +ad +bo +ad +ad +bt +bt +bz +ad +aa +"} +(20,1,1) = {" +aa +ad +al +ap +ap +ap +ad +aH +aM +aQ +aT +ad +bb +ba +ad +bf +bk +bi +bi +ad +bu +bt +bA +ad +aa +"} +(21,1,1) = {" +aa +ad +am +ap +ap +ap +aB +aH +aH +aH +aH +ad +aG +ba +ad +bg +bl +bi +bi +ad +ad +ad +ad +ad +aa +"} +(22,1,1) = {" +aa +ab +ad +ad +aw +ap +ad +aH +aH +aH +aH +ad +aA +aA +ad +bh +bm +bi +bq +ad +ad +ad +ad +ab +aa +"} +(23,1,1) = {" +aa +ab +ab +ad +ad +ay +ad +aI +aN +aH +aU +ad +bb +aG +ad +bi +bn +bi +bq +ad +ad +ad +ab +ab +aa +"} +(24,1,1) = {" +aa +ab +ab +ab +ad +ad +ad +ad +ad +ad +ad +ad +aA +aA +ad +ad +ad +ad +ad +ad +ad +ab +ab +ab +aa +"} +(25,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} diff --git a/maps/submaps/surface_submaps/plains/Diner_vr.dmm b/maps/submaps/surface_submaps/plains/Diner_vr.dmm index 8967f9bff74..3f0d6b0314b 100644 --- a/maps/submaps/surface_submaps/plains/Diner_vr.dmm +++ b/maps/submaps/surface_submaps/plains/Diner_vr.dmm @@ -1,1154 +1,1154 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aa" = ( -/turf/template_noop, -/area/template_noop) -"ab" = ( -/turf/template_noop, -/area/submap/Diner) -"ac" = ( -/turf/simulated/floor/outdoors/dirt, -/area/submap/Diner) -"ad" = ( -/turf/simulated/wall, -/area/submap/Diner) -"ae" = ( -/obj/structure/window/reinforced/full, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"af" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"ag" = ( -/obj/structure/table/standard, -/obj/machinery/microwave, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"ah" = ( -/obj/structure/table/standard, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"ai" = ( -/obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/enzyme, -/obj/item/weapon/reagent_containers/glass/beaker, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aj" = ( -/obj/structure/table/standard, -/obj/machinery/light{ - dir = 1 - }, -/obj/item/weapon/material/knife/butch, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"ak" = ( -/obj/machinery/vending/cola, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"al" = ( -/obj/machinery/vending/dinnerware, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"am" = ( -/obj/structure/sink/kitchen, -/turf/simulated/wall, -/area/submap/Diner) -"an" = ( -/obj/structure/flora/tree/sif, -/turf/template_noop, -/area/submap/Diner) -"ao" = ( -/obj/structure/bed/chair/wood, -/obj/effect/floor_decal/corner/red/diagonal, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"ap" = ( -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aq" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"ar" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/item/weapon/material/kitchen/utensil/fork, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"as" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/machinery/light{ - icon_state = "tube1"; - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"at" = ( -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"au" = ( -/obj/structure/table/standard, -/obj/item/weapon/book/manual/chef_recipes, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"av" = ( -/obj/structure/table/standard, -/obj/item/weapon/material/kitchen/rollingpin, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aw" = ( -/obj/machinery/cooker/cereal, -/obj/machinery/light{ - icon_state = "tube1"; - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"ax" = ( -/obj/structure/bed/chair/wood{ - dir = 1 - }, -/obj/effect/floor_decal/corner/red/diagonal, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"ay" = ( -/obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/condiment/sugar, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"az" = ( -/obj/structure/simple_door/wood, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aA" = ( -/obj/structure/simple_door/wood, -/turf/simulated/floor/tiled, -/area/submap/Diner) -"aB" = ( -/obj/structure/simple_door/wood, -/turf/simulated/floor/tiled/freezer, -/area/submap/Diner) -"aC" = ( -/obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/obj/effect/floor_decal/corner/red/diagonal, -/obj/item/weapon/material/kitchen/utensil/fork, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aD" = ( -/obj/structure/table/standard, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/obj/effect/floor_decal/corner/red/diagonal, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aE" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/item/weapon/stool/padded, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aF" = ( -/obj/structure/table/standard, -/obj/effect/floor_decal/corner/red/diagonal, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aG" = ( -/turf/simulated/floor/tiled, -/area/submap/Diner) -"aH" = ( -/turf/simulated/floor/tiled/freezer, -/area/submap/Diner) -"aI" = ( -/obj/structure/closet/crate/freezer, -/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/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/obj/item/weapon/reagent_containers/food/snacks/meat, -/turf/simulated/floor/tiled/freezer, -/area/submap/Diner) -"aJ" = ( -/obj/structure/table/standard, -/obj/effect/floor_decal/corner/red/diagonal, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aK" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/machinery/light{ - icon_state = "tube1"; - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aL" = ( -/obj/machinery/light/small{ - brightness_color = "#DA0205"; - brightness_power = 1; - brightness_range = 5; - dir = 8 - }, -/turf/simulated/floor/tiled, -/area/submap/Diner) -"aM" = ( -/obj/machinery/light/small{ - brightness_color = "#DA0205"; - brightness_power = 1; - brightness_range = 5; - dir = 8 - }, -/turf/simulated/floor/tiled/freezer, -/area/submap/Diner) -"aN" = ( -/obj/structure/closet/crate/freezer, -/obj/machinery/light/small{ - dir = 4 - }, -/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/meat, -/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/meat, -/turf/simulated/floor/tiled/freezer, -/area/submap/Diner) -"aO" = ( -/obj/structure/table/standard, -/obj/effect/floor_decal/corner/red/diagonal, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aP" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/structure/table/standard, -/obj/machinery/microwave, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aQ" = ( -/obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/food/condiment/flour, -/obj/item/weapon/reagent_containers/food/condiment/flour, -/obj/item/weapon/reagent_containers/food/condiment/flour, -/obj/item/weapon/reagent_containers/food/condiment/flour, -/obj/item/weapon/reagent_containers/food/condiment/flour, -/obj/item/weapon/reagent_containers/food/condiment/flour, -/obj/item/weapon/reagent_containers/food/condiment/flour, -/turf/simulated/floor/tiled/freezer, -/area/submap/Diner) -"aR" = ( -/obj/machinery/gibber, -/turf/simulated/floor/tiled/freezer, -/area/submap/Diner) -"aS" = ( -/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/tram, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aT" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/structure/coatrack, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aU" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/structure/table/standard, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aV" = ( -/obj/structure/closet/crate/freezer, -/turf/simulated/floor/tiled/freezer, -/area/submap/Diner) -"aW" = ( -/obj/machinery/light/small, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aX" = ( -/obj/machinery/cooker/fryer, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"aY" = ( -/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/tram, -/turf/simulated/floor/tiled, -/area/submap/Diner) -"aZ" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/simulated/floor/outdoors/dirt, -/area/submap/Diner) -"ba" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"bb" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/machinery/cooker/grill, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"bc" = ( -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/tiled, -/area/submap/Diner) -"bd" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/simulated/floor/tiled, -/area/submap/Diner) -"be" = ( -/obj/machinery/light{ - icon_state = "tube1"; - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"bf" = ( -/obj/machinery/light/small, -/turf/simulated/floor/tiled, -/area/submap/Diner) -"bg" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/storage/fancy/egg_box, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"bh" = ( -/obj/structure/table/standard, -/obj/machinery/chemical_dispenser/bar_coffee, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"bi" = ( -/obj/item/frame/apc, -/turf/simulated/floor/lino, -/area/submap/Diner) -"bj" = ( -/obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, -/turf/simulated/floor/lino, -/area/submap/Diner) -"bk" = ( -/obj/structure/bed/chair/office/light, -/turf/simulated/floor/lino, -/area/submap/Diner) -"bl" = ( -/turf/simulated/floor/lino, -/area/submap/Diner) -"bm" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/simulated/floor/lino, -/area/submap/Diner) -"bn" = ( -/obj/structure/table/woodentable, -/obj/item/weapon/cell/high, -/turf/simulated/floor/lino, -/area/submap/Diner) -"bo" = ( -/obj/structure/table/woodentable, -/turf/simulated/floor/lino, -/area/submap/Diner) -"bp" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/simulated/floor/lino, -/area/submap/Diner) -"bq" = ( -/obj/structure/simple_door/wood, -/turf/simulated/floor/lino, -/area/submap/Diner) -"br" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/structure/windoor_assembly{ - icon_state = "l_windoor_assembly01"; - dir = 2 - }, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"bs" = ( -/obj/structure/bookcase, -/turf/simulated/floor/lino, -/area/submap/Diner) -"bt" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/machinery/space_heater, -/obj/machinery/light, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"bu" = ( -/obj/structure/sink{ - icon_state = "sink"; - dir = 8; - pixel_x = -12; - pixel_y = 2 - }, -/turf/simulated/floor/tiled/hydro, -/area/submap/Diner) -"bv" = ( -/turf/simulated/floor/tiled/hydro, -/area/submap/Diner) -"bw" = ( -/obj/structure/toilet, -/turf/simulated/floor/tiled/hydro, -/area/submap/Diner) -"bx" = ( -/obj/structure/bed/chair/wood{ - dir = 4 - }, -/obj/effect/floor_decal/corner/red/diagonal, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"by" = ( -/obj/structure/bed/chair/wood{ - dir = 8 - }, -/obj/effect/floor_decal/corner/red/diagonal, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) -"bz" = ( -/obj/structure/simple_door/wood, -/turf/simulated/floor/tiled/hydro, -/area/submap/Diner) -"bA" = ( -/obj/structure/mirror{ - dir = 4; - pixel_x = -32; - pixel_y = 0 - }, -/turf/simulated/floor/tiled/hydro, -/area/submap/Diner) -"bB" = ( -/obj/machinery/light/small, -/turf/simulated/floor/tiled/hydro, -/area/submap/Diner) -"bC" = ( -/obj/structure/table/standard, -/turf/simulated/floor/tiled/hydro, -/area/submap/Diner) -"gw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/portable_atmospherics/canister/air, -/turf/simulated/floor/tiled, -/area/submap/Diner) -"lT" = ( -/obj/effect/floor_decal/corner/red/diagonal, -/obj/machinery/portable_atmospherics/canister/air, -/turf/simulated/floor/tiled/white, -/area/submap/Diner) - -(1,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(2,1,1) = {" -aa -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -an -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -aa -"} -(3,1,1) = {" -aa -ab -ab -an -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -an -ab -aa -"} -(4,1,1) = {" -aa -ab -ab -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ab -ab -ab -aa -"} -(5,1,1) = {" -aa -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ab -ab -aa -"} -(6,1,1) = {" -aa -ab -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -aZ -ac -ac -ac -ac -ac -ac -ac -ac -ab -ab -ab -aa -"} -(7,1,1) = {" -aa -ab -ab -ab -ab -ab -ab -ab -ab -ad -ad -az -ad -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -aa -"} -(8,1,1) = {" -aa -ab -ab -ab -ad -ad -ae -ae -ae -ad -aS -ap -ad -ae -ae -ae -ad -ae -ae -ae -ad -ab -ab -ab -aa -"} -(9,1,1) = {" -aa -ab -ab -ad -ad -af -ao -aC -ax -ad -aS -aW -ad -ao -aC -ax -ao -aC -ax -af -ad -ad -ab -ab -aa -"} -(10,1,1) = {" -aa -ab -ad -ad -aq -af -ao -aD -ax -ad -ad -az -ad -ao -aD -ax -ao -aD -ax -af -bt -ad -ad -ab -aa -"} -(11,1,1) = {" -aa -ad -ad -af -af -af -af -af -af -af -aT -af -ba -af -af -af -af -af -af -af -af -af -ad -ad -aa -"} -(12,1,1) = {" -aa -ae -af -ao -ar -ax -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -ad -aa -"} -(13,1,1) = {" -aa -ae -af -ao -as -ax -lT -aE -aE -aE -aE -aE -aE -aE -aE -aE -aE -aE -aE -af -af -bx -bx -ae -aa -"} -(14,1,1) = {" -aa -ad -ad -ad -ad -ad -ad -aF -aJ -aO -aF -aF -aF -aF -aF -aF -aO -aJ -aF -af -af -aD -aC -ae -aa -"} -(15,1,1) = {" -aa -ad -ag -ap -at -ap -az -af -af -af -af -af -af -af -af -af -af -af -ah -af -af -by -by -ae -aa -"} -(16,1,1) = {" -aa -ad -ah -ap -ap -ap -az -af -aK -aP -aU -aX -bb -be -bg -bh -ah -aK -br -af -af -af -af -ad -aa -"} -(17,1,1) = {" -aa -ad -ai -ap -au -ap -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -bz -ad -ad -aa -"} -(18,1,1) = {" -aa -ad -aj -ap -ah -ap -aA -aG -aL -aG -aG -aG -aG -bc -bc -aG -aG -aL -aG -ad -bu -bv -bA -ad -aa -"} -(19,1,1) = {" -aa -ad -ak -ap -av -ap -ad -ad -ad -ad -ad -ad -bc -gw -ad -ad -ad -bq -ad -ad -bv -bv -bB -ad -aa -"} -(20,1,1) = {" -aa -ad -al -ap -ap -ap -ad -aH -aM -aQ -aV -ad -bd -bc -ad -bi -bm -bl -bl -ad -bw -bv -bC -ad -aa -"} -(21,1,1) = {" -aa -ad -am -ap -ap -ap -aB -aH -aH -aH -ad -ad -aA -aA -ad -bj -bn -bl -bl -ad -ad -ad -ad -ad -aa -"} -(22,1,1) = {" -aa -ab -ad -ad -aw -ap -ad -aH -aH -aH -ad -aY -aG -aG -ad -bk -bo -bl -bs -ad -ad -ad -ad -ab -aa -"} -(23,1,1) = {" -aa -ab -ab -ad -ad -ay -ad -aI -aN -aR -ad -aY -aG -bf -ad -bl -bp -bl -bs -ad -ad -ad -ab -ab -aa -"} -(24,1,1) = {" -aa -ab -ab -ab -ad -ad -ad -ad -ad -ad -ad -ad -aA -aA -ad -ad -ad -ad -ad -ad -ad -ab -ab -ab -aa -"} -(25,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/template_noop, +/area/template_noop) +"ab" = ( +/turf/template_noop, +/area/submap/Diner) +"ac" = ( +/turf/simulated/floor/outdoors/dirt, +/area/submap/Diner) +"ad" = ( +/turf/simulated/wall, +/area/submap/Diner) +"ae" = ( +/obj/structure/window/reinforced/full, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"af" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"ag" = ( +/obj/structure/table/standard, +/obj/machinery/microwave, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"ah" = ( +/obj/structure/table/standard, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"ai" = ( +/obj/structure/table/standard, +/obj/item/weapon/reagent_containers/food/condiment/enzyme, +/obj/item/weapon/reagent_containers/glass/beaker, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aj" = ( +/obj/structure/table/standard, +/obj/machinery/light{ + dir = 1 + }, +/obj/item/weapon/material/knife/butch, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"ak" = ( +/obj/machinery/vending/cola, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"al" = ( +/obj/machinery/vending/dinnerware, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"am" = ( +/obj/structure/sink/kitchen, +/turf/simulated/wall, +/area/submap/Diner) +"an" = ( +/obj/structure/flora/tree/sif, +/turf/template_noop, +/area/submap/Diner) +"ao" = ( +/obj/structure/bed/chair/wood, +/obj/effect/floor_decal/corner/red/diagonal, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"ap" = ( +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aq" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"ar" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/structure/table/standard, +/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/obj/item/weapon/material/kitchen/utensil/fork, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"as" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/structure/table/standard, +/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"at" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"au" = ( +/obj/structure/table/standard, +/obj/item/weapon/book/manual/chef_recipes, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"av" = ( +/obj/structure/table/standard, +/obj/item/weapon/material/kitchen/rollingpin, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aw" = ( +/obj/machinery/appliance/cooker/cereal, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"ax" = ( +/obj/structure/bed/chair/wood{ + dir = 1 + }, +/obj/effect/floor_decal/corner/red/diagonal, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"ay" = ( +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/item/weapon/storage/fancy/egg_box, +/obj/item/weapon/storage/fancy/egg_box, +/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, +/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, +/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, +/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, +/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, +/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, +/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, +/obj/item/weapon/reagent_containers/food/condiment/sugar, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"az" = ( +/obj/structure/simple_door/wood, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aA" = ( +/obj/structure/simple_door/wood, +/turf/simulated/floor/tiled, +/area/submap/Diner) +"aB" = ( +/obj/structure/simple_door/wood, +/turf/simulated/floor/tiled/freezer, +/area/submap/Diner) +"aC" = ( +/obj/structure/table/standard, +/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/obj/effect/floor_decal/corner/red/diagonal, +/obj/item/weapon/material/kitchen/utensil/fork, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aD" = ( +/obj/structure/table/standard, +/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/obj/effect/floor_decal/corner/red/diagonal, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aE" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/item/weapon/stool/padded, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aF" = ( +/obj/structure/table/standard, +/obj/effect/floor_decal/corner/red/diagonal, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aG" = ( +/turf/simulated/floor/tiled, +/area/submap/Diner) +"aH" = ( +/turf/simulated/floor/tiled/freezer, +/area/submap/Diner) +"aI" = ( +/obj/structure/closet/crate/freezer, +/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/meat, +/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/weapon/reagent_containers/food/snacks/meat, +/turf/simulated/floor/tiled/freezer, +/area/submap/Diner) +"aJ" = ( +/obj/structure/table/standard, +/obj/effect/floor_decal/corner/red/diagonal, +/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aK" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aL" = ( +/obj/machinery/light/small{ + brightness_color = "#DA0205"; + brightness_power = 1; + brightness_range = 5; + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/submap/Diner) +"aM" = ( +/obj/machinery/light/small{ + brightness_color = "#DA0205"; + brightness_power = 1; + brightness_range = 5; + dir = 8 + }, +/turf/simulated/floor/tiled/freezer, +/area/submap/Diner) +"aN" = ( +/obj/structure/closet/crate/freezer, +/obj/machinery/light/small{ + dir = 4 + }, +/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/meat, +/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/meat, +/turf/simulated/floor/tiled/freezer, +/area/submap/Diner) +"aO" = ( +/obj/structure/table/standard, +/obj/effect/floor_decal/corner/red/diagonal, +/obj/item/weapon/reagent_containers/food/condiment/small/peppermill, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aP" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/structure/table/standard, +/obj/machinery/microwave, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aQ" = ( +/obj/structure/closet/crate/freezer, +/obj/item/weapon/reagent_containers/food/condiment/flour, +/obj/item/weapon/reagent_containers/food/condiment/flour, +/obj/item/weapon/reagent_containers/food/condiment/flour, +/obj/item/weapon/reagent_containers/food/condiment/flour, +/obj/item/weapon/reagent_containers/food/condiment/flour, +/obj/item/weapon/reagent_containers/food/condiment/flour, +/obj/item/weapon/reagent_containers/food/condiment/flour, +/turf/simulated/floor/tiled/freezer, +/area/submap/Diner) +"aR" = ( +/obj/machinery/gibber, +/turf/simulated/floor/tiled/freezer, +/area/submap/Diner) +"aS" = ( +/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/tram, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aT" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/structure/coatrack, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aU" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/structure/table/standard, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aV" = ( +/obj/structure/closet/crate/freezer, +/turf/simulated/floor/tiled/freezer, +/area/submap/Diner) +"aW" = ( +/obj/machinery/light/small, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aX" = ( +/obj/machinery/appliance/cooker/fryer, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"aY" = ( +/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/tram, +/turf/simulated/floor/tiled, +/area/submap/Diner) +"aZ" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/outdoors/dirt, +/area/submap/Diner) +"ba" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"bb" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/machinery/appliance/cooker/grill, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"bc" = ( +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/tiled, +/area/submap/Diner) +"bd" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/submap/Diner) +"be" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"bf" = ( +/obj/machinery/light/small, +/turf/simulated/floor/tiled, +/area/submap/Diner) +"bg" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/item/weapon/storage/fancy/egg_box, +/obj/item/weapon/storage/fancy/egg_box, +/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, +/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, +/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, +/obj/item/weapon/reagent_containers/food/drinks/bottle/milk, +/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, +/obj/item/weapon/reagent_containers/food/drinks/bottle/cream, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"bh" = ( +/obj/structure/table/standard, +/obj/machinery/chemical_dispenser/bar_coffee, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"bi" = ( +/obj/item/frame/apc, +/turf/simulated/floor/lino, +/area/submap/Diner) +"bj" = ( +/obj/structure/table/woodentable, +/obj/item/device/flashlight/lamp, +/turf/simulated/floor/lino, +/area/submap/Diner) +"bk" = ( +/obj/structure/bed/chair/office/light, +/turf/simulated/floor/lino, +/area/submap/Diner) +"bl" = ( +/turf/simulated/floor/lino, +/area/submap/Diner) +"bm" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/lino, +/area/submap/Diner) +"bn" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/cell/high, +/turf/simulated/floor/lino, +/area/submap/Diner) +"bo" = ( +/obj/structure/table/woodentable, +/turf/simulated/floor/lino, +/area/submap/Diner) +"bp" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/lino, +/area/submap/Diner) +"bq" = ( +/obj/structure/simple_door/wood, +/turf/simulated/floor/lino, +/area/submap/Diner) +"br" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/structure/windoor_assembly{ + icon_state = "l_windoor_assembly01"; + dir = 2 + }, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"bs" = ( +/obj/structure/bookcase, +/turf/simulated/floor/lino, +/area/submap/Diner) +"bt" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/machinery/space_heater, +/obj/machinery/light, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"bu" = ( +/obj/structure/sink{ + icon_state = "sink"; + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/turf/simulated/floor/tiled/hydro, +/area/submap/Diner) +"bv" = ( +/turf/simulated/floor/tiled/hydro, +/area/submap/Diner) +"bw" = ( +/obj/structure/toilet, +/turf/simulated/floor/tiled/hydro, +/area/submap/Diner) +"bx" = ( +/obj/structure/bed/chair/wood{ + dir = 4 + }, +/obj/effect/floor_decal/corner/red/diagonal, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"by" = ( +/obj/structure/bed/chair/wood{ + dir = 8 + }, +/obj/effect/floor_decal/corner/red/diagonal, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) +"bz" = ( +/obj/structure/simple_door/wood, +/turf/simulated/floor/tiled/hydro, +/area/submap/Diner) +"bA" = ( +/obj/structure/mirror{ + dir = 4; + pixel_x = -32; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/hydro, +/area/submap/Diner) +"bB" = ( +/obj/machinery/light/small, +/turf/simulated/floor/tiled/hydro, +/area/submap/Diner) +"bC" = ( +/obj/structure/table/standard, +/turf/simulated/floor/tiled/hydro, +/area/submap/Diner) +"gw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/portable_atmospherics/canister/air, +/turf/simulated/floor/tiled, +/area/submap/Diner) +"lT" = ( +/obj/effect/floor_decal/corner/red/diagonal, +/obj/machinery/portable_atmospherics/canister/air, +/turf/simulated/floor/tiled/white, +/area/submap/Diner) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +an +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(3,1,1) = {" +aa +ab +ab +an +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +an +ab +aa +"} +(4,1,1) = {" +aa +ab +ab +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ab +ab +ab +aa +"} +(5,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ab +ab +aa +"} +(6,1,1) = {" +aa +ab +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aZ +ac +ac +ac +ac +ac +ac +ac +ac +ab +ab +ab +aa +"} +(7,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ad +ad +az +ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(8,1,1) = {" +aa +ab +ab +ab +ad +ad +ae +ae +ae +ad +aS +ap +ad +ae +ae +ae +ad +ae +ae +ae +ad +ab +ab +ab +aa +"} +(9,1,1) = {" +aa +ab +ab +ad +ad +af +ao +aC +ax +ad +aS +aW +ad +ao +aC +ax +ao +aC +ax +af +ad +ad +ab +ab +aa +"} +(10,1,1) = {" +aa +ab +ad +ad +aq +af +ao +aD +ax +ad +ad +az +ad +ao +aD +ax +ao +aD +ax +af +bt +ad +ad +ab +aa +"} +(11,1,1) = {" +aa +ad +ad +af +af +af +af +af +af +af +aT +af +ba +af +af +af +af +af +af +af +af +af +ad +ad +aa +"} +(12,1,1) = {" +aa +ae +af +ao +ar +ax +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ad +aa +"} +(13,1,1) = {" +aa +ae +af +ao +as +ax +lT +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +af +af +bx +bx +ae +aa +"} +(14,1,1) = {" +aa +ad +ad +ad +ad +ad +ad +aF +aJ +aO +aF +aF +aF +aF +aF +aF +aO +aJ +aF +af +af +aD +aC +ae +aa +"} +(15,1,1) = {" +aa +ad +ag +ap +at +ap +az +af +af +af +af +af +af +af +af +af +af +af +ah +af +af +by +by +ae +aa +"} +(16,1,1) = {" +aa +ad +ah +ap +ap +ap +az +af +aK +aP +aU +aX +bb +be +bg +bh +ah +aK +br +af +af +af +af +ad +aa +"} +(17,1,1) = {" +aa +ad +ai +ap +au +ap +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +bz +ad +ad +aa +"} +(18,1,1) = {" +aa +ad +aj +ap +ah +ap +aA +aG +aL +aG +aG +aG +aG +bc +bc +aG +aG +aL +aG +ad +bu +bv +bA +ad +aa +"} +(19,1,1) = {" +aa +ad +ak +ap +av +ap +ad +ad +ad +ad +ad +ad +bc +gw +ad +ad +ad +bq +ad +ad +bv +bv +bB +ad +aa +"} +(20,1,1) = {" +aa +ad +al +ap +ap +ap +ad +aH +aM +aQ +aV +ad +bd +bc +ad +bi +bm +bl +bl +ad +bw +bv +bC +ad +aa +"} +(21,1,1) = {" +aa +ad +am +ap +ap +ap +aB +aH +aH +aH +ad +ad +aA +aA +ad +bj +bn +bl +bl +ad +ad +ad +ad +ad +aa +"} +(22,1,1) = {" +aa +ab +ad +ad +aw +ap +ad +aH +aH +aH +ad +aY +aG +aG +ad +bk +bo +bl +bs +ad +ad +ad +ad +ab +aa +"} +(23,1,1) = {" +aa +ab +ab +ad +ad +ay +ad +aI +aN +aR +ad +aY +aG +bf +ad +bl +bp +bl +bs +ad +ad +ad +ab +ab +aa +"} +(24,1,1) = {" +aa +ab +ab +ab +ad +ad +ad +ad +ad +ad +ad +ad +aA +aA +ad +ad +ad +ad +ad +ad +ad +ab +ab +ab +aa +"} +(25,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} diff --git a/maps/submaps/surface_submaps/wilderness/Manor1.dmm b/maps/submaps/surface_submaps/wilderness/Manor1.dmm index 691311bc688..311e2b7bb14 100644 --- a/maps/submaps/surface_submaps/wilderness/Manor1.dmm +++ b/maps/submaps/surface_submaps/wilderness/Manor1.dmm @@ -1,188 +1,188 @@ -"aa" = (/turf/template_noop,/area/submap/Manor1) -"ab" = (/turf/simulated/wall/wood,/area/submap/Manor1) -"ac" = (/obj/structure/window/reinforced/full,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"ad" = (/obj/structure/bed/chair/wood{icon_state = "wooden_chair"; dir = 4},/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"ae" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"af" = (/obj/structure/bed/chair/wood{icon_state = "wooden_chair"; dir = 8},/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"ag" = (/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"ah" = (/obj/structure/flora/pottedplant/dead,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"ai" = (/obj/structure/flora/pottedplant/drooping,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aj" = (/obj/structure/table/woodentable,/obj/item/clothing/mask/smokable/cigarette/cigar,/obj/item/weapon/material/ashtray/glass,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"ak" = (/obj/structure/flora/pottedplant/dead,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"al" = (/obj/structure/table/woodentable,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"am" = (/obj/structure/table/woodentable,/obj/item/device/flashlight,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"an" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"ao" = (/obj/structure/mopbucket,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"ap" = (/obj/structure/sink,/turf/simulated/wall/wood,/area/submap/Manor1) -"aq" = (/turf/simulated/floor/carpet/bcarpet,/area/submap/Manor1) -"ar" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/carpet/bcarpet,/area/submap/Manor1) -"as" = (/obj/structure/simple_door/wood,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"at" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/obj/effect/decal/cleanable/blood/gibs/robot,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"au" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"av" = (/obj/structure/janitorialcart,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aw" = (/obj/structure/table/woodentable,/obj/item/weapon/mop,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"ax" = (/obj/structure/closet/cabinet,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"ay" = (/obj/effect/decal/cleanable/blood/gibs/robot/limb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"az" = (/obj/structure/table/woodentable,/obj/item/trash/candle,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aA" = (/obj/effect/decal/cleanable/dirt,/obj/effect/spider/stickyweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aB" = (/obj/effect/decal/cleanable/dirt,/obj/effect/spider/stickyweb,/mob/living/simple_mob/animal/giant_spider/lurker,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aC" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/maglight,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aD" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aE" = (/obj/structure/closet/cabinet,/obj/effect/decal/cleanable/cobweb2,/obj/item/clothing/head/hood/winter,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aF" = (/obj/structure/table/woodentable,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aG" = (/obj/structure/table/woodentable,/obj/item/weapon/paper,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aH" = (/obj/structure/table/woodentable,/obj/item/weapon/pen,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aI" = (/obj/structure/flora/pottedplant/dead,/obj/effect/spider/stickyweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aJ" = (/obj/effect/spider/stickyweb,/mob/living/simple_mob/animal/giant_spider/lurker,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aK" = (/obj/effect/spider/stickyweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aL" = (/obj/structure/fireplace,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aM" = (/mob/living/simple_mob/animal/giant_spider/lurker,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aN" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aO" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aP" = (/obj/structure/bed/chair/wood,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aQ" = (/turf/simulated/floor/carpet/purcarpet,/area/submap/Manor1) -"aR" = (/obj/structure/table/standard,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aS" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aT" = (/obj/structure/closet/cabinet,/obj/random/projectile/shotgun,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aU" = (/obj/structure/bookcase,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aV" = (/obj/structure/table/woodentable,/obj/item/weapon/material/kitchen/utensil/fork,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aW" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/small/peppermill,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aX" = (/obj/structure/table/standard,/obj/item/weapon/material/knife,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aY" = (/obj/machinery/cooker/oven,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"aZ" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"ba" = (/obj/machinery/cooker/grill,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bb" = (/obj/structure/table/standard,/obj/item/weapon/tray,/obj/item/weapon/tray,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bc" = (/obj/structure/table/standard,/obj/item/weapon/material/knife/butch,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bd" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle,/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"be" = (/obj/random/trash,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bf" = (/obj/structure/closet/cabinet,/obj/item/clothing/head/hood/winter,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/random/contraband,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bg" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bh" = (/obj/structure/bed/chair/wood{icon_state = "wooden_chair"; dir = 1},/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bi" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/holofloor/wood{icon_state = "wood_broken0"},/area/submap/Manor1) -"bj" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bk" = (/obj/random/plushielarge,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bl" = (/turf/simulated/floor/carpet/blucarpet,/area/submap/Manor1) -"bm" = (/obj/structure/loot_pile/surface/bones,/obj/item/clothing/accessory/sweater/blue,/turf/simulated/floor/carpet/blucarpet,/area/submap/Manor1) -"bn" = (/obj/structure/window/reinforced/full,/turf/template_noop,/area/submap/Manor1) -"bo" = (/obj/item/weapon/material/twohanded/baseballbat/metal,/turf/simulated/floor/carpet/blucarpet,/area/submap/Manor1) -"bp" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/carpet/blucarpet,/area/submap/Manor1) -"bq" = (/obj/effect/decal/cleanable/blood/drip,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"br" = (/obj/structure/bed/chair/comfy/purp{icon_state = "comfychair_preview"; dir = 4},/turf/simulated/floor/holofloor/wood{icon_state = "wood_broken5"},/area/submap/Manor1) -"bs" = (/obj/structure/table,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bt" = (/obj/structure/bed/chair/wood{icon_state = "wooden_chair"; dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bu" = (/obj/structure/bed/chair/wood{icon_state = "wooden_chair"; dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bv" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/small/sugar,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bw" = (/obj/effect/decal/cleanable/blood/drip,/turf/simulated/floor/carpet/blucarpet,/area/submap/Manor1) -"bx" = (/obj/structure/bed/chair/comfy/purp{icon_state = "comfychair_preview"; dir = 4},/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"by" = (/obj/structure/closet/cabinet,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/head/hood/winter,/obj/item/clothing/shoes/boots/winter,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bz" = (/obj/structure/table/woodentable,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bA" = (/obj/structure/table/standard,/obj/item/weapon/material/kitchen/utensil/fork,/obj/item/weapon/material/kitchen/utensil/fork,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bB" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/weapon/reagent_containers/food/snacks/stew,/obj/item/weapon/reagent_containers/food/snacks/stew,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bC" = (/obj/item/weapon/shovel,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bD" = (/obj/structure/bed/chair/wood{icon_state = "wooden_chair"; dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bE" = (/obj/structure/table/standard,/obj/item/weapon/material/kitchen/utensil/spoon,/obj/item/weapon/material/kitchen/utensil/spoon,/obj/item/weapon/material/kitchen/utensil/spoon,/obj/effect/spider/stickyweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bF" = (/obj/structure/table/standard,/obj/effect/spider/stickyweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bG" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/weapon/reagent_containers/food/snacks/sausage,/obj/item/weapon/reagent_containers/food/snacks/sausage,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bH" = (/obj/effect/decal/cleanable/dirt,/obj/structure/flora/pottedplant/drooping,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bI" = (/obj/effect/decal/cleanable/dirt,/obj/structure/flora/pottedplant/dead,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bJ" = (/obj/structure/table/standard,/obj/item/weapon/material/kitchen/rollingpin,/obj/effect/spider/stickyweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bK" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bL" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/fancy/candle_box,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bM" = (/obj/machinery/papershredder,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bN" = (/obj/structure/simple_door/wood,/turf/simulated/floor/carpet/purcarpet,/area/submap/Manor1) -"bO" = (/obj/machinery/icecream_vat,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bP" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/carpet/blucarpet,/area/submap/Manor1) -"bQ" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bR" = (/obj/effect/decal/cleanable/cobweb,/obj/structure/table/woodentable,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bS" = (/obj/structure/flora/pottedplant/subterranean,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bT" = (/obj/item/weapon/material/minihoe,/turf/simulated/floor/carpet/blucarpet,/area/submap/Manor1) -"bU" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/carpet/purcarpet,/area/submap/Manor1) -"bV" = (/turf/simulated/floor/holofloor/wood{icon_state = "wood_broken6"},/area/submap/Manor1) -"bW" = (/obj/machinery/washing_machine,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bX" = (/obj/structure/table/woodentable,/obj/structure/bedsheetbin,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bY" = (/obj/structure/table/rack,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"bZ" = (/obj/structure/closet/crate,/obj/item/stack/cable_coil/random_belt,/obj/random/cash,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"ca" = (/obj/structure/table/woodentable,/obj/item/weapon/melee/umbrella/random,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"cb" = (/obj/structure/closet/cabinet,/obj/random/gun/random,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"cc" = (/obj/structure/closet/cabinet,/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon,/obj/random/medical,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"cd" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"ce" = (/obj/structure/bed/double,/obj/item/weapon/bedsheet/rddouble,/obj/structure/curtain/open/bed,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"cf" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/wallet/random,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"cg" = (/obj/structure/flora/pottedplant/dead,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"ch" = (/obj/structure/loot_pile/surface/bones,/obj/item/clothing/accessory/sweater,/turf/simulated/floor/carpet/blucarpet,/area/submap/Manor1) -"ci" = (/obj/structure/closet/crate,/obj/item/weapon/flame/lighter/random,/obj/random/powercell,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"cj" = (/obj/structure/closet/cabinet,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/head/hood/winter,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"ck" = (/obj/effect/decal/cleanable/spiderling_remains,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"cl" = (/turf/simulated/floor/carpet/turcarpet,/area/submap/Manor1) -"cm" = (/obj/effect/decal/cleanable/blood,/obj/structure/bed/chair/comfy/purp{icon_state = "comfychair_preview"; dir = 4},/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"cn" = (/obj/structure/closet/crate,/obj/item/weapon/storage/wallet/random,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"co" = (/obj/structure/coatrack,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"cp" = (/obj/structure/loot_pile/surface/bones,/obj/item/clothing/suit/storage/hooded/wintercoat,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"cq" = (/obj/structure/loot_pile/surface/bones,/obj/item/clothing/under/suit_jacket,/obj/item/clothing/shoes/black,/obj/random/projectile/random,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"cr" = (/obj/structure/simple_door/wood,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/carpet/purcarpet,/area/submap/Manor1) -"cs" = (/obj/item/weapon/material/twohanded/spear,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"ct" = (/obj/structure/closet/cabinet{opened = 1},/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"cu" = (/obj/effect/decal/remains,/obj/item/weapon/material/knife/tacknife/combatknife,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"cv" = (/obj/structure/sink{pixel_y = 30},/turf/simulated/floor/tiled/hydro,/area/submap/Manor1) -"cw" = (/turf/simulated/floor/tiled/hydro,/area/submap/Manor1) -"cx" = (/obj/structure/table/standard,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/tiled/hydro,/area/submap/Manor1) -"cy" = (/obj/structure/table/standard,/obj/item/weapon/towel/random,/obj/item/weapon/towel/random,/turf/simulated/floor/tiled/hydro,/area/submap/Manor1) -"cz" = (/obj/effect/decal/cleanable/cobweb2,/obj/effect/spider/stickyweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"cA" = (/obj/item/weapon/paper/crumpled,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"cB" = (/turf/simulated/floor/holofloor/wood{icon_state = "wood_broken3"},/area/submap/Manor1) -"cC" = (/obj/effect/decal/cleanable/spiderling_remains,/obj/effect/spider/stickyweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"cD" = (/obj/structure/closet/crate,/obj/item/clothing/suit/armor/vest,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"cE" = (/obj/structure/closet/crate,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"cF" = (/obj/structure/simple_door/wood,/turf/simulated/floor/tiled/hydro,/area/submap/Manor1) -"cG" = (/obj/structure/toilet{icon_state = "toilet00"; dir = 8},/turf/simulated/floor/tiled/hydro,/area/submap/Manor1) -"cH" = (/obj/machinery/shower{icon_state = "shower"; dir = 8},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/hydro,/area/submap/Manor1) -"cI" = (/obj/item/stack/material/wood,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"cJ" = (/obj/machinery/shower{icon_state = "shower"; dir = 8},/obj/structure/curtain/open/shower,/obj/random/soap,/turf/simulated/floor/tiled/hydro,/area/submap/Manor1) -"cK" = (/obj/structure/table/standard,/turf/simulated/floor/tiled/hydro,/area/submap/Manor1) -"cL" = (/obj/structure/toilet{icon_state = "toilet00"; dir = 1},/turf/simulated/floor/tiled/hydro,/area/submap/Manor1) -"cM" = (/obj/structure/table/woodentable,/obj/item/modular_computer/laptop/preset/custom_loadout/cheap,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) -"cN" = (/turf/template_noop,/area/template_noop) -"cO" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/Manor1) - -(1,1,1) = {" -cNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcN -cNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacacacacababacacacacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacN -cNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababadaeafagahaiagadajafababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacN -cNaaaaaaaaaaaaaaaaababababababababababababagagagagagagagagagagagagababababababababababababababaaaaaaaaaaaacN -cNaaaacOaaaaaaaaabababakagagagalamalagananagagagagananananagagagagagagagagalalalagagagaiabaoapabaaaacOaaaacN -cNaaaaaaaaaaaaababalabagaqaqaqaqarararararararaqarararararararaqaqaqaqaqaqaqaqaqaqaqaqagasagagababaaaaaaaacN -cNaaaaaaaaaaababatauabagaqaqaqaqaqaqaqarararararararararararararaqaqaqaqaqaqaqaqaqaqaqagabavagawababaaaaaacN -cNaaaaaaaaaaabaxagayabagaqagagazalalaganananaAaBaAagananagagagagagagagagagalalaCagagaqagababababababaaaaaacN -cNaaaaaaaaaaababasababagaqagabababababababababababababababababababababababababababagaqagabaDagagaEabaaaaaacN -cNaaaaaacOaaabagagagasagaqagabaFaGagalaHabaIaJaKagagaLaLagagagagahabagaMagagagaNabagaqagabaOagagalabaaaaaacN -cNaaaaaaaaaaabasabababagaqagabagagagagagabaKaKaPaPagaQaQagaPaPagagabaRagaRaRagaSabagaqagabababasababaaaaaacN -cNaaaaaaaaaaabagagaTabagaqagabagaUagaUagabagadalaVafaQaQadaValafagabaRagaWaXagaYabalaqagasagagagagabaaaaaacN -cNaaaaaaaaaaabagagaMabagaqagabagaUagaUagabagadalalafaQaQadalalafagabaRagaZaRagbaabagaqagabababasababaaaaaacN -cNaaaaaaaaaaabaDalaOabagaqagabagaUagaUagabagadalalafaQaQadalalafagabbbagaRbcagbdabagaqagabaOagagalabaaaaaacN -cNaaaaaaaaaaabababababagaqagabagagagaganabagadalalafaQaQadalalafagabagagagagagagabagaqagabaDbeagbfabaaaaaacN -cNaaaaaaaaaaabaDalbgabalaqagabagaUagaUanabagadalalafaQaQadalalafagabagagagagagagabagaqagababababababaaaaaacN -cNaaaaaaaaababagbhagabazaqagasagaUagaUanabagadaGalafaQaQadalalafagabagagagagagagabagaqagabbiagagagababaaaacN -cNaaaaaaababbjagagbkabalaqagabagaUanaUanabagadalalafaQaQadalalafagabagagagagagagabagaqagabagblbmagagababaacN -cNaaaaaabnagagagagaOabagaqanabanananananabanadalalafaQaQadalalafagasagagagagagagasagaqagasagbobpbqbrbsacaacN -cNaaaaaabnagagagagalabagaranabagaUanaUagabanbtalalafaQaQadalalbuanabagagaRbvagagabagaqagabagblbwagbxbsacaacN -cNaaaaaaababagagagbyabanaranabagaUanaUagabanbtalalafaQaQadalbzbuanabagagbAaRagbBabagaqagabagblblagbCababaacN -cNaaaaaaaaababagagagabanaragabagaUanaUagabananbhbhagaQaQagbhbDananabagagbEbFagbGabagaqagabalblblagababaaaacN -cNaaaaaaaaaaabagagagabagaragabagaganagagabbHananagagaQaQaganananbIabagagbFbJagbKabagaqagabaDblblalabaaaaaacN -cNaaaaaaaaaaabagagagasagaqagabaGbLbMagaiababababababbNbNababababababbOaKaKaKagagabagaqagabalblblalabaaaaaacN -cNaaaaaaaaaaabazalagabagaqagababababasabababababalalaQaQalalabababababababababababagaqagabalbwbPalabaaaaaacN -cNaaaaaaaaaaabababababbQaqagagananananananananasagagaQaQagagasagagagagagagagagagagagaqagabazblbPalabaaaaaacN -cNaaaaaaaaababbRazbSabbqaqagagagagananananananasagagaQaQagagasagagagagagagagagagagagaqagabalblbTagababaaaacN -cNaaaaaaababagagagagabagaqagababababasabababababalagbUaQagalabababababababababababagaqagabagblblbVagababaacN -cNaaaaaaacagagagagbqasbqaqagabbWbXabagabbYagbZabalagbUbUagcaabcbccagcdcecfagagcgabagaqagasagbpchagbxbsacaacN -cNaacOaaacagagagbqagabagaqagabagagasagabagagciabcjckbUbUagcjabagclclclclclclclaDabagaqagabbqbwblagcmagacaacN -cNaaaaaaababagbQbQagabahaqagabbWazabagasagagcnababcobUbUcoababagclclclclclclclalabahaqahabagbwblagcpababaacN -cNaaaaaaaaababcqagagababasabababababagabagagagaKababcrcrababagagclclclclclclclalababasababcsblbwagababaaaacN -cNaaaaaaaaaaabctagcuabcvcwcxabcycwasagabbYagaKaKczabbUbUabazafagclclclclclclclagagagagahabagcAcBagabaaaaaacN -cNaaaaaaaaaaababalagabcwabababcwcwabagabbYcCaJcDcEabbUbUabalagagagagagclclclclclclclclagabcAbqagababaaaaaacN -cNaaaaaaaaaaaaababalabcwcFcGabcwcHabasabababababababbNbNabababababahagclclclclclclclclagabagcIababaaaaaaaacN -cNaaaaaaaaaaaaaaabababcwabababcwcHabcwcvababaaaaaaaaaaaaaaaaaaaaababalclclclclclclclclagabcIababaaaaaaaaaacN -cNaaaaaaaaaaaaaaaaababcwcFcGabcwcJabcKcLabaaaaaaaaaaaaaaaaaaaaaaaaabcMalalagagagagagagahabababaaaaaacOaaaacN -cNaaaaaacOaaaaaaaaaaabababababababababababaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababaaaaaaaaaaaaaacN -cNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacN -cNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcN +"aa" = (/turf/template_noop,/area/submap/Manor1) +"ab" = (/turf/simulated/wall/wood,/area/submap/Manor1) +"ac" = (/obj/structure/window/reinforced/full,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"ad" = (/obj/structure/bed/chair/wood{icon_state = "wooden_chair"; dir = 4},/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"ae" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"af" = (/obj/structure/bed/chair/wood{icon_state = "wooden_chair"; dir = 8},/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"ag" = (/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"ah" = (/obj/structure/flora/pottedplant/dead,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"ai" = (/obj/structure/flora/pottedplant/drooping,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aj" = (/obj/structure/table/woodentable,/obj/item/clothing/mask/smokable/cigarette/cigar,/obj/item/weapon/material/ashtray/glass,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"ak" = (/obj/structure/flora/pottedplant/dead,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"al" = (/obj/structure/table/woodentable,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"am" = (/obj/structure/table/woodentable,/obj/item/device/flashlight,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"an" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"ao" = (/obj/structure/mopbucket,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"ap" = (/obj/structure/sink,/turf/simulated/wall/wood,/area/submap/Manor1) +"aq" = (/turf/simulated/floor/carpet/bcarpet,/area/submap/Manor1) +"ar" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/carpet/bcarpet,/area/submap/Manor1) +"as" = (/obj/structure/simple_door/wood,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"at" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/obj/effect/decal/cleanable/blood/gibs/robot,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"au" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"av" = (/obj/structure/janitorialcart,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aw" = (/obj/structure/table/woodentable,/obj/item/weapon/mop,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"ax" = (/obj/structure/closet/cabinet,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"ay" = (/obj/effect/decal/cleanable/blood/gibs/robot/limb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"az" = (/obj/structure/table/woodentable,/obj/item/trash/candle,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aA" = (/obj/effect/decal/cleanable/dirt,/obj/effect/spider/stickyweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aB" = (/obj/effect/decal/cleanable/dirt,/obj/effect/spider/stickyweb,/mob/living/simple_mob/animal/giant_spider/lurker,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aC" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/maglight,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aD" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aE" = (/obj/structure/closet/cabinet,/obj/effect/decal/cleanable/cobweb2,/obj/item/clothing/head/hood/winter,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aF" = (/obj/structure/table/woodentable,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aG" = (/obj/structure/table/woodentable,/obj/item/weapon/paper,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aH" = (/obj/structure/table/woodentable,/obj/item/weapon/pen,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aI" = (/obj/structure/flora/pottedplant/dead,/obj/effect/spider/stickyweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aJ" = (/obj/effect/spider/stickyweb,/mob/living/simple_mob/animal/giant_spider/lurker,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aK" = (/obj/effect/spider/stickyweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aL" = (/obj/structure/fireplace,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aM" = (/mob/living/simple_mob/animal/giant_spider/lurker,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aN" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aO" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aP" = (/obj/structure/bed/chair/wood,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aQ" = (/turf/simulated/floor/carpet/purcarpet,/area/submap/Manor1) +"aR" = (/obj/structure/table/standard,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aS" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aT" = (/obj/structure/closet/cabinet,/obj/random/projectile/shotgun,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aU" = (/obj/structure/bookcase,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aV" = (/obj/structure/table/woodentable,/obj/item/weapon/material/kitchen/utensil/fork,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aW" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/small/peppermill,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aX" = (/obj/structure/table/standard,/obj/item/weapon/material/knife,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aY" = (/obj/machinery/appliance/cooker/oven,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"aZ" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"ba" = (/obj/machinery/appliance/cooker/grill,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bb" = (/obj/structure/table/standard,/obj/item/weapon/tray,/obj/item/weapon/tray,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bc" = (/obj/structure/table/standard,/obj/item/weapon/material/knife/butch,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bd" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle,/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"be" = (/obj/random/trash,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bf" = (/obj/structure/closet/cabinet,/obj/item/clothing/head/hood/winter,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/random/contraband,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bg" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bh" = (/obj/structure/bed/chair/wood{icon_state = "wooden_chair"; dir = 1},/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bi" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/holofloor/wood{icon_state = "wood_broken0"},/area/submap/Manor1) +"bj" = (/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bk" = (/obj/random/plushielarge,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bl" = (/turf/simulated/floor/carpet/blucarpet,/area/submap/Manor1) +"bm" = (/obj/structure/loot_pile/surface/bones,/obj/item/clothing/accessory/sweater/blue,/turf/simulated/floor/carpet/blucarpet,/area/submap/Manor1) +"bn" = (/obj/structure/window/reinforced/full,/turf/template_noop,/area/submap/Manor1) +"bo" = (/obj/item/weapon/material/twohanded/baseballbat/metal,/turf/simulated/floor/carpet/blucarpet,/area/submap/Manor1) +"bp" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/carpet/blucarpet,/area/submap/Manor1) +"bq" = (/obj/effect/decal/cleanable/blood/drip,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"br" = (/obj/structure/bed/chair/comfy/purp{icon_state = "comfychair_preview"; dir = 4},/turf/simulated/floor/holofloor/wood{icon_state = "wood_broken5"},/area/submap/Manor1) +"bs" = (/obj/structure/table,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bt" = (/obj/structure/bed/chair/wood{icon_state = "wooden_chair"; dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bu" = (/obj/structure/bed/chair/wood{icon_state = "wooden_chair"; dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bv" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/small/sugar,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bw" = (/obj/effect/decal/cleanable/blood/drip,/turf/simulated/floor/carpet/blucarpet,/area/submap/Manor1) +"bx" = (/obj/structure/bed/chair/comfy/purp{icon_state = "comfychair_preview"; dir = 4},/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"by" = (/obj/structure/closet/cabinet,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/head/hood/winter,/obj/item/clothing/shoes/boots/winter,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bz" = (/obj/structure/table/woodentable,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bA" = (/obj/structure/table/standard,/obj/item/weapon/material/kitchen/utensil/fork,/obj/item/weapon/material/kitchen/utensil/fork,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bB" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/weapon/reagent_containers/food/snacks/stew,/obj/item/weapon/reagent_containers/food/snacks/stew,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bC" = (/obj/item/weapon/shovel,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bD" = (/obj/structure/bed/chair/wood{icon_state = "wooden_chair"; dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bE" = (/obj/structure/table/standard,/obj/item/weapon/material/kitchen/utensil/spoon,/obj/item/weapon/material/kitchen/utensil/spoon,/obj/item/weapon/material/kitchen/utensil/spoon,/obj/effect/spider/stickyweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bF" = (/obj/structure/table/standard,/obj/effect/spider/stickyweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bG" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/weapon/reagent_containers/food/snacks/sausage,/obj/item/weapon/reagent_containers/food/snacks/sausage,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bH" = (/obj/effect/decal/cleanable/dirt,/obj/structure/flora/pottedplant/drooping,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bI" = (/obj/effect/decal/cleanable/dirt,/obj/structure/flora/pottedplant/dead,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bJ" = (/obj/structure/table/standard,/obj/item/weapon/material/kitchen/rollingpin,/obj/effect/spider/stickyweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bK" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bL" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/fancy/candle_box,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bM" = (/obj/machinery/papershredder,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bN" = (/obj/structure/simple_door/wood,/turf/simulated/floor/carpet/purcarpet,/area/submap/Manor1) +"bO" = (/obj/machinery/icecream_vat,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bP" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/carpet/blucarpet,/area/submap/Manor1) +"bQ" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bR" = (/obj/effect/decal/cleanable/cobweb,/obj/structure/table/woodentable,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bS" = (/obj/structure/flora/pottedplant/subterranean,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bT" = (/obj/item/weapon/material/minihoe,/turf/simulated/floor/carpet/blucarpet,/area/submap/Manor1) +"bU" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/carpet/purcarpet,/area/submap/Manor1) +"bV" = (/turf/simulated/floor/holofloor/wood{icon_state = "wood_broken6"},/area/submap/Manor1) +"bW" = (/obj/machinery/washing_machine,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bX" = (/obj/structure/table/woodentable,/obj/structure/bedsheetbin,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bY" = (/obj/structure/table/rack,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"bZ" = (/obj/structure/closet/crate,/obj/item/stack/cable_coil/random_belt,/obj/random/cash,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"ca" = (/obj/structure/table/woodentable,/obj/item/weapon/melee/umbrella/random,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cb" = (/obj/structure/closet/cabinet,/obj/random/gun/random,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cc" = (/obj/structure/closet/cabinet,/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon,/obj/random/medical,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cd" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"ce" = (/obj/structure/bed/double,/obj/item/weapon/bedsheet/rddouble,/obj/structure/curtain/open/bed,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cf" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/wallet/random,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cg" = (/obj/structure/flora/pottedplant/dead,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"ch" = (/obj/structure/loot_pile/surface/bones,/obj/item/clothing/accessory/sweater,/turf/simulated/floor/carpet/blucarpet,/area/submap/Manor1) +"ci" = (/obj/structure/closet/crate,/obj/item/weapon/flame/lighter/random,/obj/random/powercell,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cj" = (/obj/structure/closet/cabinet,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/head/hood/winter,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"ck" = (/obj/effect/decal/cleanable/spiderling_remains,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cl" = (/turf/simulated/floor/carpet/turcarpet,/area/submap/Manor1) +"cm" = (/obj/effect/decal/cleanable/blood,/obj/structure/bed/chair/comfy/purp{icon_state = "comfychair_preview"; dir = 4},/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cn" = (/obj/structure/closet/crate,/obj/item/weapon/storage/wallet/random,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"co" = (/obj/structure/coatrack,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cp" = (/obj/structure/loot_pile/surface/bones,/obj/item/clothing/suit/storage/hooded/wintercoat,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cq" = (/obj/structure/loot_pile/surface/bones,/obj/item/clothing/under/suit_jacket,/obj/item/clothing/shoes/black,/obj/random/projectile/random,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cr" = (/obj/structure/simple_door/wood,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/carpet/purcarpet,/area/submap/Manor1) +"cs" = (/obj/item/weapon/material/twohanded/spear,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"ct" = (/obj/structure/closet/cabinet{opened = 1},/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cu" = (/obj/effect/decal/remains,/obj/item/weapon/material/knife/tacknife/combatknife,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cv" = (/obj/structure/sink{pixel_y = 30},/turf/simulated/floor/tiled/hydro,/area/submap/Manor1) +"cw" = (/turf/simulated/floor/tiled/hydro,/area/submap/Manor1) +"cx" = (/obj/structure/table/standard,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/tiled/hydro,/area/submap/Manor1) +"cy" = (/obj/structure/table/standard,/obj/item/weapon/towel/random,/obj/item/weapon/towel/random,/turf/simulated/floor/tiled/hydro,/area/submap/Manor1) +"cz" = (/obj/effect/decal/cleanable/cobweb2,/obj/effect/spider/stickyweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cA" = (/obj/item/weapon/paper/crumpled,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cB" = (/turf/simulated/floor/holofloor/wood{icon_state = "wood_broken3"},/area/submap/Manor1) +"cC" = (/obj/effect/decal/cleanable/spiderling_remains,/obj/effect/spider/stickyweb,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cD" = (/obj/structure/closet/crate,/obj/item/clothing/suit/armor/vest,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cE" = (/obj/structure/closet/crate,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cF" = (/obj/structure/simple_door/wood,/turf/simulated/floor/tiled/hydro,/area/submap/Manor1) +"cG" = (/obj/structure/toilet{icon_state = "toilet00"; dir = 8},/turf/simulated/floor/tiled/hydro,/area/submap/Manor1) +"cH" = (/obj/machinery/shower{icon_state = "shower"; dir = 8},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/hydro,/area/submap/Manor1) +"cI" = (/obj/item/stack/material/wood,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cJ" = (/obj/machinery/shower{icon_state = "shower"; dir = 8},/obj/structure/curtain/open/shower,/obj/random/soap,/turf/simulated/floor/tiled/hydro,/area/submap/Manor1) +"cK" = (/obj/structure/table/standard,/turf/simulated/floor/tiled/hydro,/area/submap/Manor1) +"cL" = (/obj/structure/toilet{icon_state = "toilet00"; dir = 1},/turf/simulated/floor/tiled/hydro,/area/submap/Manor1) +"cM" = (/obj/structure/table/woodentable,/obj/item/modular_computer/laptop/preset/custom_loadout/cheap,/turf/simulated/floor/holofloor/wood,/area/submap/Manor1) +"cN" = (/turf/template_noop,/area/template_noop) +"cO" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/Manor1) + +(1,1,1) = {" +cNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcN +cNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacacacacababacacacacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacN +cNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababadaeafagahaiagadajafababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacN +cNaaaaaaaaaaaaaaaaababababababababababababagagagagagagagagagagagagababababababababababababababaaaaaaaaaaaacN +cNaaaacOaaaaaaaaabababakagagagalamalagananagagagagananananagagagagagagagagalalalagagagaiabaoapabaaaacOaaaacN +cNaaaaaaaaaaaaababalabagaqaqaqaqarararararararaqarararararararaqaqaqaqaqaqaqaqaqaqaqaqagasagagababaaaaaaaacN +cNaaaaaaaaaaababatauabagaqaqaqaqaqaqaqarararararararararararararaqaqaqaqaqaqaqaqaqaqaqagabavagawababaaaaaacN +cNaaaaaaaaaaabaxagayabagaqagagazalalaganananaAaBaAagananagagagagagagagagagalalaCagagaqagababababababaaaaaacN +cNaaaaaaaaaaababasababagaqagabababababababababababababababababababababababababababagaqagabaDagagaEabaaaaaacN +cNaaaaaacOaaabagagagasagaqagabaFaGagalaHabaIaJaKagagaLaLagagagagahabagaMagagagaNabagaqagabaOagagalabaaaaaacN +cNaaaaaaaaaaabasabababagaqagabagagagagagabaKaKaPaPagaQaQagaPaPagagabaRagaRaRagaSabagaqagabababasababaaaaaacN +cNaaaaaaaaaaabagagaTabagaqagabagaUagaUagabagadalaVafaQaQadaValafagabaRagaWaXagaYabalaqagasagagagagabaaaaaacN +cNaaaaaaaaaaabagagaMabagaqagabagaUagaUagabagadalalafaQaQadalalafagabaRagaZaRagbaabagaqagabababasababaaaaaacN +cNaaaaaaaaaaabaDalaOabagaqagabagaUagaUagabagadalalafaQaQadalalafagabbbagaRbcagbdabagaqagabaOagagalabaaaaaacN +cNaaaaaaaaaaabababababagaqagabagagagaganabagadalalafaQaQadalalafagabagagagagagagabagaqagabaDbeagbfabaaaaaacN +cNaaaaaaaaaaabaDalbgabalaqagabagaUagaUanabagadalalafaQaQadalalafagabagagagagagagabagaqagababababababaaaaaacN +cNaaaaaaaaababagbhagabazaqagasagaUagaUanabagadaGalafaQaQadalalafagabagagagagagagabagaqagabbiagagagababaaaacN +cNaaaaaaababbjagagbkabalaqagabagaUanaUanabagadalalafaQaQadalalafagabagagagagagagabagaqagabagblbmagagababaacN +cNaaaaaabnagagagagaOabagaqanabanananananabanadalalafaQaQadalalafagasagagagagagagasagaqagasagbobpbqbrbsacaacN +cNaaaaaabnagagagagalabagaranabagaUanaUagabanbtalalafaQaQadalalbuanabagagaRbvagagabagaqagabagblbwagbxbsacaacN +cNaaaaaaababagagagbyabanaranabagaUanaUagabanbtalalafaQaQadalbzbuanabagagbAaRagbBabagaqagabagblblagbCababaacN +cNaaaaaaaaababagagagabanaragabagaUanaUagabananbhbhagaQaQagbhbDananabagagbEbFagbGabagaqagabalblblagababaaaacN +cNaaaaaaaaaaabagagagabagaragabagaganagagabbHananagagaQaQaganananbIabagagbFbJagbKabagaqagabaDblblalabaaaaaacN +cNaaaaaaaaaaabagagagasagaqagabaGbLbMagaiababababababbNbNababababababbOaKaKaKagagabagaqagabalblblalabaaaaaacN +cNaaaaaaaaaaabazalagabagaqagababababasabababababalalaQaQalalabababababababababababagaqagabalbwbPalabaaaaaacN +cNaaaaaaaaaaabababababbQaqagagananananananananasagagaQaQagagasagagagagagagagagagagagaqagabazblbPalabaaaaaacN +cNaaaaaaaaababbRazbSabbqaqagagagagananananananasagagaQaQagagasagagagagagagagagagagagaqagabalblbTagababaaaacN +cNaaaaaaababagagagagabagaqagababababasabababababalagbUaQagalabababababababababababagaqagabagblblbVagababaacN +cNaaaaaaacagagagagbqasbqaqagabbWbXabagabbYagbZabalagbUbUagcaabcbccagcdcecfagagcgabagaqagasagbpchagbxbsacaacN +cNaacOaaacagagagbqagabagaqagabagagasagabagagciabcjckbUbUagcjabagclclclclclclclaDabagaqagabbqbwblagcmagacaacN +cNaaaaaaababagbQbQagabahaqagabbWazabagasagagcnababcobUbUcoababagclclclclclclclalabahaqahabagbwblagcpababaacN +cNaaaaaaaaababcqagagababasabababababagabagagagaKababcrcrababagagclclclclclclclalababasababcsblbwagababaaaacN +cNaaaaaaaaaaabctagcuabcvcwcxabcycwasagabbYagaKaKczabbUbUabazafagclclclclclclclagagagagahabagcAcBagabaaaaaacN +cNaaaaaaaaaaababalagabcwabababcwcwabagabbYcCaJcDcEabbUbUabalagagagagagclclclclclclclclagabcAbqagababaaaaaacN +cNaaaaaaaaaaaaababalabcwcFcGabcwcHabasabababababababbNbNabababababahagclclclclclclclclagabagcIababaaaaaaaacN +cNaaaaaaaaaaaaaaabababcwabababcwcHabcwcvababaaaaaaaaaaaaaaaaaaaaababalclclclclclclclclagabcIababaaaaaaaaaacN +cNaaaaaaaaaaaaaaaaababcwcFcGabcwcJabcKcLabaaaaaaaaaaaaaaaaaaaaaaaaabcMalalagagagagagagahabababaaaaaacOaaaacN +cNaaaaaacOaaaaaaaaaaabababababababababababaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababaaaaaaaaaaaaaacN +cNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacN +cNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcNcN "} \ No newline at end of file diff --git a/maps/tether/submaps/admin_use/dhael_centcom.dmm b/maps/tether/submaps/admin_use/dhael_centcom.dmm index 195605f7c47..23c2c03e819 100644 --- a/maps/tether/submaps/admin_use/dhael_centcom.dmm +++ b/maps/tether/submaps/admin_use/dhael_centcom.dmm @@ -3607,7 +3607,7 @@ /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, -/obj/machinery/cooker/cereal, +/obj/machinery/appliance/cooker/cereal, /turf/unsimulated/floor/steel{ icon_state = "white" }, @@ -3635,7 +3635,7 @@ /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, -/obj/machinery/cooker/oven, +/obj/machinery/appliance/cooker/oven, /obj/machinery/camera/network/crescent{ dir = 10 }, @@ -3647,7 +3647,7 @@ /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, -/obj/machinery/cooker/grill, +/obj/machinery/appliance/cooker/grill, /turf/unsimulated/floor/steel{ icon_state = "white" }, @@ -3656,7 +3656,7 @@ /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, -/obj/machinery/cooker/fryer, +/obj/machinery/appliance/cooker/fryer, /turf/unsimulated/floor/steel{ icon_state = "white" }, @@ -14562,7 +14562,7 @@ /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, -/obj/machinery/cooker/cereal, +/obj/machinery/appliance/cooker/cereal, /turf/unsimulated/floor/steel{ icon_state = "white" }, @@ -14571,7 +14571,7 @@ /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, -/obj/machinery/cooker/oven, +/obj/machinery/appliance/cooker/oven, /turf/unsimulated/floor/steel{ icon_state = "white" }, @@ -14580,7 +14580,7 @@ /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, -/obj/machinery/cooker/grill, +/obj/machinery/appliance/cooker/grill, /turf/unsimulated/floor/steel{ icon_state = "white" }, @@ -14589,7 +14589,7 @@ /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, -/obj/machinery/cooker/fryer, +/obj/machinery/appliance/cooker/fryer, /turf/unsimulated/floor/steel{ icon_state = "white" }, diff --git a/maps/tether/submaps/aerostat/submaps/Manor1.dmm b/maps/tether/submaps/aerostat/submaps/Manor1.dmm index b9815492897..2401898eb82 100644 --- a/maps/tether/submaps/aerostat/submaps/Manor1.dmm +++ b/maps/tether/submaps/aerostat/submaps/Manor1.dmm @@ -219,7 +219,7 @@ /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "aY" = ( -/obj/machinery/cooker/oven, +/obj/machinery/appliance/cooker/oven, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "aZ" = ( @@ -228,7 +228,7 @@ /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "ba" = ( -/obj/machinery/cooker/grill, +/obj/machinery/appliance/cooker/grill, /turf/simulated/floor/holofloor/wood, /area/submap/virgo2/Manor1) "bb" = ( diff --git a/maps/tether/submaps/om_ships/aro.dmm b/maps/tether/submaps/om_ships/aro.dmm index 5322661bb8c..4dce075b15c 100644 --- a/maps/tether/submaps/om_ships/aro.dmm +++ b/maps/tether/submaps/om_ships/aro.dmm @@ -616,12 +616,12 @@ /turf/simulated/floor/tiled/white, /area/ship/aro/recreation) "bp" = ( -/obj/machinery/cooker/oven, +/obj/machinery/appliance/cooker/oven, /obj/effect/floor_decal/borderfloorwhite/corner2, /turf/simulated/floor/tiled/white, /area/ship/aro/recreation) "bq" = ( -/obj/machinery/cooker/grill, +/obj/machinery/appliance/cooker/grill, /obj/effect/floor_decal/borderfloorwhite, /turf/simulated/floor/tiled/white, /area/ship/aro/recreation) diff --git a/maps/tether/submaps/om_ships/cruiser.dmm b/maps/tether/submaps/om_ships/cruiser.dmm index 719b3501b1b..443a78927f7 100644 --- a/maps/tether/submaps/om_ships/cruiser.dmm +++ b/maps/tether/submaps/om_ships/cruiser.dmm @@ -1017,14 +1017,14 @@ /turf/simulated/floor/tiled/white, /area/mothership/kitchen) "cl" = ( -/obj/machinery/cooker/cereal, +/obj/machinery/appliance/cooker/cereal, /obj/effect/floor_decal/industrial/warning/dust{ dir = 9 }, /turf/simulated/floor/tiled/white, /area/mothership/kitchen) "cm" = ( -/obj/machinery/cooker/fryer, +/obj/machinery/appliance/cooker/fryer, /obj/structure/table/steel_reinforced, /obj/effect/floor_decal/industrial/warning/dust{ dir = 1 @@ -1032,7 +1032,7 @@ /turf/simulated/floor/tiled/white, /area/mothership/kitchen) "cn" = ( -/obj/machinery/cooker/oven, +/obj/machinery/appliance/cooker/oven, /obj/structure/table/steel_reinforced, /obj/effect/floor_decal/industrial/warning/dust{ dir = 1 @@ -1040,7 +1040,7 @@ /turf/simulated/floor/tiled/white, /area/mothership/kitchen) "co" = ( -/obj/machinery/cooker/grill, +/obj/machinery/appliance/cooker/grill, /obj/structure/table/steel_reinforced, /obj/effect/floor_decal/industrial/warning/dust{ dir = 1 @@ -1049,7 +1049,7 @@ /turf/simulated/floor/tiled/white, /area/mothership/kitchen) "cp" = ( -/obj/machinery/cooker/candy, +/obj/machinery/appliance/cooker/candy, /obj/effect/floor_decal/industrial/warning/dust{ dir = 1 }, diff --git a/maps/tether/submaps/om_ships/mercenarybase.dmm b/maps/tether/submaps/om_ships/mercenarybase.dmm index 95238c7b191..42b6a45289a 100644 --- a/maps/tether/submaps/om_ships/mercenarybase.dmm +++ b/maps/tether/submaps/om_ships/mercenarybase.dmm @@ -3272,15 +3272,15 @@ /turf/simulated/floor/tiled/dark, /area/mercbase/roid) "nm" = ( -/obj/machinery/cooker/oven, +/obj/machinery/appliance/cooker/oven, /turf/simulated/floor/tiled/dark, /area/mercbase/roid) "nn" = ( -/obj/machinery/cooker/grill, +/obj/machinery/appliance/cooker/grill, /turf/simulated/floor/tiled/dark, /area/mercbase/roid) "no" = ( -/obj/machinery/cooker/fryer, +/obj/machinery/appliance/cooker/fryer, /turf/simulated/floor/tiled/dark, /area/mercbase/roid) "np" = ( diff --git a/maps/tether/tether-03-surface3.dmm b/maps/tether/tether-03-surface3.dmm index 4ccd5fb59b1..8cb61dad374 100644 --- a/maps/tether/tether-03-surface3.dmm +++ b/maps/tether/tether-03-surface3.dmm @@ -10132,7 +10132,7 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/kitchen) "asP" = ( -/obj/machinery/cooker/grill, +/obj/machinery/appliance/cooker/grill, /obj/effect/floor_decal/industrial/warning/dust{ dir = 9 }, @@ -10236,7 +10236,7 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/kitchen) "atc" = ( -/obj/machinery/cooker/candy, +/obj/machinery/appliance/cooker/candy, /obj/effect/floor_decal/industrial/warning/dust{ dir = 8 }, @@ -10328,7 +10328,7 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/kitchen) "ato" = ( -/obj/machinery/cooker/cereal, +/obj/machinery/appliance/cooker/cereal, /obj/effect/floor_decal/industrial/warning/dust{ dir = 8 }, @@ -10395,7 +10395,7 @@ /turf/simulated/wall, /area/crew_quarters/kitchen) "atA" = ( -/obj/machinery/cooker/fryer, +/obj/machinery/appliance/cooker/fryer, /obj/effect/floor_decal/industrial/warning/dust{ dir = 8 }, @@ -10555,7 +10555,7 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/kitchen) "atS" = ( -/obj/machinery/cooker/oven, +/obj/machinery/appliance/cooker/oven, /obj/effect/floor_decal/industrial/warning/dust{ dir = 10 }, diff --git a/maps/virgo/virgo-1.dmm b/maps/virgo/virgo-1.dmm index 4450499fde8..0d43dd25496 100644 --- a/maps/virgo/virgo-1.dmm +++ b/maps/virgo/virgo-1.dmm @@ -4249,7 +4249,7 @@ "bDK" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/maintenance/central) "bDL" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/reagentgrinder,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bDM" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"bDN" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/cooker/oven,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"bDN" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/appliance/cooker/oven,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bDO" = (/obj/effect/floor_decal/corner/lime{dir = 5},/obj/structure/closet/secure_closet/hydroponics,/turf/simulated/floor/tiled,/area/hydroponics) "bDP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/kitchen) "bDQ" = (/obj/structure/closet/secure_closet/hydroponics,/obj/effect/floor_decal/corner/lime/full{dir = 8},/turf/simulated/floor/tiled,/area/hydroponics) @@ -4668,8 +4668,8 @@ "bLN" = (/obj/effect/floor_decal/corner/blue,/obj/structure/reagent_dispensers/water_cooler/full,/turf/simulated/floor/tiled,/area/bridge_hallway) "bLO" = (/turf/simulated/wall/r_wall,/area/crew_quarters/captain) "bLP" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = 28},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"bLQ" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/cooker/grill,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"bLR" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/cooker/fryer,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"bLQ" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/appliance/cooker/grill,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"bLR" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/appliance/cooker/fryer,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bLS" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bLT" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bLU" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/sink/kitchen{pixel_y = 28},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) @@ -4886,9 +4886,9 @@ "bPX" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bPY" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bPZ" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/weapon/reagent_containers/food/snacks/mint,/obj/item/weapon/reagent_containers/food/condiment/enzyme{layer = 5},/obj/item/weapon/packageWrap,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"bQa" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/cooker/candy,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"bQa" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/appliance/cooker/candy,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bQb" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"bQc" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/cooker/cereal,/obj/machinery/camera/network/civilian{c_tag = "CIV - Kitchen Starboard"; dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"bQc" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/appliance/cooker/cereal,/obj/machinery/camera/network/civilian{c_tag = "CIV - Kitchen Starboard"; dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bQd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/kitchen) "bQe" = (/obj/structure/flora/ausbushes/brflowers,/obj/structure/flora/ausbushes/ppflowers,/turf/simulated/floor/grass,/area/crew_quarters/kitchen) "bQf" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) diff --git a/vorestation.dme b/vorestation.dme index 59b2c3525d7..be1efea2c35 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -2098,6 +2098,7 @@ #include "code\modules\food\kitchen\microwave.dm" #include "code\modules\food\kitchen\smartfridge.dm" #include "code\modules\food\kitchen\smartfridge_vr.dm" +#include "code\modules\food\kitchen\cooking_machines\_appliance.dm" #include "code\modules\food\kitchen\cooking_machines\_cooker.dm" #include "code\modules\food\kitchen\cooking_machines\_cooker_output.dm" #include "code\modules\food\kitchen\cooking_machines\candy.dm"