diff --git a/code/modules/reagents/reagent_containers/food.dm b/code/modules/food&drinks/food.dm similarity index 92% rename from code/modules/reagents/reagent_containers/food.dm rename to code/modules/food&drinks/food.dm index 937f0a26ee5..20f54c684eb 100644 --- a/code/modules/reagents/reagent_containers/food.dm +++ b/code/modules/food&drinks/food.dm @@ -1,11 +1,11 @@ -//////////////////////////////////////////////////////////////////////////////// -/// Food. -//////////////////////////////////////////////////////////////////////////////// -/obj/item/weapon/reagent_containers/food - possible_transfer_amounts = null - volume = 50 //Sets the default container amount for all food items. - -/obj/item/weapon/reagent_containers/food/New() - ..() - pixel_x = rand(-5, 5) //Randomizes postion slightly. +//////////////////////////////////////////////////////////////////////////////// +/// Food. +//////////////////////////////////////////////////////////////////////////////// +/obj/item/weapon/reagent_containers/food + possible_transfer_amounts = null + volume = 50 //Sets the default container amount for all food items. + +/obj/item/weapon/reagent_containers/food/New() + ..() + pixel_x = rand(-5, 5) //Randomizes postion slightly. pixel_y = rand(-5, 5) \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/food/condiment.dm b/code/modules/food&drinks/food/condiment.dm similarity index 97% rename from code/modules/reagents/reagent_containers/food/condiment.dm rename to code/modules/food&drinks/food/condiment.dm index 3d4c6664809..9433751e0be 100644 --- a/code/modules/reagents/reagent_containers/food/condiment.dm +++ b/code/modules/food&drinks/food/condiment.dm @@ -1,222 +1,222 @@ - -///////////////////////////////////////////////Condiments -//Notes by Darem: The condiments food-subtype is for stuff you don't actually eat but you use to modify existing food. They all -// leave empty containers when used up and can be filled/re-filled with other items. Formatting for first section is identical -// to mixed-drinks code. If you want an object that starts pre-loaded, you need to make it in addition to the other code. - -//Food items that aren't eaten normally and leave an empty container behind. -/obj/item/weapon/reagent_containers/food/condiment - name = "Condiment Container" - desc = "Just your average condiment container." - icon = 'icons/obj/food.dmi' - icon_state = "emptycondiment" - flags = OPENCONTAINER - possible_transfer_amounts = list(1,5,10) - volume = 50 - //Possible_states has the reagent id as key and a list of, in order, the icon_state, the name and the desc as values. Used in the on_reagent_change() to change names, descs and sprites. - var/list/possible_states = list("ketchup" = list("ketchup", "Ketchup", "You feel more American already."), "capsaicin" = list("hotsauce", "Hotsauce", "You can almost TASTE the stomach ulcers now!"), "enzyme" = list("enzyme", "Universal Enzyme", "Used in cooking various dishes"), "soysauce" = list("soysauce", "Soy Sauce", "A salty soy-based flavoring"), "frostoil" = list("coldsauce", "Coldsauce", "Leaves the tongue numb in it's passage"), "sodiumchloride" = list("saltshaker", "Salt Shaker", "Salt. From space oceans, presumably"), "blackpepper" = list("pepermillsmall", "Pepper Mill", "Often used to flavor food or make people sneeze"), "cornoil" = list("oliveoil", "Corn Oil", "A delicious oil used in cooking. Made from corn"), "sugar" = list("emptycondiment", "Sugar", "Tasty spacey sugar!")) - -/obj/item/weapon/reagent_containers/food/condiment/attackby(obj/item/weapon/W as obj, mob/user as mob) - return - -/obj/item/weapon/reagent_containers/food/condiment/attack_self(mob/user as mob) - return - -/obj/item/weapon/reagent_containers/food/condiment/attack(mob/M as mob, mob/user as mob, def_zone) - var/datum/reagents/R = src.reagents - - if(!R || !R.total_volume) - user << "None of [src] left, oh no!" - return 0 - - if(!canconsume(M, user)) - return 0 - - if(M == user) - M << "You swallow some of contents of the [src]." - if(reagents.total_volume) - reagents.reaction(M, INGEST) - spawn(5) - reagents.trans_to(M, 10) - playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) - return 1 - - else if( istype(M, /mob/living/carbon/human) ) - for(var/mob/O in viewers(world.view, user)) - O.show_message("[user] attempts to feed [M] [src].", 1) - if(!do_mob(user, M)) return - for(var/mob/O in viewers(world.view, user)) - O.show_message("[user] feeds [M] [src].", 1) - - add_logs(user, M, "fed", object="[reagentlist(src)]") - - if(reagents.total_volume) - reagents.reaction(M, INGEST) - spawn(5) - reagents.trans_to(M, 10) - - playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) - return 1 - return 0 - -/obj/item/weapon/reagent_containers/food/condiment/attackby(obj/item/I as obj, mob/user as mob) - return - -/obj/item/weapon/reagent_containers/food/condiment/afterattack(obj/target, mob/user , proximity) - if(!proximity) return - if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us. - - if(!target.reagents.total_volume) - user << "[target] is empty." - return - - if(reagents.total_volume >= reagents.maximum_volume) - user << "[src] is full." - return - - var/trans = target.reagents.trans_to(src, target:amount_per_transfer_from_this) - user << "You fill [src] with [trans] units of the contents of [target]." - - //Something like a glass or a food item. Player probably wants to transfer TO it. - else if(target.is_open_container() || istype(target, /obj/item/weapon/reagent_containers/food/snacks)) - if(!reagents.total_volume) - user << "[src] is empty." - return - if(target.reagents.total_volume >= target.reagents.maximum_volume) - user << "you can't add anymore to [target]." - return - var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this) - user << "You transfer [trans] units of the condiment to [target]." - -/obj/item/weapon/reagent_containers/food/condiment/on_reagent_change() - if(icon_state == "saltshakersmall" || icon_state == "peppermillsmall") - return - if(reagents.reagent_list.len > 0) - var/main_reagent = reagents.get_master_reagent_id() - if(main_reagent in possible_states) - var/list/temp_list = possible_states[main_reagent] - icon_state = temp_list[1] - name = temp_list[2] - desc = temp_list[3] - - else - name = "misc Condiment Bottle" - main_reagent = reagents.get_master_reagent_name() - if (reagents.reagent_list.len==1) - desc = "Looks like it is [lowertext(main_reagent)], but you are not sure." - else - desc = "A mixture of various condiments. [lowertext(main_reagent)] is one of them." - icon_state = "mixedcondiments" - else - icon_state = "emptycondiment" - name = "condiment Bottle" - desc = "An empty condiment bottle." - return - -/obj/item/weapon/reagent_containers/food/condiment/enzyme - name = "Universal Enzyme" - desc = "Used in cooking various dishes." - icon_state = "enzyme" - - New() - ..() - reagents.add_reagent("enzyme", 50) - -/obj/item/weapon/reagent_containers/food/condiment/sugar - - New() - ..() - reagents.add_reagent("sugar", 50) - -/obj/item/weapon/reagent_containers/food/condiment/saltshaker //Seperate from above since it's a small shaker rather then - name = "Salt Shaker" // a large one. - desc = "Salt. From space oceans, presumably." - icon_state = "saltshakersmall" - possible_transfer_amounts = list(1,20) //for clown turning the lid off - amount_per_transfer_from_this = 1 - volume = 20 - - New() - ..() - reagents.add_reagent("sodiumchloride", 20) - -/obj/item/weapon/reagent_containers/food/condiment/peppermill - name = "Pepper Mill" - desc = "Often used to flavor food or make people sneeze." - icon_state = "peppermillsmall" - possible_transfer_amounts = list(1,20) //for clown turning the lid off - amount_per_transfer_from_this = 1 - volume = 20 - - New() - ..() - reagents.add_reagent("blackpepper", 20) - -//Food packs. To easily apply deadly toxi... delicious sauces to your food! -/obj/item/weapon/reagent_containers/food/condiment/pack - name = "condiment pack" - desc = "A small plastic pack with condiments to put on your food" - icon_state = "condi_empty" - volume = 10 - amount_per_transfer_from_this = 10 - possible_transfer_amounts = list(10) - possible_states = list("ketchup" = list("condi_ketchup", "Ketchup", "You feel more American already."), "capsaicin" = list("condi_hotsauce", "Hotsauce", "You can almost TASTE the stomach ulcers now!"), "soysauce" = list("condi_soysauce", "Soy Sauce", "A salty soy-based flavoring"), "frostoil" = list("condi_frostoil", "Coldsauce", "Leaves the tongue numb in it's passage"), "sodiumchloride" = list("condi_salt", "Salt Shaker", "Salt. From space oceans, presumably"), "blackpepper" = list("condi_pepper", "Pepper Mill", "Often used to flavor food or make people sneeze"), "cornoil" = list("condi_cornoil", "Corn Oil", "A delicious oil used in cooking. Made from corn"), "sugar" = list("condi_sugar", "Sugar", "Tasty spacey sugar!")) - var/originalname = "condiment" //Can't use initial(name) for this. This stores the name set by condimasters. - -/obj/item/weapon/reagent_containers/food/condiment/pack/New() - ..() - pixel_x = rand(-7, 7) - pixel_y = rand(-7, 7) - -/obj/item/weapon/reagent_containers/food/condiment/pack/attack(mob/M, mob/user, def_zone) //Can't feed these to people directly. - return - -/obj/item/weapon/reagent_containers/food/condiment/pack/afterattack(obj/target, mob/user , proximity) - if(!proximity) return - - //You can tear the bag open above food to put the condiments on it, obviously. - if(istype(target, /obj/item/weapon/reagent_containers/food/snacks)) - if(!reagents.total_volume) - user << "You tear open [src], but there's nothing in it." - qdel(src) - return - if(target.reagents.total_volume >= target.reagents.maximum_volume) - user << "You tear open [src], but [target] is stacked so high that it just drips off!" //Not sure if food can ever be full, but better safe than sorry. - qdel(src) - return - else - user << "You tear open [src] above [target] and the condiments drip onto it." - src.reagents.trans_to(target, amount_per_transfer_from_this) - qdel(src) - -/obj/item/weapon/reagent_containers/food/condiment/pack/on_reagent_change() - if(reagents.reagent_list.len > 0) - var/main_reagent = reagents.get_master_reagent_id() - if(main_reagent in possible_states) - var/list/temp_list = possible_states[main_reagent] - icon_state = temp_list[1] - desc = temp_list[3] - else - icon_state = "condi_mixed" - desc = "A small condiment pack. The label says it contains [originalname]" - else - icon_state = "condi_empty" - desc = "A small condiment pack. It is empty." - -//Ketchup -/obj/item/weapon/reagent_containers/food/condiment/pack/ketchup - name = "ketchup pack" - originalname = "ketchup" - -/obj/item/weapon/reagent_containers/food/condiment/pack/ketchup/New() - ..() - reagents.add_reagent("ketchup", 10) - -//Hot sauce -/obj/item/weapon/reagent_containers/food/condiment/pack/hotsauce - name = "hotsauce pack" - originalname = "hotsauce" - -/obj/item/weapon/reagent_containers/food/condiment/pack/hotsauce/New() - ..() - reagents.add_reagent("capsaicin", 10) + +///////////////////////////////////////////////Condiments +//Notes by Darem: The condiments food-subtype is for stuff you don't actually eat but you use to modify existing food. They all +// leave empty containers when used up and can be filled/re-filled with other items. Formatting for first section is identical +// to mixed-drinks code. If you want an object that starts pre-loaded, you need to make it in addition to the other code. + +//Food items that aren't eaten normally and leave an empty container behind. +/obj/item/weapon/reagent_containers/food/condiment + name = "Condiment Container" + desc = "Just your average condiment container." + icon = 'icons/obj/food.dmi' + icon_state = "emptycondiment" + flags = OPENCONTAINER + possible_transfer_amounts = list(1,5,10) + volume = 50 + //Possible_states has the reagent id as key and a list of, in order, the icon_state, the name and the desc as values. Used in the on_reagent_change() to change names, descs and sprites. + var/list/possible_states = list("ketchup" = list("ketchup", "Ketchup", "You feel more American already."), "capsaicin" = list("hotsauce", "Hotsauce", "You can almost TASTE the stomach ulcers now!"), "enzyme" = list("enzyme", "Universal Enzyme", "Used in cooking various dishes"), "soysauce" = list("soysauce", "Soy Sauce", "A salty soy-based flavoring"), "frostoil" = list("coldsauce", "Coldsauce", "Leaves the tongue numb in it's passage"), "sodiumchloride" = list("saltshaker", "Salt Shaker", "Salt. From space oceans, presumably"), "blackpepper" = list("pepermillsmall", "Pepper Mill", "Often used to flavor food or make people sneeze"), "cornoil" = list("oliveoil", "Corn Oil", "A delicious oil used in cooking. Made from corn"), "sugar" = list("emptycondiment", "Sugar", "Tasty spacey sugar!")) + +/obj/item/weapon/reagent_containers/food/condiment/attackby(obj/item/weapon/W as obj, mob/user as mob) + return + +/obj/item/weapon/reagent_containers/food/condiment/attack_self(mob/user as mob) + return + +/obj/item/weapon/reagent_containers/food/condiment/attack(mob/M as mob, mob/user as mob, def_zone) + var/datum/reagents/R = src.reagents + + if(!R || !R.total_volume) + user << "None of [src] left, oh no!" + return 0 + + if(!canconsume(M, user)) + return 0 + + if(M == user) + M << "You swallow some of contents of the [src]." + if(reagents.total_volume) + reagents.reaction(M, INGEST) + spawn(5) + reagents.trans_to(M, 10) + playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) + return 1 + + else if( istype(M, /mob/living/carbon/human) ) + for(var/mob/O in viewers(world.view, user)) + O.show_message("[user] attempts to feed [M] [src].", 1) + if(!do_mob(user, M)) return + for(var/mob/O in viewers(world.view, user)) + O.show_message("[user] feeds [M] [src].", 1) + + add_logs(user, M, "fed", object="[reagentlist(src)]") + + if(reagents.total_volume) + reagents.reaction(M, INGEST) + spawn(5) + reagents.trans_to(M, 10) + + playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) + return 1 + return 0 + +/obj/item/weapon/reagent_containers/food/condiment/attackby(obj/item/I as obj, mob/user as mob) + return + +/obj/item/weapon/reagent_containers/food/condiment/afterattack(obj/target, mob/user , proximity) + if(!proximity) return + if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us. + + if(!target.reagents.total_volume) + user << "[target] is empty." + return + + if(reagents.total_volume >= reagents.maximum_volume) + user << "[src] is full." + return + + var/trans = target.reagents.trans_to(src, target:amount_per_transfer_from_this) + user << "You fill [src] with [trans] units of the contents of [target]." + + //Something like a glass or a food item. Player probably wants to transfer TO it. + else if(target.is_open_container() || istype(target, /obj/item/weapon/reagent_containers/food/snacks)) + if(!reagents.total_volume) + user << "[src] is empty." + return + if(target.reagents.total_volume >= target.reagents.maximum_volume) + user << "you can't add anymore to [target]." + return + var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this) + user << "You transfer [trans] units of the condiment to [target]." + +/obj/item/weapon/reagent_containers/food/condiment/on_reagent_change() + if(icon_state == "saltshakersmall" || icon_state == "peppermillsmall") + return + if(reagents.reagent_list.len > 0) + var/main_reagent = reagents.get_master_reagent_id() + if(main_reagent in possible_states) + var/list/temp_list = possible_states[main_reagent] + icon_state = temp_list[1] + name = temp_list[2] + desc = temp_list[3] + + else + name = "misc Condiment Bottle" + main_reagent = reagents.get_master_reagent_name() + if (reagents.reagent_list.len==1) + desc = "Looks like it is [lowertext(main_reagent)], but you are not sure." + else + desc = "A mixture of various condiments. [lowertext(main_reagent)] is one of them." + icon_state = "mixedcondiments" + else + icon_state = "emptycondiment" + name = "condiment Bottle" + desc = "An empty condiment bottle." + return + +/obj/item/weapon/reagent_containers/food/condiment/enzyme + name = "Universal Enzyme" + desc = "Used in cooking various dishes." + icon_state = "enzyme" + + New() + ..() + reagents.add_reagent("enzyme", 50) + +/obj/item/weapon/reagent_containers/food/condiment/sugar + + New() + ..() + reagents.add_reagent("sugar", 50) + +/obj/item/weapon/reagent_containers/food/condiment/saltshaker //Seperate from above since it's a small shaker rather then + name = "Salt Shaker" // a large one. + desc = "Salt. From space oceans, presumably." + icon_state = "saltshakersmall" + possible_transfer_amounts = list(1,20) //for clown turning the lid off + amount_per_transfer_from_this = 1 + volume = 20 + + New() + ..() + reagents.add_reagent("sodiumchloride", 20) + +/obj/item/weapon/reagent_containers/food/condiment/peppermill + name = "Pepper Mill" + desc = "Often used to flavor food or make people sneeze." + icon_state = "peppermillsmall" + possible_transfer_amounts = list(1,20) //for clown turning the lid off + amount_per_transfer_from_this = 1 + volume = 20 + + New() + ..() + reagents.add_reagent("blackpepper", 20) + +//Food packs. To easily apply deadly toxi... delicious sauces to your food! +/obj/item/weapon/reagent_containers/food/condiment/pack + name = "condiment pack" + desc = "A small plastic pack with condiments to put on your food" + icon_state = "condi_empty" + volume = 10 + amount_per_transfer_from_this = 10 + possible_transfer_amounts = list(10) + possible_states = list("ketchup" = list("condi_ketchup", "Ketchup", "You feel more American already."), "capsaicin" = list("condi_hotsauce", "Hotsauce", "You can almost TASTE the stomach ulcers now!"), "soysauce" = list("condi_soysauce", "Soy Sauce", "A salty soy-based flavoring"), "frostoil" = list("condi_frostoil", "Coldsauce", "Leaves the tongue numb in it's passage"), "sodiumchloride" = list("condi_salt", "Salt Shaker", "Salt. From space oceans, presumably"), "blackpepper" = list("condi_pepper", "Pepper Mill", "Often used to flavor food or make people sneeze"), "cornoil" = list("condi_cornoil", "Corn Oil", "A delicious oil used in cooking. Made from corn"), "sugar" = list("condi_sugar", "Sugar", "Tasty spacey sugar!")) + var/originalname = "condiment" //Can't use initial(name) for this. This stores the name set by condimasters. + +/obj/item/weapon/reagent_containers/food/condiment/pack/New() + ..() + pixel_x = rand(-7, 7) + pixel_y = rand(-7, 7) + +/obj/item/weapon/reagent_containers/food/condiment/pack/attack(mob/M, mob/user, def_zone) //Can't feed these to people directly. + return + +/obj/item/weapon/reagent_containers/food/condiment/pack/afterattack(obj/target, mob/user , proximity) + if(!proximity) return + + //You can tear the bag open above food to put the condiments on it, obviously. + if(istype(target, /obj/item/weapon/reagent_containers/food/snacks)) + if(!reagents.total_volume) + user << "You tear open [src], but there's nothing in it." + qdel(src) + return + if(target.reagents.total_volume >= target.reagents.maximum_volume) + user << "You tear open [src], but [target] is stacked so high that it just drips off!" //Not sure if food can ever be full, but better safe than sorry. + qdel(src) + return + else + user << "You tear open [src] above [target] and the condiments drip onto it." + src.reagents.trans_to(target, amount_per_transfer_from_this) + qdel(src) + +/obj/item/weapon/reagent_containers/food/condiment/pack/on_reagent_change() + if(reagents.reagent_list.len > 0) + var/main_reagent = reagents.get_master_reagent_id() + if(main_reagent in possible_states) + var/list/temp_list = possible_states[main_reagent] + icon_state = temp_list[1] + desc = temp_list[3] + else + icon_state = "condi_mixed" + desc = "A small condiment pack. The label says it contains [originalname]" + else + icon_state = "condi_empty" + desc = "A small condiment pack. It is empty." + +//Ketchup +/obj/item/weapon/reagent_containers/food/condiment/pack/ketchup + name = "ketchup pack" + originalname = "ketchup" + +/obj/item/weapon/reagent_containers/food/condiment/pack/ketchup/New() + ..() + reagents.add_reagent("ketchup", 10) + +//Hot sauce +/obj/item/weapon/reagent_containers/food/condiment/pack/hotsauce + name = "hotsauce pack" + originalname = "hotsauce" + +/obj/item/weapon/reagent_containers/food/condiment/pack/hotsauce/New() + ..() + reagents.add_reagent("capsaicin", 10) diff --git a/code/modules/reagents/reagent_containers/food/drinks.dm b/code/modules/food&drinks/food/drinks.dm similarity index 97% rename from code/modules/reagents/reagent_containers/food/drinks.dm rename to code/modules/food&drinks/food/drinks.dm index 842d01ecee5..26b35cdc487 100644 --- a/code/modules/reagents/reagent_containers/food/drinks.dm +++ b/code/modules/food&drinks/food/drinks.dm @@ -1,378 +1,378 @@ -//////////////////////////////////////////////////////////////////////////////// -/// Drinks. -//////////////////////////////////////////////////////////////////////////////// -/obj/item/weapon/reagent_containers/food/drinks - name = "drink" - desc = "yummy" - icon = 'icons/obj/drinks.dmi' - icon_state = null - flags = OPENCONTAINER - var/gulp_size = 5 //This is now officially broken ... need to think of a nice way to fix it. - possible_transfer_amounts = list(5,10,25) - volume = 50 - - on_reagent_change() - if (gulp_size < 5) gulp_size = 5 - else gulp_size = max(round(reagents.total_volume / 5), 5) - - attack_self(mob/user as mob) - return - - attack(mob/M as mob, mob/user as mob, def_zone) - - if(!reagents || !reagents.total_volume) - user << "None of [src] left, oh no!" - return 0 - - if(!canconsume(M, user)) - return 0 - - if(M == user) - M << "You swallow a gulp of [src]." - if(reagents.total_volume) - reagents.reaction(M, INGEST) - spawn(5) - reagents.trans_to(M, gulp_size) - - playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) - return 1 - - M.visible_message("[user] attempts to feed [src] to [M].", "You attempt to feed [src] to [M].") - if(!do_mob(user, M)) return - if(!reagents.total_volume) return // The drink might be empty after the delay, such as by spam-feeding - M.visible_message("[user] feeds [src] to [M].", "You feed [src] to [M].") - add_logs(user, M, "fed", object="[reagentlist(src)]") - if(reagents.total_volume) - reagents.reaction(M, INGEST) - spawn(5) - reagents.trans_to(M, gulp_size) - - playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) - return 1 - - - afterattack(obj/target, mob/user , proximity) - if(!proximity) return - if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us. - - if(!target.reagents.total_volume) - user << "[target] is empty." - return - - if(reagents.total_volume >= reagents.maximum_volume) - user << "[src] is full." - return - - var/trans = target.reagents.trans_to(src, target:amount_per_transfer_from_this) - user << "You fill [src] with [trans] units of the contents of [target]." - - else if(target.is_open_container()) //Something like a glass. Player probably wants to transfer TO it. - if(!reagents.total_volume) - user << "[src] is empty." - return - - if(target.reagents.total_volume >= target.reagents.maximum_volume) - user << "[target] is full." - return - - var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this) - user << " You transfer [trans] units of the solution to [target]." - - if(isrobot(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell - var/mob/living/silicon/robot/bro = user - bro.cell.use(30) - var/refill = reagents.get_master_reagent_id() - spawn(600) - reagents.add_reagent(refill, trans) - - return - - examine() - set src in view() - ..() - if (!(usr in range(0)) && usr!=src.loc) return - if(!reagents || reagents.total_volume==0) - usr << "\The [src] is empty!" - else if (reagents.total_volume<=src.volume/4) - usr << "\The [src] is almost empty!" - else if (reagents.total_volume<=src.volume*0.66) - usr << "\The [src] is half full!" - else if (reagents.total_volume<=src.volume*0.90) - usr << "\The [src] is almost full!" - else - usr << "\The [src] is full!" - - -//////////////////////////////////////////////////////////////////////////////// -/// Drinks. END -//////////////////////////////////////////////////////////////////////////////// - -/obj/item/weapon/reagent_containers/food/drinks/golden_cup - desc = "A golden cup" - name = "golden cup" - icon_state = "golden_cup" - item_state = "" //nope :( - w_class = 4 - force = 14 - throwforce = 10 - amount_per_transfer_from_this = 20 - possible_transfer_amounts = null - volume = 150 - flags = CONDUCT | OPENCONTAINER - -/obj/item/weapon/reagent_containers/food/drinks/golden_cup/tournament_26_06_2011 - desc = "A golden cup. It will be presented to a winner of tournament 26 june and name of the winner will be graved on it." - - -///////////////////////////////////////////////Drinks -//Notes by Darem: Drinks are simply containers that start preloaded. Unlike condiments, the contents can be ingested directly -// rather then having to add it to something else first. They should only contain liquids. They have a default container size of 50. -// Formatting is the same as food. - -/obj/item/weapon/reagent_containers/food/drinks/milk - name = "Space Milk" - desc = "It's milk. White and nutritious goodness!" - icon_state = "milk" - item_state = "carton" - New() - ..() - reagents.add_reagent("milk", 50) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) - -/obj/item/weapon/reagent_containers/food/drinks/flour - name = "flour sack" - desc = "A big bag of flour. Good for baking!" - icon = 'icons/obj/food.dmi' - icon_state = "flour" - item_state = "flour" - New() - ..() - reagents.add_reagent("flour", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) - -/obj/item/weapon/reagent_containers/food/drinks/soymilk - name = "SoyMilk" - desc = "It's soy milk. White and nutritious goodness!" - icon_state = "soymilk" - item_state = "carton" - New() - ..() - reagents.add_reagent("soymilk", 50) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) - -/obj/item/weapon/reagent_containers/food/drinks/coffee - name = "Robust Coffee" - desc = "Careful, the beverage you're about to enjoy is extremely hot." - icon_state = "coffee" - New() - ..() - reagents.add_reagent("coffee", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) - -/obj/item/weapon/reagent_containers/food/drinks/tea - name = "Duke Purple Tea" - desc = "An insult to Duke Purple is an insult to the Space Queen! Any proper gentleman will fight you, if you sully this tea." - icon_state = "tea" - item_state = "coffee" - New() - ..() - reagents.add_reagent("tea", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) - -/obj/item/weapon/reagent_containers/food/drinks/ice - name = "Ice Cup" - desc = "Careful, cold ice, do not chew." - icon_state = "coffee" - New() - ..() - reagents.add_reagent("ice", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) - -/obj/item/weapon/reagent_containers/food/drinks/h_chocolate - name = "Dutch Hot Coco" - desc = "Made in Space South America." - icon_state = "tea" - item_state = "coffee" - New() - ..() - reagents.add_reagent("hot_coco", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) - -/obj/item/weapon/reagent_containers/food/drinks/dry_ramen - name = "Cup Ramen" - desc = "Just add 10ml water, self heats! A taste that reminds you of your school years." - icon_state = "ramen" - New() - ..() - reagents.add_reagent("dry_ramen", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) - -/obj/item/weapon/reagent_containers/food/drinks/beer - name = "Space Beer" - desc = "Beer. In space." - icon_state = "beer" - New() - ..() - reagents.add_reagent("beer", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) - -/obj/item/weapon/reagent_containers/food/drinks/ale - name = "Magm-Ale" - desc = "A true dorf's drink of choice." - icon_state = "alebottle" - item_state = "beer" - New() - ..() - reagents.add_reagent("ale", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) - -/obj/item/weapon/reagent_containers/food/drinks/sillycup - name = "Paper Cup" - desc = "A paper water cup." - icon_state = "water_cup_e" - possible_transfer_amounts = null - volume = 10 - New() - ..() - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) - on_reagent_change() - if(reagents.total_volume) - icon_state = "water_cup" - else - icon_state = "water_cup_e" - -//////////////////////////drinkingglass and shaker// -//Note by Darem: This code handles the mixing of drinks. New drinks go in three places: In Chemistry-Reagents.dm (for the drink -// itself), in Chemistry-Recipes.dm (for the reaction that changes the components into the drink), and here (for the drinking glass -// icon states. - -/obj/item/weapon/reagent_containers/food/drinks/shaker - name = "Shaker" - desc = "A metal shaker to mix drinks in." - icon_state = "shaker" - amount_per_transfer_from_this = 10 - volume = 100 - -/obj/item/weapon/reagent_containers/food/drinks/flask - name = "Captain's Flask" - desc = "A metal flask belonging to the captain" - icon_state = "flask" - volume = 60 - -/obj/item/weapon/reagent_containers/food/drinks/britcup - name = "cup" - desc = "A cup with the british flag emblazoned on it." - icon_state = "britcup" - volume = 30 - -//////////////////////////soda_cans// -//These are in their own group to be used as IED's in /obj/item/weapon/grenade/ghettobomb.dm - -/obj/item/weapon/reagent_containers/food/drinks/soda_cans/attack(mob/M, mob/user) - if(M == user && !src.reagents.total_volume && user.a_intent == "harm" && user.zone_sel.selecting == "head") - user.visible_message("[user] crushes the can of [src] on \his forehead!", "You crush the can of [src] on your forehead!") - playsound(user.loc,'sound/weapons/pierce.ogg', rand(10,50), 1) - var/obj/item/trash/can/crushed_can = new /obj/item/trash/can(user.loc) - crushed_can.icon_state = icon_state - qdel(src) - ..() - -/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola - name = "Space Cola" - desc = "Cola. in space." - icon_state = "cola" - New() - ..() - reagents.add_reagent("cola", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) - -/obj/item/weapon/reagent_containers/food/drinks/soda_cans/tonic - name = "T-Borg's Tonic Water" - desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away." - icon_state = "tonic" - New() - ..() - reagents.add_reagent("tonic", 50) - -/obj/item/weapon/reagent_containers/food/drinks/soda_cans/sodawater - name = "Soda Water" - desc = "A can of soda water. Why not make a scotch and soda?" - icon_state = "sodawater" - New() - ..() - reagents.add_reagent("sodawater", 50) - -/obj/item/weapon/reagent_containers/food/drinks/soda_cans/lemon_lime - name = "Orange Soda" - desc = "You wanted ORANGE. It gave you Lemon Lime." - icon_state = "lemon-lime" - New() - ..() - name = "Lemon-Lime Soda" - reagents.add_reagent("lemon_lime", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) - -/obj/item/weapon/reagent_containers/food/drinks/soda_cans/space_up - name = "Space-Up" - desc = "Tastes like a hull breach in your mouth." - icon_state = "space-up" - New() - ..() - reagents.add_reagent("space_up", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) - -/obj/item/weapon/reagent_containers/food/drinks/soda_cans/starkist - name = "Star-kist" - desc = "The taste of a star in liquid form. And, a bit of tuna...?" - icon_state = "starkist" - New() - ..() - reagents.add_reagent("cola", 15) - reagents.add_reagent("orangejuice", 15) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) - -/obj/item/weapon/reagent_containers/food/drinks/soda_cans/space_mountain_wind - name = "Space Mountain Wind" - desc = "Blows right through you like a space wind." - icon_state = "space_mountain_wind" - New() - ..() - reagents.add_reagent("spacemountainwind", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) - -/obj/item/weapon/reagent_containers/food/drinks/soda_cans/thirteenloko - name = "Thirteen Loko" - desc = "The CMO has advised crew members that consumption of Thirteen Loko may result in seizures, blindness, drunkeness, or even death. Please Drink Responsably." - icon_state = "thirteen_loko" - New() - ..() - reagents.add_reagent("thirteenloko", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) - -/obj/item/weapon/reagent_containers/food/drinks/soda_cans/dr_gibb - name = "Dr. Gibb" - desc = "A delicious mixture of 42 different flavors." - icon_state = "dr_gibb" - New() - ..() - reagents.add_reagent("dr_gibb", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) - +//////////////////////////////////////////////////////////////////////////////// +/// Drinks. +//////////////////////////////////////////////////////////////////////////////// +/obj/item/weapon/reagent_containers/food/drinks + name = "drink" + desc = "yummy" + icon = 'icons/obj/drinks.dmi' + icon_state = null + flags = OPENCONTAINER + var/gulp_size = 5 //This is now officially broken ... need to think of a nice way to fix it. + possible_transfer_amounts = list(5,10,25) + volume = 50 + + on_reagent_change() + if (gulp_size < 5) gulp_size = 5 + else gulp_size = max(round(reagents.total_volume / 5), 5) + + attack_self(mob/user as mob) + return + + attack(mob/M as mob, mob/user as mob, def_zone) + + if(!reagents || !reagents.total_volume) + user << "None of [src] left, oh no!" + return 0 + + if(!canconsume(M, user)) + return 0 + + if(M == user) + M << "You swallow a gulp of [src]." + if(reagents.total_volume) + reagents.reaction(M, INGEST) + spawn(5) + reagents.trans_to(M, gulp_size) + + playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) + return 1 + + M.visible_message("[user] attempts to feed [src] to [M].", "You attempt to feed [src] to [M].") + if(!do_mob(user, M)) return + if(!reagents.total_volume) return // The drink might be empty after the delay, such as by spam-feeding + M.visible_message("[user] feeds [src] to [M].", "You feed [src] to [M].") + add_logs(user, M, "fed", object="[reagentlist(src)]") + if(reagents.total_volume) + reagents.reaction(M, INGEST) + spawn(5) + reagents.trans_to(M, gulp_size) + + playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) + return 1 + + + afterattack(obj/target, mob/user , proximity) + if(!proximity) return + if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us. + + if(!target.reagents.total_volume) + user << "[target] is empty." + return + + if(reagents.total_volume >= reagents.maximum_volume) + user << "[src] is full." + return + + var/trans = target.reagents.trans_to(src, target:amount_per_transfer_from_this) + user << "You fill [src] with [trans] units of the contents of [target]." + + else if(target.is_open_container()) //Something like a glass. Player probably wants to transfer TO it. + if(!reagents.total_volume) + user << "[src] is empty." + return + + if(target.reagents.total_volume >= target.reagents.maximum_volume) + user << "[target] is full." + return + + var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this) + user << " You transfer [trans] units of the solution to [target]." + + if(isrobot(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell + var/mob/living/silicon/robot/bro = user + bro.cell.use(30) + var/refill = reagents.get_master_reagent_id() + spawn(600) + reagents.add_reagent(refill, trans) + + return + + examine() + set src in view() + ..() + if (!(usr in range(0)) && usr!=src.loc) return + if(!reagents || reagents.total_volume==0) + usr << "\The [src] is empty!" + else if (reagents.total_volume<=src.volume/4) + usr << "\The [src] is almost empty!" + else if (reagents.total_volume<=src.volume*0.66) + usr << "\The [src] is half full!" + else if (reagents.total_volume<=src.volume*0.90) + usr << "\The [src] is almost full!" + else + usr << "\The [src] is full!" + + +//////////////////////////////////////////////////////////////////////////////// +/// Drinks. END +//////////////////////////////////////////////////////////////////////////////// + +/obj/item/weapon/reagent_containers/food/drinks/golden_cup + desc = "A golden cup" + name = "golden cup" + icon_state = "golden_cup" + item_state = "" //nope :( + w_class = 4 + force = 14 + throwforce = 10 + amount_per_transfer_from_this = 20 + possible_transfer_amounts = null + volume = 150 + flags = CONDUCT | OPENCONTAINER + +/obj/item/weapon/reagent_containers/food/drinks/golden_cup/tournament_26_06_2011 + desc = "A golden cup. It will be presented to a winner of tournament 26 june and name of the winner will be graved on it." + + +///////////////////////////////////////////////Drinks +//Notes by Darem: Drinks are simply containers that start preloaded. Unlike condiments, the contents can be ingested directly +// rather then having to add it to something else first. They should only contain liquids. They have a default container size of 50. +// Formatting is the same as food. + +/obj/item/weapon/reagent_containers/food/drinks/milk + name = "Space Milk" + desc = "It's milk. White and nutritious goodness!" + icon_state = "milk" + item_state = "carton" + New() + ..() + reagents.add_reagent("milk", 50) + src.pixel_x = rand(-10.0, 10) + src.pixel_y = rand(-10.0, 10) + +/obj/item/weapon/reagent_containers/food/drinks/flour + name = "flour sack" + desc = "A big bag of flour. Good for baking!" + icon = 'icons/obj/food.dmi' + icon_state = "flour" + item_state = "flour" + New() + ..() + reagents.add_reagent("flour", 30) + src.pixel_x = rand(-10.0, 10) + src.pixel_y = rand(-10.0, 10) + +/obj/item/weapon/reagent_containers/food/drinks/soymilk + name = "SoyMilk" + desc = "It's soy milk. White and nutritious goodness!" + icon_state = "soymilk" + item_state = "carton" + New() + ..() + reagents.add_reagent("soymilk", 50) + src.pixel_x = rand(-10.0, 10) + src.pixel_y = rand(-10.0, 10) + +/obj/item/weapon/reagent_containers/food/drinks/coffee + name = "Robust Coffee" + desc = "Careful, the beverage you're about to enjoy is extremely hot." + icon_state = "coffee" + New() + ..() + reagents.add_reagent("coffee", 30) + src.pixel_x = rand(-10.0, 10) + src.pixel_y = rand(-10.0, 10) + +/obj/item/weapon/reagent_containers/food/drinks/tea + name = "Duke Purple Tea" + desc = "An insult to Duke Purple is an insult to the Space Queen! Any proper gentleman will fight you, if you sully this tea." + icon_state = "tea" + item_state = "coffee" + New() + ..() + reagents.add_reagent("tea", 30) + src.pixel_x = rand(-10.0, 10) + src.pixel_y = rand(-10.0, 10) + +/obj/item/weapon/reagent_containers/food/drinks/ice + name = "Ice Cup" + desc = "Careful, cold ice, do not chew." + icon_state = "coffee" + New() + ..() + reagents.add_reagent("ice", 30) + src.pixel_x = rand(-10.0, 10) + src.pixel_y = rand(-10.0, 10) + +/obj/item/weapon/reagent_containers/food/drinks/h_chocolate + name = "Dutch Hot Coco" + desc = "Made in Space South America." + icon_state = "tea" + item_state = "coffee" + New() + ..() + reagents.add_reagent("hot_coco", 30) + src.pixel_x = rand(-10.0, 10) + src.pixel_y = rand(-10.0, 10) + +/obj/item/weapon/reagent_containers/food/drinks/dry_ramen + name = "Cup Ramen" + desc = "Just add 10ml water, self heats! A taste that reminds you of your school years." + icon_state = "ramen" + New() + ..() + reagents.add_reagent("dry_ramen", 30) + src.pixel_x = rand(-10.0, 10) + src.pixel_y = rand(-10.0, 10) + +/obj/item/weapon/reagent_containers/food/drinks/beer + name = "Space Beer" + desc = "Beer. In space." + icon_state = "beer" + New() + ..() + reagents.add_reagent("beer", 30) + src.pixel_x = rand(-10.0, 10) + src.pixel_y = rand(-10.0, 10) + +/obj/item/weapon/reagent_containers/food/drinks/ale + name = "Magm-Ale" + desc = "A true dorf's drink of choice." + icon_state = "alebottle" + item_state = "beer" + New() + ..() + reagents.add_reagent("ale", 30) + src.pixel_x = rand(-10.0, 10) + src.pixel_y = rand(-10.0, 10) + +/obj/item/weapon/reagent_containers/food/drinks/sillycup + name = "Paper Cup" + desc = "A paper water cup." + icon_state = "water_cup_e" + possible_transfer_amounts = null + volume = 10 + New() + ..() + src.pixel_x = rand(-10.0, 10) + src.pixel_y = rand(-10.0, 10) + on_reagent_change() + if(reagents.total_volume) + icon_state = "water_cup" + else + icon_state = "water_cup_e" + +//////////////////////////drinkingglass and shaker// +//Note by Darem: This code handles the mixing of drinks. New drinks go in three places: In Chemistry-Reagents.dm (for the drink +// itself), in Chemistry-Recipes.dm (for the reaction that changes the components into the drink), and here (for the drinking glass +// icon states. + +/obj/item/weapon/reagent_containers/food/drinks/shaker + name = "Shaker" + desc = "A metal shaker to mix drinks in." + icon_state = "shaker" + amount_per_transfer_from_this = 10 + volume = 100 + +/obj/item/weapon/reagent_containers/food/drinks/flask + name = "Captain's Flask" + desc = "A metal flask belonging to the captain" + icon_state = "flask" + volume = 60 + +/obj/item/weapon/reagent_containers/food/drinks/britcup + name = "cup" + desc = "A cup with the british flag emblazoned on it." + icon_state = "britcup" + volume = 30 + +//////////////////////////soda_cans// +//These are in their own group to be used as IED's in /obj/item/weapon/grenade/ghettobomb.dm + +/obj/item/weapon/reagent_containers/food/drinks/soda_cans/attack(mob/M, mob/user) + if(M == user && !src.reagents.total_volume && user.a_intent == "harm" && user.zone_sel.selecting == "head") + user.visible_message("[user] crushes the can of [src] on \his forehead!", "You crush the can of [src] on your forehead!") + playsound(user.loc,'sound/weapons/pierce.ogg', rand(10,50), 1) + var/obj/item/trash/can/crushed_can = new /obj/item/trash/can(user.loc) + crushed_can.icon_state = icon_state + qdel(src) + ..() + +/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola + name = "Space Cola" + desc = "Cola. in space." + icon_state = "cola" + New() + ..() + reagents.add_reagent("cola", 30) + src.pixel_x = rand(-10.0, 10) + src.pixel_y = rand(-10.0, 10) + +/obj/item/weapon/reagent_containers/food/drinks/soda_cans/tonic + name = "T-Borg's Tonic Water" + desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away." + icon_state = "tonic" + New() + ..() + reagents.add_reagent("tonic", 50) + +/obj/item/weapon/reagent_containers/food/drinks/soda_cans/sodawater + name = "Soda Water" + desc = "A can of soda water. Why not make a scotch and soda?" + icon_state = "sodawater" + New() + ..() + reagents.add_reagent("sodawater", 50) + +/obj/item/weapon/reagent_containers/food/drinks/soda_cans/lemon_lime + name = "Orange Soda" + desc = "You wanted ORANGE. It gave you Lemon Lime." + icon_state = "lemon-lime" + New() + ..() + name = "Lemon-Lime Soda" + reagents.add_reagent("lemon_lime", 30) + src.pixel_x = rand(-10.0, 10) + src.pixel_y = rand(-10.0, 10) + +/obj/item/weapon/reagent_containers/food/drinks/soda_cans/space_up + name = "Space-Up" + desc = "Tastes like a hull breach in your mouth." + icon_state = "space-up" + New() + ..() + reagents.add_reagent("space_up", 30) + src.pixel_x = rand(-10.0, 10) + src.pixel_y = rand(-10.0, 10) + +/obj/item/weapon/reagent_containers/food/drinks/soda_cans/starkist + name = "Star-kist" + desc = "The taste of a star in liquid form. And, a bit of tuna...?" + icon_state = "starkist" + New() + ..() + reagents.add_reagent("cola", 15) + reagents.add_reagent("orangejuice", 15) + src.pixel_x = rand(-10.0, 10) + src.pixel_y = rand(-10.0, 10) + +/obj/item/weapon/reagent_containers/food/drinks/soda_cans/space_mountain_wind + name = "Space Mountain Wind" + desc = "Blows right through you like a space wind." + icon_state = "space_mountain_wind" + New() + ..() + reagents.add_reagent("spacemountainwind", 30) + src.pixel_x = rand(-10.0, 10) + src.pixel_y = rand(-10.0, 10) + +/obj/item/weapon/reagent_containers/food/drinks/soda_cans/thirteenloko + name = "Thirteen Loko" + desc = "The CMO has advised crew members that consumption of Thirteen Loko may result in seizures, blindness, drunkeness, or even death. Please Drink Responsably." + icon_state = "thirteen_loko" + New() + ..() + reagents.add_reagent("thirteenloko", 30) + src.pixel_x = rand(-10.0, 10) + src.pixel_y = rand(-10.0, 10) + +/obj/item/weapon/reagent_containers/food/drinks/soda_cans/dr_gibb + name = "Dr. Gibb" + desc = "A delicious mixture of 42 different flavors." + icon_state = "dr_gibb" + New() + ..() + reagents.add_reagent("dr_gibb", 30) + src.pixel_x = rand(-10.0, 10) + src.pixel_y = rand(-10.0, 10) + diff --git a/code/modules/reagents/reagent_containers/food/drinks/bottle.dm b/code/modules/food&drinks/food/drinks/bottle.dm similarity index 97% rename from code/modules/reagents/reagent_containers/food/drinks/bottle.dm rename to code/modules/food&drinks/food/drinks/bottle.dm index e2fa2916623..cd9bd1a89f0 100644 --- a/code/modules/reagents/reagent_containers/food/drinks/bottle.dm +++ b/code/modules/food&drinks/food/drinks/bottle.dm @@ -1,273 +1,273 @@ - - -///////////////////////////////////////////////Alchohol bottles! -Agouri ////////////////////////// -//Functionally identical to regular drinks. The only difference is that the default bottle size is 100. - Darem -//Bottles now weaken and break when smashed on people's heads. - Giacom - -/obj/item/weapon/reagent_containers/food/drinks/bottle - amount_per_transfer_from_this = 10 - volume = 100 - item_state = "broken_beer" //Generic held-item sprite until unique ones are made. - var/const/duration = 13 //Directly relates to the 'weaken' duration. Lowered by armor (i.e. helmets) - var/isGlass = 1 //Whether the 'bottle' is made of glass or not so that milk cartons dont shatter when someone gets hit by it - -/obj/item/weapon/reagent_containers/food/drinks/bottle/proc/smash(mob/living/target as mob, mob/living/user as mob) - - //Creates a shattering noise and replaces the bottle with a broken_bottle - user.drop_item() - var/obj/item/weapon/broken_bottle/B = new /obj/item/weapon/broken_bottle(user.loc) - user.put_in_active_hand(B) - if(prob(33)) - new/obj/item/weapon/shard(target.loc) // Create a glass shard at the target's location! - B.icon_state = src.icon_state - - var/icon/I = new('icons/obj/drinks.dmi', src.icon_state) - I.Blend(B.broken_outline, ICON_OVERLAY, rand(5), 1) - I.SwapColor(rgb(255, 0, 220, 255), rgb(0, 0, 0, 0)) - B.icon = I - - playsound(src, "shatter", 70, 1) - user.put_in_active_hand(B) - src.transfer_fingerprints_to(B) - - qdel(src) - -/obj/item/weapon/reagent_containers/food/drinks/bottle/attack(mob/living/target as mob, mob/living/user as mob) - - if(!target) - return - - if(user.a_intent != "harm" || !isGlass) - return ..() - - - force = 15 //Smashing bottles over someoen's head hurts. - - var/obj/item/organ/limb/affecting = user.zone_sel.selecting //Find what the player is aiming at - - var/armor_block = 0 //Get the target's armour values for normal attack damage. - var/armor_duration = 0 //The more force the bottle has, the longer the duration. - - //Calculating duration and calculating damage. - if(ishuman(target)) - - var/mob/living/carbon/human/H = target - var/headarmor = 0 // Target's head armour - armor_block = H.run_armor_check(affecting, "melee") // For normal attack damage - - //If they have a hat/helmet and the user is targeting their head. - if(istype(H.head, /obj/item/clothing/head) && affecting == "head") - - // If their head has an armour value, assign headarmor to it, else give it 0. - if(H.head.armor["melee"]) - headarmor = H.head.armor["melee"] - else - headarmor = 0 - else - headarmor = 0 - - //Calculate the weakening duration for the target. - armor_duration = (duration - headarmor) + force - - else - //Only humans can have armour, right? - armor_block = target.run_armor_check(affecting, "melee") - if(affecting == "head") - armor_duration = duration + force - armor_duration /= 10 - - //Apply the damage! - target.apply_damage(force, BRUTE, affecting, armor_block) - - // You are going to knock someone out for longer if they are not wearing a helmet. - if(affecting == "head" && istype(target, /mob/living/carbon/)) - - //Display an attack message. - for(var/mob/O in viewers(user, null)) - if(target != user) O.show_message(text("\red [target] has been hit over the head with a bottle of [src.name], by [user]!"), 1) - else O.show_message(text("\red [target] hit himself with a bottle of [src.name] on the head!"), 1) - //Weaken the target for the duration that we calculated and divide it by 5. - if(armor_duration) - target.apply_effect(min(armor_duration, 10) , WEAKEN) // Never weaken more than a flash! - - else - //Default attack message and don't weaken the target. - for(var/mob/O in viewers(user, null)) - if(target != user) O.show_message(text("[target] has been attacked with a bottle of [src.name], by [user]!"), 1) - else O.show_message(text("[target] has attacked himself with a bottle of [src.name]!"), 1) - - //Attack logs - add_logs(user, target, "attacked", object="bottle") - - //The reagents in the bottle splash all over the target, thanks for the idea Nodrak - if(src.reagents) - for(var/mob/O in viewers(user, null)) - O.show_message(text("\blue The contents of the [src] splashes all over [target]!"), 1) - src.reagents.reaction(target, TOUCH) - - //Finally, smash the bottle. This kills (del) the bottle. - src.smash(target, user) - - return - -//Keeping this here for now, I'll ask if I should keep it here. -/obj/item/weapon/broken_bottle - - name = "Broken Bottle" - desc = "A bottle with a sharp broken bottom." - icon = 'icons/obj/drinks.dmi' - icon_state = "broken_bottle" - force = 9.0 - throwforce = 5.0 - throw_speed = 3 - throw_range = 5 - item_state = "beer" - hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("stabbed", "slashed", "attacked") - var/icon/broken_outline = icon('icons/obj/drinks.dmi', "broken") - -/obj/item/weapon/reagent_containers/food/drinks/bottle/gin - name = "Griffeater Gin" - desc = "A bottle of high quality gin, produced in the New London Space Station." - icon_state = "ginbottle" - New() - ..() - reagents.add_reagent("gin", 100) - -/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey - name = "Uncle Git's Special Reserve" - desc = "A premium single-malt whiskey, gently matured inside the tunnels of a nuclear shelter. TUNNEL WHISKEY RULES." - icon_state = "whiskeybottle" - New() - ..() - reagents.add_reagent("whiskey", 100) - -/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka - name = "Tunguska Triple Distilled" - desc = "Aah, vodka. Prime choice of drink AND fuel by Russians worldwide." - icon_state = "vodkabottle" - New() - ..() - reagents.add_reagent("vodka", 100) - -/obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla - name = "Caccavo Guaranteed Quality Tequilla" - desc = "Made from premium petroleum distillates, pure thalidomide and other fine quality ingredients!" - icon_state = "tequillabottle" - New() - ..() - reagents.add_reagent("tequilla", 100) - -/obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing - name = "Bottle of Nothing" - desc = "A bottle filled with nothing" - icon_state = "bottleofnothing" - New() - ..() - reagents.add_reagent("nothing", 100) - -/obj/item/weapon/reagent_containers/food/drinks/bottle/patron - name = "Wrapp Artiste Patron" - desc = "Silver laced tequilla, served in space night clubs across the galaxy." - icon_state = "patronbottle" - New() - ..() - reagents.add_reagent("patron", 100) - -/obj/item/weapon/reagent_containers/food/drinks/bottle/rum - name = "Captain Pete's Cuban Spiced Rum" - desc = "This isn't just rum, oh no. It's practically GRIFF in a bottle." - icon_state = "rumbottle" - New() - ..() - reagents.add_reagent("rum", 100) - -/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater - name = "Flask of Holy Water" - desc = "A flask of the chaplain's holy water." - icon_state = "holyflask" - New() - ..() - reagents.add_reagent("holywater", 100) - -/obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth - name = "Goldeneye Vermouth" - desc = "Sweet, sweet dryness~" - icon_state = "vermouthbottle" - New() - ..() - reagents.add_reagent("vermouth", 100) - -/obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua - name = "Robert Robust's Coffee Liqueur" - desc = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936, HONK" - icon_state = "kahluabottle" - New() - ..() - reagents.add_reagent("kahlua", 100) - -/obj/item/weapon/reagent_containers/food/drinks/bottle/goldschlager - name = "College Girl Goldschlager" - desc = "Because they are the only ones who will drink 100 proof cinnamon schnapps." - icon_state = "goldschlagerbottle" - New() - ..() - reagents.add_reagent("goldschlager", 100) - -/obj/item/weapon/reagent_containers/food/drinks/bottle/cognac - name = "Chateau De Baton Premium Cognac" - desc = "A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. You might as well not scream 'SHITCURITY' this time." - icon_state = "cognacbottle" - New() - ..() - reagents.add_reagent("cognac", 100) - -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine - name = "Doublebeard Bearded Special Wine" - desc = "A faint aura of unease and asspainery surrounds the bottle." - icon_state = "winebottle" - New() - ..() - reagents.add_reagent("wine", 100) - -//////////////////////////JUICES AND STUFF /////////////////////// - -/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice - name = "Orange Juice" - desc = "Full of vitamins and deliciousness!" - icon_state = "orangejuice" - item_state = "carton" - isGlass = 0 - New() - ..() - reagents.add_reagent("orangejuice", 100) - -/obj/item/weapon/reagent_containers/food/drinks/bottle/cream - name = "Milk Cream" - desc = "It's cream. Made from milk. What else did you think you'd find in there?" - icon_state = "cream" - item_state = "carton" - isGlass = 0 - New() - ..() - reagents.add_reagent("cream", 100) - -/obj/item/weapon/reagent_containers/food/drinks/bottle/tomatojuice - name = "Tomato Juice" - desc = "Well, at least it LOOKS like tomato juice. You can't tell with all that redness." - icon_state = "tomatojuice" - item_state = "carton" - isGlass = 0 - New() - ..() - reagents.add_reagent("tomatojuice", 100) - -/obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice - name = "Lime Juice" - desc = "Sweet-sour goodness." - icon_state = "limejuice" - item_state = "carton" - isGlass = 0 - New() - ..() - reagents.add_reagent("limejuice", 100) + + +///////////////////////////////////////////////Alchohol bottles! -Agouri ////////////////////////// +//Functionally identical to regular drinks. The only difference is that the default bottle size is 100. - Darem +//Bottles now weaken and break when smashed on people's heads. - Giacom + +/obj/item/weapon/reagent_containers/food/drinks/bottle + amount_per_transfer_from_this = 10 + volume = 100 + item_state = "broken_beer" //Generic held-item sprite until unique ones are made. + var/const/duration = 13 //Directly relates to the 'weaken' duration. Lowered by armor (i.e. helmets) + var/isGlass = 1 //Whether the 'bottle' is made of glass or not so that milk cartons dont shatter when someone gets hit by it + +/obj/item/weapon/reagent_containers/food/drinks/bottle/proc/smash(mob/living/target as mob, mob/living/user as mob) + + //Creates a shattering noise and replaces the bottle with a broken_bottle + user.drop_item() + var/obj/item/weapon/broken_bottle/B = new /obj/item/weapon/broken_bottle(user.loc) + user.put_in_active_hand(B) + if(prob(33)) + new/obj/item/weapon/shard(target.loc) // Create a glass shard at the target's location! + B.icon_state = src.icon_state + + var/icon/I = new('icons/obj/drinks.dmi', src.icon_state) + I.Blend(B.broken_outline, ICON_OVERLAY, rand(5), 1) + I.SwapColor(rgb(255, 0, 220, 255), rgb(0, 0, 0, 0)) + B.icon = I + + playsound(src, "shatter", 70, 1) + user.put_in_active_hand(B) + src.transfer_fingerprints_to(B) + + qdel(src) + +/obj/item/weapon/reagent_containers/food/drinks/bottle/attack(mob/living/target as mob, mob/living/user as mob) + + if(!target) + return + + if(user.a_intent != "harm" || !isGlass) + return ..() + + + force = 15 //Smashing bottles over someoen's head hurts. + + var/obj/item/organ/limb/affecting = user.zone_sel.selecting //Find what the player is aiming at + + var/armor_block = 0 //Get the target's armour values for normal attack damage. + var/armor_duration = 0 //The more force the bottle has, the longer the duration. + + //Calculating duration and calculating damage. + if(ishuman(target)) + + var/mob/living/carbon/human/H = target + var/headarmor = 0 // Target's head armour + armor_block = H.run_armor_check(affecting, "melee") // For normal attack damage + + //If they have a hat/helmet and the user is targeting their head. + if(istype(H.head, /obj/item/clothing/head) && affecting == "head") + + // If their head has an armour value, assign headarmor to it, else give it 0. + if(H.head.armor["melee"]) + headarmor = H.head.armor["melee"] + else + headarmor = 0 + else + headarmor = 0 + + //Calculate the weakening duration for the target. + armor_duration = (duration - headarmor) + force + + else + //Only humans can have armour, right? + armor_block = target.run_armor_check(affecting, "melee") + if(affecting == "head") + armor_duration = duration + force + armor_duration /= 10 + + //Apply the damage! + target.apply_damage(force, BRUTE, affecting, armor_block) + + // You are going to knock someone out for longer if they are not wearing a helmet. + if(affecting == "head" && istype(target, /mob/living/carbon/)) + + //Display an attack message. + for(var/mob/O in viewers(user, null)) + if(target != user) O.show_message(text("\red [target] has been hit over the head with a bottle of [src.name], by [user]!"), 1) + else O.show_message(text("\red [target] hit himself with a bottle of [src.name] on the head!"), 1) + //Weaken the target for the duration that we calculated and divide it by 5. + if(armor_duration) + target.apply_effect(min(armor_duration, 10) , WEAKEN) // Never weaken more than a flash! + + else + //Default attack message and don't weaken the target. + for(var/mob/O in viewers(user, null)) + if(target != user) O.show_message(text("[target] has been attacked with a bottle of [src.name], by [user]!"), 1) + else O.show_message(text("[target] has attacked himself with a bottle of [src.name]!"), 1) + + //Attack logs + add_logs(user, target, "attacked", object="bottle") + + //The reagents in the bottle splash all over the target, thanks for the idea Nodrak + if(src.reagents) + for(var/mob/O in viewers(user, null)) + O.show_message(text("\blue The contents of the [src] splashes all over [target]!"), 1) + src.reagents.reaction(target, TOUCH) + + //Finally, smash the bottle. This kills (del) the bottle. + src.smash(target, user) + + return + +//Keeping this here for now, I'll ask if I should keep it here. +/obj/item/weapon/broken_bottle + + name = "Broken Bottle" + desc = "A bottle with a sharp broken bottom." + icon = 'icons/obj/drinks.dmi' + icon_state = "broken_bottle" + force = 9.0 + throwforce = 5.0 + throw_speed = 3 + throw_range = 5 + item_state = "beer" + hitsound = 'sound/weapons/bladeslice.ogg' + attack_verb = list("stabbed", "slashed", "attacked") + var/icon/broken_outline = icon('icons/obj/drinks.dmi', "broken") + +/obj/item/weapon/reagent_containers/food/drinks/bottle/gin + name = "Griffeater Gin" + desc = "A bottle of high quality gin, produced in the New London Space Station." + icon_state = "ginbottle" + New() + ..() + reagents.add_reagent("gin", 100) + +/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey + name = "Uncle Git's Special Reserve" + desc = "A premium single-malt whiskey, gently matured inside the tunnels of a nuclear shelter. TUNNEL WHISKEY RULES." + icon_state = "whiskeybottle" + New() + ..() + reagents.add_reagent("whiskey", 100) + +/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka + name = "Tunguska Triple Distilled" + desc = "Aah, vodka. Prime choice of drink AND fuel by Russians worldwide." + icon_state = "vodkabottle" + New() + ..() + reagents.add_reagent("vodka", 100) + +/obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla + name = "Caccavo Guaranteed Quality Tequilla" + desc = "Made from premium petroleum distillates, pure thalidomide and other fine quality ingredients!" + icon_state = "tequillabottle" + New() + ..() + reagents.add_reagent("tequilla", 100) + +/obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing + name = "Bottle of Nothing" + desc = "A bottle filled with nothing" + icon_state = "bottleofnothing" + New() + ..() + reagents.add_reagent("nothing", 100) + +/obj/item/weapon/reagent_containers/food/drinks/bottle/patron + name = "Wrapp Artiste Patron" + desc = "Silver laced tequilla, served in space night clubs across the galaxy." + icon_state = "patronbottle" + New() + ..() + reagents.add_reagent("patron", 100) + +/obj/item/weapon/reagent_containers/food/drinks/bottle/rum + name = "Captain Pete's Cuban Spiced Rum" + desc = "This isn't just rum, oh no. It's practically GRIFF in a bottle." + icon_state = "rumbottle" + New() + ..() + reagents.add_reagent("rum", 100) + +/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater + name = "Flask of Holy Water" + desc = "A flask of the chaplain's holy water." + icon_state = "holyflask" + New() + ..() + reagents.add_reagent("holywater", 100) + +/obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth + name = "Goldeneye Vermouth" + desc = "Sweet, sweet dryness~" + icon_state = "vermouthbottle" + New() + ..() + reagents.add_reagent("vermouth", 100) + +/obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua + name = "Robert Robust's Coffee Liqueur" + desc = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936, HONK" + icon_state = "kahluabottle" + New() + ..() + reagents.add_reagent("kahlua", 100) + +/obj/item/weapon/reagent_containers/food/drinks/bottle/goldschlager + name = "College Girl Goldschlager" + desc = "Because they are the only ones who will drink 100 proof cinnamon schnapps." + icon_state = "goldschlagerbottle" + New() + ..() + reagents.add_reagent("goldschlager", 100) + +/obj/item/weapon/reagent_containers/food/drinks/bottle/cognac + name = "Chateau De Baton Premium Cognac" + desc = "A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. You might as well not scream 'SHITCURITY' this time." + icon_state = "cognacbottle" + New() + ..() + reagents.add_reagent("cognac", 100) + +/obj/item/weapon/reagent_containers/food/drinks/bottle/wine + name = "Doublebeard Bearded Special Wine" + desc = "A faint aura of unease and asspainery surrounds the bottle." + icon_state = "winebottle" + New() + ..() + reagents.add_reagent("wine", 100) + +//////////////////////////JUICES AND STUFF /////////////////////// + +/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice + name = "Orange Juice" + desc = "Full of vitamins and deliciousness!" + icon_state = "orangejuice" + item_state = "carton" + isGlass = 0 + New() + ..() + reagents.add_reagent("orangejuice", 100) + +/obj/item/weapon/reagent_containers/food/drinks/bottle/cream + name = "Milk Cream" + desc = "It's cream. Made from milk. What else did you think you'd find in there?" + icon_state = "cream" + item_state = "carton" + isGlass = 0 + New() + ..() + reagents.add_reagent("cream", 100) + +/obj/item/weapon/reagent_containers/food/drinks/bottle/tomatojuice + name = "Tomato Juice" + desc = "Well, at least it LOOKS like tomato juice. You can't tell with all that redness." + icon_state = "tomatojuice" + item_state = "carton" + isGlass = 0 + New() + ..() + reagents.add_reagent("tomatojuice", 100) + +/obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice + name = "Lime Juice" + desc = "Sweet-sour goodness." + icon_state = "limejuice" + item_state = "carton" + isGlass = 0 + New() + ..() + reagents.add_reagent("limejuice", 100) diff --git a/code/modules/reagents/reagent_containers/food/drinks/bottle/robot.dm b/code/modules/food&drinks/food/drinks/bottle/robot.dm similarity index 100% rename from code/modules/reagents/reagent_containers/food/drinks/bottle/robot.dm rename to code/modules/food&drinks/food/drinks/bottle/robot.dm diff --git a/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm b/code/modules/food&drinks/food/drinks/drinkingglass.dm similarity index 97% rename from code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm rename to code/modules/food&drinks/food/drinks/drinkingglass.dm index 41d4af1065a..353cb8e6f9f 100644 --- a/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm +++ b/code/modules/food&drinks/food/drinks/drinkingglass.dm @@ -1,466 +1,466 @@ - - -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass - name = "glass" - desc = "Your standard drinking glass." - icon_state = "glass_empty" - amount_per_transfer_from_this = 10 - volume = 50 - - on_reagent_change() - if (reagents.reagent_list.len > 0) - switch(reagents.get_master_reagent_id()) - if("beer") - icon_state = "beerglass" - name = "glass of beer" - desc = "A freezing pint of beer" - if("beer2") - icon_state = "beerglass" - name = "glass of beer" - desc = "A freezing pint of beer" - if("greenbeer") - icon_state = "greenbeerglass" - name = "glass of green beer" - desc = "A freezing pint of green beer. Festive." - if("ale") - icon_state = "aleglass" - name = "glass of ale" - desc = "A freezing pint of delicious Ale" - if("milk") - icon_state = "glass_white" - name = "glass of milk" - desc = "White and nutritious goodness!" - if("cream") - icon_state = "glass_white" - name = "glass of cream" - desc = "Ewwww..." - if("hot_coco") - icon_state = "chocolateglass" - name = "glass of chocolate" - desc = "Tasty" - if("lemonjuice") - icon_state = "lemonglass" - name = "glass of lemon juice" - desc = "Sour..." - if("holywater") - icon_state = "glass_clear" - name = "glass of Holy Water" - desc = "A glass of holy water." - if("potato") - icon_state = "glass_brown" - name = "glass of potato juice" - desc = "Bleh..." - if("watermelonjuice") - icon_state = "glass_red" - name = "glass of watermelon juice" - desc = "A glass of watermelon juice." - if("cola") - icon_state = "glass_brown" - name = "glass of space Cola" - desc = "A glass of refreshing Space Cola" - if("nuka_cola") - icon_state = "nuka_colaglass" - name = "Nuka Cola" - desc = "Don't cry, Don't raise your eye, It's only nuclear wasteland" - if("orangejuice") - icon_state = "glass_orange" - name = "glass of orange juice" - desc = "Vitamins! Yay!" - if("tomatojuice") - icon_state = "glass_red" - name = "glass of tomato juice" - desc = "Are you sure this is tomato juice?" - if("blood") - icon_state = "glass_red" - name = "glass of tomato juice" - desc = "Are you sure this is tomato juice?" - if("limejuice") - icon_state = "glass_green" - name = "glass of lime juice" - desc = "A glass of sweet-sour lime juice." - if("whiskey") - icon_state = "whiskeyglass" - name = "glass of whiskey" - desc = "The silky, smokey whiskey goodness inside the glass makes the drink look very classy." - if("gin") - icon_state = "ginvodkaglass" - name = "glass of gin" - desc = "A crystal clear glass of Griffeater gin." - if("vodka") - icon_state = "ginvodkaglass" - name = "glass of vodka" - desc = "The glass contain wodka. Xynta." - if("goldschlager") - icon_state = "ginvodkaglass" - name = "glass of Goldschlager" - desc = "100 proof that teen girls will drink anything with gold in it." - if("wine") - icon_state = "wineglass" - name = "glass of wine" - desc = "A very classy looking drink." - if("cognac") - icon_state = "cognacglass" - name = "glass of cognac" - desc = "Damn, you feel like some kind of French aristocrat just by holding this." - if ("kahlua") - icon_state = "kahluaglass" - name = "glass of RR Coffee Liquor" - desc = "DAMN, THIS THING LOOKS ROBUST" - if("vermouth") - icon_state = "vermouthglass" - name = "glass of vermouth" - desc = "You wonder why you're even drinking this straight." - if("tequilla") - icon_state = "tequillaglass" - name = "glass of tequilla" - desc = "Now all that's missing is the weird colored shades!" - if("patron") - icon_state = "patronglass" - name = "glass of patron" - desc = "Drinking patron in the bar, with all the subpar ladies." - if("rum") - icon_state = "rumglass" - name = "glass of rum" - desc = "Now you want to Pray for a pirate suit, don't you?" - if("gintonic") - icon_state = "gintonicglass" - name = "Gin and Tonic" - desc = "A mild but still great cocktail. Drink up, like a true Englishman." - if("whiskeycola") - icon_state = "whiskeycolaglass" - name = "Whiskey Cola" - desc = "An innocent-looking mixture of cola and Whiskey. Delicious." - if("whiterussian") - icon_state = "whiterussianglass" - name = "White Russian" - desc = "A very nice looking drink. But that's just, like, your opinion, man." - if("screwdrivercocktail") - icon_state = "screwdriverglass" - name = "Screwdriver" - desc = "A simple, yet superb mixture of Vodka and orange juice. Just the thing for the tired engineer." - if("bloodymary") - icon_state = "bloodymaryglass" - name = "Bloody Mary" - desc = "Tomato juice, mixed with Vodka and a lil' bit of lime. Tastes like liquid murder." - if("martini") - icon_state = "martiniglass" - name = "Classic Martini" - desc = "Damn, the bartender even stirred it, not shook it." - if("vodkamartini") - icon_state = "martiniglass" - name = "Vodka martini" - desc ="A bastardisation of the classic martini. Still great." - if("gargleblaster") - icon_state = "gargleblasterglass" - name = "Pan-Galactic Gargle Blaster" - desc = "Does... does this mean that Arthur and Ford are on the station? Oh joy." - if("bravebull") - icon_state = "bravebullglass" - name = "Brave Bull" - desc = "Tequilla and Coffee liquor, brought together in a mouthwatering mixture. Drink up." - if("tequillasunrise") - icon_state = "tequillasunriseglass" - name = "Tequilla Sunrise" - desc = "Oh great, now you feel nostalgic about sunrises back on Terra..." - if("toxinsspecial") - icon_state = "toxinsspecialglass" - name = "Toxins Special" - desc = "Whoah, this thing is on FIRE" - if("beepskysmash") - icon_state = "beepskysmashglass" - name = "Beepsky Smash" - desc = "Heavy, hot and strong. Just like the Iron fist of the LAW." - if("doctorsdelight") - icon_state = "doctorsdelightglass" - name = "Doctor's Delight" - desc = "A healthy mixture of juices, guaranteed to keep you healthy until the next toolboxing takes place." - if("manlydorf") - icon_state = "manlydorfglass" - name = "The Manly Dorf" - desc = "A manly concotion made from Ale and Beer. Intended for true men only." - if("irishcream") - icon_state = "irishcreamglass" - name = "Irish Cream" - desc = "It's cream, mixed with whiskey. What else would you expect from the Irish?" - if("cubalibre") - icon_state = "cubalibreglass" - name = "Cuba Libre" - desc = "A classic mix of rum and cola." - if("b52") - icon_state = "b52glass" - name = "B-52" - desc = "Kahlua, Irish Cream, and cognac. You will get bombed." - if("atomicbomb") - icon_state = "atomicbombglass" - name = "Atomic Bomb" - desc = "Nanotrasen cannot take legal responsibility for your actions after imbibing." - if("longislandicedtea") - icon_state = "longislandicedteaglass" - name = "Long Island Iced Tea" - desc = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only." - if("threemileisland") - icon_state = "threemileislandglass" - name = "Three Mile Island Ice Tea" - desc = "A glass of this is sure to prevent a meltdown." - if("margarita") - icon_state = "margaritaglass" - name = "Margarita" - desc = "On the rocks with salt on the rim. Arriba~!" - if("blackrussian") - icon_state = "blackrussianglass" - name = "Black Russian" - desc = "For the lactose-intolerant. Still as classy as a White Russian." - if("vodkatonic") - icon_state = "vodkatonicglass" - name = "Vodka and Tonic" - desc = "For when a gin and tonic isn't Russian enough." - if("manhattan") - icon_state = "manhattanglass" - name = "Manhattan" - desc = "The Detective's undercover drink of choice. He never could stomach gin..." - if("manhattan_proj") - icon_state = "proj_manhattanglass" - name = "Manhattan Project" - desc = "A scientist drink of choice, for thinking how to blow up the station." - if("ginfizz") - icon_state = "ginfizzglass" - name = "Gin Fizz" - desc = "Refreshingly lemony, deliciously dry." - if("irishcoffee") - icon_state = "irishcoffeeglass" - name = "Irish Coffee" - desc = "Coffee and alcohol. More fun than a Mimosa to drink in the morning." - if("hooch") - icon_state = "glass_brown2" - name = "Hooch" - desc = "You've really hit rock bottom now... your liver packed its bags and left last night." - if("whiskeysoda") - icon_state = "whiskeysodaglass2" - name = "Whiskey Soda" - desc = "Ultimate refreshment." - if("tonic") - icon_state = "glass_clear" - name = "Glass of Tonic Water" - desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away." - if("sodawater") - icon_state = "glass_clear" - name = "Glass of Soda Water" - desc = "Soda water. Why not make a scotch and soda?" - if("water") - icon_state = "glass_clear" - name = "Glass of Water" - desc = "The father of all refreshments." - if("spacemountainwind") - icon_state = "Space_mountain_wind_glass" - name = "Glass of Space Mountain Wind" - desc = "Space Mountain Wind. As you know, there are no mountains in space, only wind." - if("thirteenloko") - icon_state = "thirteen_loko_glass" - name = "Glass of Thirteen Loko" - desc = "This is a glass of Thirteen Loko, it appears to be of the highest quality. The drink, not the glass" - if("dr_gibb") - icon_state = "dr_gibb_glass" - name = "Glass of Dr. Gibb" - desc = "Dr. Gibb. Not as dangerous as the name might imply." - if("space_up") - icon_state = "space-up_glass" - name = "Glass of Space-up" - desc = "Space-up. It helps keep your cool." - if("lemon_lime") - icon_state = "glass_yellow" - name = "Glass of Lemon-Lime" - desc = "You're pretty certain a real fruit has never actually touched this." - if("moonshine") - icon_state = "glass_clear" - name = "Moonshine" - desc = "You've really hit rock bottom now... your liver packed its bags and left last night." - if("soymilk") - icon_state = "glass_white" - name = "Glass of soy milk" - desc = "White and nutritious soy goodness!" - if("berryjuice") - icon_state = "berryjuice" - name = "Glass of berry juice" - desc = "Berry juice. Or maybe it's jam. Who cares?" - if("poisonberryjuice") - icon_state = "poisonberryjuice" - name = "Glass of berry juice" - desc = "Berry juice. Or maybe it's poison. Who cares?" - if("carrotjuice") - icon_state = "carrotjuice" - name = "Glass of carrot juice" - desc = "It is just like a carrot but without crunching." - if("banana") - icon_state = "banana" - name = "Glass of banana juice" - desc = "The raw essence of a banana. HONK" - if("bahama_mama") - icon_state = "bahama_mama" - name = "Bahama Mama" - desc = "Tropic cocktail" - if("singulo") - icon_state = "singulo" - name = "Singulo" - desc = "A blue-space beverage." - if("alliescocktail") - icon_state = "alliescocktail" - name = "Allies cocktail" - desc = "A drink made from your allies." - if("antifreeze") - icon_state = "antifreeze" - name = "Anti-freeze" - desc = "The ultimate refreshment." - if("barefoot") - icon_state = "b&p" - name = "Barefoot" - desc = "Barefoot and pregnant" - if("demonsblood") - icon_state = "demonsblood" - name = "Demons Blood" - desc = "Just looking at this thing makes the hair at the back of your neck stand up." - if("booger") - icon_state = "booger" - name = "Booger" - desc = "Ewww..." - if("snowwhite") - icon_state = "snowwhite" - name = "Snow White" - desc = "A cold refreshment." - if("aloe") - icon_state = "aloe" - name = "Aloe" - desc = "Very, very, very good." - if("andalusia") - icon_state = "andalusia" - name = "Andalusia" - desc = "A nice, strange named drink." - if("sbiten") - icon_state = "sbitenglass" - name = "Sbiten" - desc = "A spicy mix of Vodka and Spice. Very hot." - if("red_mead") - icon_state = "red_meadglass" - name = "Red Mead" - desc = "A True Vikings Beverage, though its color is strange." - if("mead") - icon_state = "meadglass" - name = "Mead" - desc = "A Vikings Beverage, though a cheap one." - if("iced_beer") - icon_state = "iced_beerglass" - name = "Iced Beer" - desc = "A beer so frosty, the air around it freezes." - if("grog") - icon_state = "grogglass" - name = "Grog" - desc = "A fine and cepa drink for Space." - if("soy_latte") - icon_state = "soy_latte" - name = "Soy Latte" - desc = "A nice and refrshing beverage while you are reading." - if("cafe_latte") - icon_state = "cafe_latte" - name = "Cafe Latte" - desc = "A nice, strong and refreshing beverage while you are reading." - if("acidspit") - icon_state = "acidspitglass" - name = "Acid Spit" - desc = "A drink from Nanotrasen. Made from live aliens." - if("amasec") - icon_state = "amasecglass" - name = "Amasec" - desc = "Always handy before COMBAT!!!" - if("neurotoxin") - icon_state = "neurotoxinglass" - name = "Neurotoxin" - desc = "A drink that is guaranteed to knock you silly." - if("hippiesdelight") - icon_state = "hippiesdelightglass" - name = "Hippie's Delight" - desc = "A drink enjoyed by people during the 1960's." - if("bananahonk") - icon_state = "bananahonkglass" - name = "Banana Honk" - desc = "A drink from Clown Heaven." - if("silencer") - icon_state = "silencerglass" - name = "Silencer" - desc = "A drink from mime Heaven." - if("nothing") - icon_state = "nothing" - name = "Nothing" - desc = "Absolutely nothing." - if("devilskiss") - icon_state = "devilskiss" - name = "Devils Kiss" - desc = "Creepy time!" - if("changelingsting") - icon_state = "changelingsting" - name = "Changeling Sting" - desc = "A stingy drink." - if("irishcarbomb") - icon_state = "irishcarbomb" - name = "Irish Car Bomb" - desc = "An irish car bomb." - if("syndicatebomb") - icon_state = "syndicatebomb" - name = "Syndicate Bomb" - desc = "A syndicate bomb." - if("erikasurprise") - icon_state = "erikasurprise" - name = "Erika Surprise" - desc = "The surprise is, it's green!" - if("driestmartini") - icon_state = "driestmartiniglass" - name = "Driest Martini" - desc = "Only for the experienced. You think you see sand floating in the glass." - if("ice") - icon_state = "iceglass" - name = "Glass of ice" - desc = "Generally, you're supposed to put something else in there too..." - if("icecoffee") - icon_state = "icedcoffeeglass" - name = "Iced Coffee" - desc = "A drink to perk you up and refresh you!" - if("icetea") - icon_state = "icedteaglass" - name = "Iced Tea" - desc = "All natural, antioxidant-rich flavour sensation." - if("coffee") - icon_state = "glass_brown" - name = "Glass of coffee" - desc = "Don't drop it, or you'll send scalding liquid and glass shards everywhere." - if("tea") - icon_state = "teaglass" - name = "Glass of tea" - desc = "Drinking it from here would not seem right." - if("bilk") - icon_state = "glass_brown" - name = "Glass of bilk" - desc = "A brew of milk and beer. For those alcoholics who fear osteoporosis." - if("fuel") - icon_state = "dr_gibb_glass" - name = "Glass of welder fuel" - desc = "Unless you are an industrial tool, this is probably not safe for consumption." - else - icon_state ="glass_brown" - name = "Glass of ..what?" - desc = "You can't really tell what this is." - else - icon_state = "glass_empty" - name = "Drinking glass" - desc = "Your standard drinking glass" - return - -// for /obj/machinery/vending/sovietsoda -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/soda - New() - ..() - reagents.add_reagent("sodawater", 50) - on_reagent_change() - -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/cola - New() - ..() - reagents.add_reagent("cola", 50) - on_reagent_change() + + +/obj/item/weapon/reagent_containers/food/drinks/drinkingglass + name = "glass" + desc = "Your standard drinking glass." + icon_state = "glass_empty" + amount_per_transfer_from_this = 10 + volume = 50 + + on_reagent_change() + if (reagents.reagent_list.len > 0) + switch(reagents.get_master_reagent_id()) + if("beer") + icon_state = "beerglass" + name = "glass of beer" + desc = "A freezing pint of beer" + if("beer2") + icon_state = "beerglass" + name = "glass of beer" + desc = "A freezing pint of beer" + if("greenbeer") + icon_state = "greenbeerglass" + name = "glass of green beer" + desc = "A freezing pint of green beer. Festive." + if("ale") + icon_state = "aleglass" + name = "glass of ale" + desc = "A freezing pint of delicious Ale" + if("milk") + icon_state = "glass_white" + name = "glass of milk" + desc = "White and nutritious goodness!" + if("cream") + icon_state = "glass_white" + name = "glass of cream" + desc = "Ewwww..." + if("hot_coco") + icon_state = "chocolateglass" + name = "glass of chocolate" + desc = "Tasty" + if("lemonjuice") + icon_state = "lemonglass" + name = "glass of lemon juice" + desc = "Sour..." + if("holywater") + icon_state = "glass_clear" + name = "glass of Holy Water" + desc = "A glass of holy water." + if("potato") + icon_state = "glass_brown" + name = "glass of potato juice" + desc = "Bleh..." + if("watermelonjuice") + icon_state = "glass_red" + name = "glass of watermelon juice" + desc = "A glass of watermelon juice." + if("cola") + icon_state = "glass_brown" + name = "glass of space Cola" + desc = "A glass of refreshing Space Cola" + if("nuka_cola") + icon_state = "nuka_colaglass" + name = "Nuka Cola" + desc = "Don't cry, Don't raise your eye, It's only nuclear wasteland" + if("orangejuice") + icon_state = "glass_orange" + name = "glass of orange juice" + desc = "Vitamins! Yay!" + if("tomatojuice") + icon_state = "glass_red" + name = "glass of tomato juice" + desc = "Are you sure this is tomato juice?" + if("blood") + icon_state = "glass_red" + name = "glass of tomato juice" + desc = "Are you sure this is tomato juice?" + if("limejuice") + icon_state = "glass_green" + name = "glass of lime juice" + desc = "A glass of sweet-sour lime juice." + if("whiskey") + icon_state = "whiskeyglass" + name = "glass of whiskey" + desc = "The silky, smokey whiskey goodness inside the glass makes the drink look very classy." + if("gin") + icon_state = "ginvodkaglass" + name = "glass of gin" + desc = "A crystal clear glass of Griffeater gin." + if("vodka") + icon_state = "ginvodkaglass" + name = "glass of vodka" + desc = "The glass contain wodka. Xynta." + if("goldschlager") + icon_state = "ginvodkaglass" + name = "glass of Goldschlager" + desc = "100 proof that teen girls will drink anything with gold in it." + if("wine") + icon_state = "wineglass" + name = "glass of wine" + desc = "A very classy looking drink." + if("cognac") + icon_state = "cognacglass" + name = "glass of cognac" + desc = "Damn, you feel like some kind of French aristocrat just by holding this." + if ("kahlua") + icon_state = "kahluaglass" + name = "glass of RR Coffee Liquor" + desc = "DAMN, THIS THING LOOKS ROBUST" + if("vermouth") + icon_state = "vermouthglass" + name = "glass of vermouth" + desc = "You wonder why you're even drinking this straight." + if("tequilla") + icon_state = "tequillaglass" + name = "glass of tequilla" + desc = "Now all that's missing is the weird colored shades!" + if("patron") + icon_state = "patronglass" + name = "glass of patron" + desc = "Drinking patron in the bar, with all the subpar ladies." + if("rum") + icon_state = "rumglass" + name = "glass of rum" + desc = "Now you want to Pray for a pirate suit, don't you?" + if("gintonic") + icon_state = "gintonicglass" + name = "Gin and Tonic" + desc = "A mild but still great cocktail. Drink up, like a true Englishman." + if("whiskeycola") + icon_state = "whiskeycolaglass" + name = "Whiskey Cola" + desc = "An innocent-looking mixture of cola and Whiskey. Delicious." + if("whiterussian") + icon_state = "whiterussianglass" + name = "White Russian" + desc = "A very nice looking drink. But that's just, like, your opinion, man." + if("screwdrivercocktail") + icon_state = "screwdriverglass" + name = "Screwdriver" + desc = "A simple, yet superb mixture of Vodka and orange juice. Just the thing for the tired engineer." + if("bloodymary") + icon_state = "bloodymaryglass" + name = "Bloody Mary" + desc = "Tomato juice, mixed with Vodka and a lil' bit of lime. Tastes like liquid murder." + if("martini") + icon_state = "martiniglass" + name = "Classic Martini" + desc = "Damn, the bartender even stirred it, not shook it." + if("vodkamartini") + icon_state = "martiniglass" + name = "Vodka martini" + desc ="A bastardisation of the classic martini. Still great." + if("gargleblaster") + icon_state = "gargleblasterglass" + name = "Pan-Galactic Gargle Blaster" + desc = "Does... does this mean that Arthur and Ford are on the station? Oh joy." + if("bravebull") + icon_state = "bravebullglass" + name = "Brave Bull" + desc = "Tequilla and Coffee liquor, brought together in a mouthwatering mixture. Drink up." + if("tequillasunrise") + icon_state = "tequillasunriseglass" + name = "Tequilla Sunrise" + desc = "Oh great, now you feel nostalgic about sunrises back on Terra..." + if("toxinsspecial") + icon_state = "toxinsspecialglass" + name = "Toxins Special" + desc = "Whoah, this thing is on FIRE" + if("beepskysmash") + icon_state = "beepskysmashglass" + name = "Beepsky Smash" + desc = "Heavy, hot and strong. Just like the Iron fist of the LAW." + if("doctorsdelight") + icon_state = "doctorsdelightglass" + name = "Doctor's Delight" + desc = "A healthy mixture of juices, guaranteed to keep you healthy until the next toolboxing takes place." + if("manlydorf") + icon_state = "manlydorfglass" + name = "The Manly Dorf" + desc = "A manly concotion made from Ale and Beer. Intended for true men only." + if("irishcream") + icon_state = "irishcreamglass" + name = "Irish Cream" + desc = "It's cream, mixed with whiskey. What else would you expect from the Irish?" + if("cubalibre") + icon_state = "cubalibreglass" + name = "Cuba Libre" + desc = "A classic mix of rum and cola." + if("b52") + icon_state = "b52glass" + name = "B-52" + desc = "Kahlua, Irish Cream, and cognac. You will get bombed." + if("atomicbomb") + icon_state = "atomicbombglass" + name = "Atomic Bomb" + desc = "Nanotrasen cannot take legal responsibility for your actions after imbibing." + if("longislandicedtea") + icon_state = "longislandicedteaglass" + name = "Long Island Iced Tea" + desc = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only." + if("threemileisland") + icon_state = "threemileislandglass" + name = "Three Mile Island Ice Tea" + desc = "A glass of this is sure to prevent a meltdown." + if("margarita") + icon_state = "margaritaglass" + name = "Margarita" + desc = "On the rocks with salt on the rim. Arriba~!" + if("blackrussian") + icon_state = "blackrussianglass" + name = "Black Russian" + desc = "For the lactose-intolerant. Still as classy as a White Russian." + if("vodkatonic") + icon_state = "vodkatonicglass" + name = "Vodka and Tonic" + desc = "For when a gin and tonic isn't Russian enough." + if("manhattan") + icon_state = "manhattanglass" + name = "Manhattan" + desc = "The Detective's undercover drink of choice. He never could stomach gin..." + if("manhattan_proj") + icon_state = "proj_manhattanglass" + name = "Manhattan Project" + desc = "A scientist drink of choice, for thinking how to blow up the station." + if("ginfizz") + icon_state = "ginfizzglass" + name = "Gin Fizz" + desc = "Refreshingly lemony, deliciously dry." + if("irishcoffee") + icon_state = "irishcoffeeglass" + name = "Irish Coffee" + desc = "Coffee and alcohol. More fun than a Mimosa to drink in the morning." + if("hooch") + icon_state = "glass_brown2" + name = "Hooch" + desc = "You've really hit rock bottom now... your liver packed its bags and left last night." + if("whiskeysoda") + icon_state = "whiskeysodaglass2" + name = "Whiskey Soda" + desc = "Ultimate refreshment." + if("tonic") + icon_state = "glass_clear" + name = "Glass of Tonic Water" + desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away." + if("sodawater") + icon_state = "glass_clear" + name = "Glass of Soda Water" + desc = "Soda water. Why not make a scotch and soda?" + if("water") + icon_state = "glass_clear" + name = "Glass of Water" + desc = "The father of all refreshments." + if("spacemountainwind") + icon_state = "Space_mountain_wind_glass" + name = "Glass of Space Mountain Wind" + desc = "Space Mountain Wind. As you know, there are no mountains in space, only wind." + if("thirteenloko") + icon_state = "thirteen_loko_glass" + name = "Glass of Thirteen Loko" + desc = "This is a glass of Thirteen Loko, it appears to be of the highest quality. The drink, not the glass" + if("dr_gibb") + icon_state = "dr_gibb_glass" + name = "Glass of Dr. Gibb" + desc = "Dr. Gibb. Not as dangerous as the name might imply." + if("space_up") + icon_state = "space-up_glass" + name = "Glass of Space-up" + desc = "Space-up. It helps keep your cool." + if("lemon_lime") + icon_state = "glass_yellow" + name = "Glass of Lemon-Lime" + desc = "You're pretty certain a real fruit has never actually touched this." + if("moonshine") + icon_state = "glass_clear" + name = "Moonshine" + desc = "You've really hit rock bottom now... your liver packed its bags and left last night." + if("soymilk") + icon_state = "glass_white" + name = "Glass of soy milk" + desc = "White and nutritious soy goodness!" + if("berryjuice") + icon_state = "berryjuice" + name = "Glass of berry juice" + desc = "Berry juice. Or maybe it's jam. Who cares?" + if("poisonberryjuice") + icon_state = "poisonberryjuice" + name = "Glass of berry juice" + desc = "Berry juice. Or maybe it's poison. Who cares?" + if("carrotjuice") + icon_state = "carrotjuice" + name = "Glass of carrot juice" + desc = "It is just like a carrot but without crunching." + if("banana") + icon_state = "banana" + name = "Glass of banana juice" + desc = "The raw essence of a banana. HONK" + if("bahama_mama") + icon_state = "bahama_mama" + name = "Bahama Mama" + desc = "Tropic cocktail" + if("singulo") + icon_state = "singulo" + name = "Singulo" + desc = "A blue-space beverage." + if("alliescocktail") + icon_state = "alliescocktail" + name = "Allies cocktail" + desc = "A drink made from your allies." + if("antifreeze") + icon_state = "antifreeze" + name = "Anti-freeze" + desc = "The ultimate refreshment." + if("barefoot") + icon_state = "b&p" + name = "Barefoot" + desc = "Barefoot and pregnant" + if("demonsblood") + icon_state = "demonsblood" + name = "Demons Blood" + desc = "Just looking at this thing makes the hair at the back of your neck stand up." + if("booger") + icon_state = "booger" + name = "Booger" + desc = "Ewww..." + if("snowwhite") + icon_state = "snowwhite" + name = "Snow White" + desc = "A cold refreshment." + if("aloe") + icon_state = "aloe" + name = "Aloe" + desc = "Very, very, very good." + if("andalusia") + icon_state = "andalusia" + name = "Andalusia" + desc = "A nice, strange named drink." + if("sbiten") + icon_state = "sbitenglass" + name = "Sbiten" + desc = "A spicy mix of Vodka and Spice. Very hot." + if("red_mead") + icon_state = "red_meadglass" + name = "Red Mead" + desc = "A True Vikings Beverage, though its color is strange." + if("mead") + icon_state = "meadglass" + name = "Mead" + desc = "A Vikings Beverage, though a cheap one." + if("iced_beer") + icon_state = "iced_beerglass" + name = "Iced Beer" + desc = "A beer so frosty, the air around it freezes." + if("grog") + icon_state = "grogglass" + name = "Grog" + desc = "A fine and cepa drink for Space." + if("soy_latte") + icon_state = "soy_latte" + name = "Soy Latte" + desc = "A nice and refrshing beverage while you are reading." + if("cafe_latte") + icon_state = "cafe_latte" + name = "Cafe Latte" + desc = "A nice, strong and refreshing beverage while you are reading." + if("acidspit") + icon_state = "acidspitglass" + name = "Acid Spit" + desc = "A drink from Nanotrasen. Made from live aliens." + if("amasec") + icon_state = "amasecglass" + name = "Amasec" + desc = "Always handy before COMBAT!!!" + if("neurotoxin") + icon_state = "neurotoxinglass" + name = "Neurotoxin" + desc = "A drink that is guaranteed to knock you silly." + if("hippiesdelight") + icon_state = "hippiesdelightglass" + name = "Hippie's Delight" + desc = "A drink enjoyed by people during the 1960's." + if("bananahonk") + icon_state = "bananahonkglass" + name = "Banana Honk" + desc = "A drink from Clown Heaven." + if("silencer") + icon_state = "silencerglass" + name = "Silencer" + desc = "A drink from mime Heaven." + if("nothing") + icon_state = "nothing" + name = "Nothing" + desc = "Absolutely nothing." + if("devilskiss") + icon_state = "devilskiss" + name = "Devils Kiss" + desc = "Creepy time!" + if("changelingsting") + icon_state = "changelingsting" + name = "Changeling Sting" + desc = "A stingy drink." + if("irishcarbomb") + icon_state = "irishcarbomb" + name = "Irish Car Bomb" + desc = "An irish car bomb." + if("syndicatebomb") + icon_state = "syndicatebomb" + name = "Syndicate Bomb" + desc = "A syndicate bomb." + if("erikasurprise") + icon_state = "erikasurprise" + name = "Erika Surprise" + desc = "The surprise is, it's green!" + if("driestmartini") + icon_state = "driestmartiniglass" + name = "Driest Martini" + desc = "Only for the experienced. You think you see sand floating in the glass." + if("ice") + icon_state = "iceglass" + name = "Glass of ice" + desc = "Generally, you're supposed to put something else in there too..." + if("icecoffee") + icon_state = "icedcoffeeglass" + name = "Iced Coffee" + desc = "A drink to perk you up and refresh you!" + if("icetea") + icon_state = "icedteaglass" + name = "Iced Tea" + desc = "All natural, antioxidant-rich flavour sensation." + if("coffee") + icon_state = "glass_brown" + name = "Glass of coffee" + desc = "Don't drop it, or you'll send scalding liquid and glass shards everywhere." + if("tea") + icon_state = "teaglass" + name = "Glass of tea" + desc = "Drinking it from here would not seem right." + if("bilk") + icon_state = "glass_brown" + name = "Glass of bilk" + desc = "A brew of milk and beer. For those alcoholics who fear osteoporosis." + if("fuel") + icon_state = "dr_gibb_glass" + name = "Glass of welder fuel" + desc = "Unless you are an industrial tool, this is probably not safe for consumption." + else + icon_state ="glass_brown" + name = "Glass of ..what?" + desc = "You can't really tell what this is." + else + icon_state = "glass_empty" + name = "Drinking glass" + desc = "Your standard drinking glass" + return + +// for /obj/machinery/vending/sovietsoda +/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/soda + New() + ..() + reagents.add_reagent("sodawater", 50) + on_reagent_change() + +/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/cola + New() + ..() + reagents.add_reagent("cola", 50) + on_reagent_change() diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/food&drinks/food/snacks.dm similarity index 96% rename from code/modules/reagents/reagent_containers/food/snacks.dm rename to code/modules/food&drinks/food/snacks.dm index bfb31ad396d..a033e02f1f5 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/food&drinks/food/snacks.dm @@ -1,2552 +1,2552 @@ -/obj/item/weapon/reagent_containers/food/snacks - name = "snack" - desc = "yummy" - icon = 'icons/obj/food.dmi' - icon_state = null - var/bitesize = 1 - var/bitecount = 0 - var/trash = null - var/slice_path - var/slices_num - var/eatverb - var/wrapped = 0 - var/dried_type = null - var/potency = null - var/dry = 0 - - //Placeholder for effect that trigger on eating that aren't tied to reagents. -/obj/item/weapon/reagent_containers/food/snacks/proc/On_Consume() - if(!usr) return - if(!reagents.total_volume) - usr.unEquip(src) //so icons update :[ - - if(trash) - if(ispath(trash,/obj/item/weapon/grown)) - var/obj/item/TrashItem = new trash(usr,src.potency) - usr.put_in_hands(TrashItem) - else if(ispath(trash,/obj/item)) - var/obj/item/TrashItem = new trash(usr) - usr.put_in_hands(TrashItem) - else if(istype(trash,/obj/item)) - usr.put_in_hands(trash) - qdel(src) - return - - -/obj/item/weapon/reagent_containers/food/snacks/attack_self(mob/user) - return - - -/obj/item/weapon/reagent_containers/food/snacks/attack(mob/M, mob/user, def_zone) - if(!eatverb) - eatverb = pick("bite","chew","nibble","gnaw","gobble","chomp") - if(!reagents.total_volume) //Shouldn't be needed but it checks to see if it has anything left in it. - user << "None of [src] left, oh no!" - M.unEquip(src) //so icons update :[ - qdel(src) - return 0 - if(istype(M, /mob/living/carbon)) - if(!canconsume(M, user)) - return 0 - - if(M == user) //If you're eating it yourself. - var/fullness = M.nutrition + (M.reagents.get_reagent_amount("nutriment") * 25) - if(wrapped) - M << "You can't eat wrapped food!" - return 0 - else if(fullness <= 50) - M << "You hungrily [eatverb] some of \the [src] and gobble it down!" - else if(fullness > 50 && fullness < 150) - M << "You hungrily begin to [eatverb] \the [src]." - else if(fullness > 150 && fullness < 350) - M << "You [eatverb] \the [src]." - else if(fullness > 350 && fullness < 550) - M << "You unwillingly [eatverb] a bit of \the [src]." - else if(fullness > (550 * (1 + M.overeatduration / 2000))) // The more you eat - the more you can eat - M << "You cannot force any more of \the [src] to go down your throat." - return 0 - else - if(! (isslime(M) || isbrain(M)) ) //If you're feeding it to someone else. - var/fullness = M.nutrition + (M.reagents.get_reagent_amount("nutriment") * 25) - if(wrapped) - return 0 - if(fullness <= (550 * (1 + M.overeatduration / 1000))) - M.visible_message("[user] attempts to feed [M] [src].", \ - "[user] attempts to feed [M] [src].") - else - M.visible_message("[user] cannot force anymore of [src] down [M]'s throat!", \ - "[user] cannot force anymore of [src] down [M]'s throat!") - return 0 - - if(!do_mob(user, M)) return - add_logs(user, M, "fed", object="[reagentlist(src)]") - M.visible_message("[user] forces [M] to eat [src].", \ - "[user] feeds [M] to eat [src].") - - else - user << "[M] doesn't seem to have a mouth!" - return - - if(reagents) //Handle ingestion of the reagent. - playsound(M.loc,'sound/items/eatfood.ogg', rand(10,50), 1) - if(reagents.total_volume) - reagents.reaction(M, INGEST) - spawn(5) - if(reagents.total_volume > bitesize) //pretty sure this is unnecessary - reagents.trans_to(M, bitesize) - else - reagents.trans_to(M, reagents.total_volume) - bitecount++ - On_Consume() - return 1 - - return 0 - - -/obj/item/weapon/reagent_containers/food/snacks/afterattack(obj/target, mob/user , proximity) - return - - -/obj/item/weapon/reagent_containers/food/snacks/examine() - set src in view() - ..() - if(!(usr in range(1)) && usr != loc) - return - if(bitecount == 0) - return - else if(bitecount == 1) - usr << "[src] was bitten by someone!" - else if(bitecount <= 3) - usr << "[src] was bitten [bitecount] times!" - else - usr << "[src] was bitten multiple times!" - - -/obj/item/weapon/reagent_containers/food/snacks/attackby(obj/item/weapon/W, mob/user) - if(istype(W,/obj/item/weapon/storage)) - ..() // -> item/attackby() - return 0 - if((slices_num <= 0 || !slices_num) || !slice_path) - return 0 - var/inaccurate = 0 - if( \ - istype(W, /obj/item/weapon/kitchenknife) || \ - istype(W, /obj/item/weapon/butch) || \ - istype(W, /obj/item/weapon/scalpel) || \ - istype(W, /obj/item/weapon/kitchen/utensil/knife) \ - ) - else if( \ - istype(W, /obj/item/weapon/circular_saw) || \ - istype(W, /obj/item/weapon/melee/energy/sword) && W:active || \ - istype(W, /obj/item/weapon/melee/energy/blade) || \ - istype(W, /obj/item/weapon/shovel) || \ - istype(W, /obj/item/weapon/hatchet) \ - ) - inaccurate = 1 - else - return 0 // --- this is everything that is NOT a slicing implement, and which is not being slipped into food; allow afterattack --- - - if ( \ - !isturf(src.loc) || \ - !(locate(/obj/structure/table) in src.loc) && \ - !(locate(/obj/structure/optable) in src.loc) && \ - !(locate(/obj/item/weapon/storage/bag/tray) in src.loc) \ - ) - user << "You cannot slice [src] here! You need a table or at least a tray." - return 1 - - var/slices_lost = 0 - if (!inaccurate) - user.visible_message( \ - "[user] slices [src].", \ - "You slice [src]." \ - ) - else - user.visible_message( \ - "[user] inaccurately slices [src] with [W]!", \ - "You inaccurately slice [src] with your [W]!" \ - ) - slices_lost = rand(1,min(1,round(slices_num/2))) - var/reagents_per_slice = reagents.total_volume/slices_num - for(var/i=1 to (slices_num-slices_lost)) - var/obj/slice = new slice_path (src.loc) - reagents.trans_to(slice,reagents_per_slice) - qdel(src) // so long and thanks for all the fish - - -/obj/item/weapon/reagent_containers/food/snacks/Destroy() - if(contents) - for(var/atom/movable/something in contents) - something.loc = get_turf(src) - ..() - - -/obj/item/weapon/reagent_containers/food/snacks/attack_animal(mob/M) - if(isanimal(M)) - if(iscorgi(M)) - if(bitecount == 0 || prob(50)) - M.emote("nibbles away at the [src]") - bitecount++ - if(bitecount >= 5) - var/sattisfaction_text = pick("burps from enjoyment", "yaps for more", "woofs twice", "looks at the area where the [src] was") - if(sattisfaction_text) - M.emote("[sattisfaction_text]") - qdel(src) - - -////////////////////////////////////////////////// -////////////////////////////////////////////Snacks -////////////////////////////////////////////////// -//Items in the "Snacks" subcategory are food items that people actually eat. The key points are that they are created -// already filled with reagents and are destroyed when empty. Additionally, they make a "munching" noise when eaten. - -//Notes by Darem: Food in the "snacks" subtype can hold a maximum of 50 units Generally speaking, you don't want to go over 40 -// total for the item because you want to leave space for extra condiments. If you want effect besides healing, add a reagent for -// it. Try to stick to existing reagents when possible (so if you want a stronger healing effect, just use Tricordrazine). On use -// effect (such as the old officer eating a donut code) requires a unique reagent (unless you can figure out a better way). - -//The nutriment reagent and bitesize variable replace the old heal_amt and amount variables. Each unit of nutriment is equal to -// 2 of the old heal_amt variable. Bitesize is the rate at which the reagents are consumed. So if you have 6 nutriment and a -// bitesize of 2, then it'll take 3 bites to eat. Unlike the old system, the contained reagents are evenly spread among all -// the bites. No more contained reagents = no more bites. - -//Here is an example of the new formatting for anyone who wants to add more food items. -///obj/item/weapon/reagent_containers/food/snacks/xenoburger //Identification path for the object. -// 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. -// ..() //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. -// bitesize = 3 //This is the amount each bite consumes. - - - - -/obj/item/weapon/reagent_containers/food/snacks/aesirsalad - name = "\improper Aesir salad" - desc = "Probably too incredible for mortal men to fully enjoy." - icon_state = "aesirsalad" - trash = /obj/item/trash/snack_bowl - New() - ..() - eatverb = pick("crunch","devour","nibble","gnaw","gobble","chomp") - reagents.add_reagent("nutriment", 8) - reagents.add_reagent("tricordrazine", 8) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/candy - name = "candy" - desc = "Nougat love it or hate it." - icon_state = "candy" - trash = /obj/item/trash/candy - New() - ..() - reagents.add_reagent("nutriment", 1) - reagents.add_reagent("sugar", 3) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/candy_corn - name = "candy corn" - desc = "It's a handful of candy corn. Can be stored in a detective's hat." - icon_state = "candy_corn" - New() - ..() - reagents.add_reagent("nutriment", 4) - reagents.add_reagent("sugar", 2) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/chips - name = "chips" - desc = "Commander Riker's What-The-Crisps" - icon_state = "chips" - trash = /obj/item/trash/chips - New() - ..() - reagents.add_reagent("nutriment", 3) - bitesize = 1 - -/obj/item/weapon/reagent_containers/food/snacks/cookie - name = "cookie" - desc = "COOKIE!!!" - icon_state = "COOKIE!!!" - New() - ..() - reagents.add_reagent("nutriment", 5) - bitesize = 1 - -/obj/item/weapon/reagent_containers/food/snacks/chocolatebar - name = "chocolate bar" - desc = "Such, sweet, fattening food." - icon_state = "chocolatebarunwrapped" - wrapped = 0 - bitesize = 2 - New() - ..() - reagents.add_reagent("nutriment", 3) - reagents.add_reagent("sugar", 2) - reagents.add_reagent("coco", 2) - - attack_self(mob/user) - if(wrapped) - Unwrap(user) - else - ..() - -/obj/item/weapon/reagent_containers/food/snacks/chocolatebar/proc/Unwrap(mob/user) - icon_state = "chocolatebarunwrapped" - desc = "It won't make you all sticky." - user << "You remove the foil." - wrapped = 0 - - -/obj/item/weapon/reagent_containers/food/snacks/chocolatebar/wrapped - desc = "It's wrapped in some foil." - icon_state = "chocolatebar" - wrapped = 1 - -/obj/item/weapon/reagent_containers/food/snacks/chocolateegg - name = "chocolate egg" - desc = "Such, sweet, fattening food." - icon_state = "chocolateegg" - New() - ..() - reagents.add_reagent("nutriment", 4) - reagents.add_reagent("sugar", 2) - reagents.add_reagent("coco", 2) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/donut - name = "donut" - icon_state = "donut1" - -/obj/item/weapon/reagent_containers/food/snacks/donut/normal - desc = "Goes great with Robust Coffee." - New() - ..() - reagents.add_reagent("nutriment", 3) - reagents.add_reagent("sprinkles", 1) - src.bitesize = 3 - if(prob(30)) - src.icon_state = "donut2" - src.name = "frosted donut" - reagents.add_reagent("sprinkles", 2) - -/obj/item/weapon/reagent_containers/food/snacks/donut/chaos - name = "chaos donut" - desc = "Like life, it never quite tastes the same." - New() - ..() - reagents.add_reagent("nutriment", 2) - reagents.add_reagent("sprinkles", 1) - bitesize = 10 - switch(rand(1,10)) - if(1) - reagents.add_reagent("nutriment", 3) - if(2) - reagents.add_reagent("capsaicin", 3) - if(3) - reagents.add_reagent("frostoil", 3) - if(4) - reagents.add_reagent("sprinkles", 3) - if(5) - reagents.add_reagent("plasma", 3) - if(6) - reagents.add_reagent("coco", 3) - if(7) - reagents.add_reagent("slimejelly", 3) - if(8) - reagents.add_reagent("banana", 3) - if(9) - reagents.add_reagent("berryjuice", 3) - if(10) - reagents.add_reagent("tricordrazine", 3) - if(prob(30)) - icon_state = "donut2" - name = "frosted chaos donut" - reagents.add_reagent("sprinkles", 2) - - -/obj/item/weapon/reagent_containers/food/snacks/donut/jelly - name = "jelly donut" - desc = "You jelly?" - icon_state = "jdonut1" - bitesize = 5 - New() - ..() - reagents.add_reagent("nutriment", 3) - reagents.add_reagent("sprinkles", 1) - reagents.add_reagent("berryjuice", 5) - if(prob(30)) - icon_state = "jdonut2" - name = "Frosted Jelly Donut" - reagents.add_reagent("sprinkles", 2) - -/obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly - name = "jelly donut" - desc = "You jelly?" - icon_state = "jdonut1" - bitesize = 5 - New() - ..() - reagents.add_reagent("nutriment", 3) - reagents.add_reagent("sprinkles", 1) - reagents.add_reagent("slimejelly", 5) - bitesize = 5 - if(prob(30)) - icon_state = "jdonut2" - name = "Frosted Jelly Donut" - reagents.add_reagent("sprinkles", 2) - -/obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly - name = "jelly donut" - desc = "You jelly?" - icon_state = "jdonut1" - bitesize = 5 - New() - ..() - reagents.add_reagent("nutriment", 3) - reagents.add_reagent("sprinkles", 1) - reagents.add_reagent("cherryjelly", 5) - if(prob(30)) - icon_state = "jdonut2" - name = "Frosted Jelly Donut" - reagents.add_reagent("sprinkles", 2) - -/obj/item/weapon/reagent_containers/food/snacks/egg - name = "egg" - desc = "An egg!" - icon_state = "egg" - New() - ..() - reagents.add_reagent("nutriment", 1) - - throw_impact(atom/hit_atom) - ..() - new/obj/effect/decal/cleanable/egg_smudge(src.loc) - reagents.reaction(hit_atom, TOUCH) - del(src) // Not qdel, because it'll hit other mobs then the floor for runtimes. - - attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype( W, /obj/item/toy/crayon )) - var/obj/item/toy/crayon/C = W - var/clr = C.colourName - - if(!(clr in list("blue", "green", "mime", "orange", "purple", "rainbow", "red", "yellow"))) - usr << "[src] refuses to take on this colour!" - return - - usr << "You colour [src] [clr]." - icon_state = "egg-[clr]" - item_color = clr - else - ..() - -/obj/item/weapon/reagent_containers/food/snacks/egg/blue - icon_state = "egg-blue" - item_color = "blue" - -/obj/item/weapon/reagent_containers/food/snacks/egg/green - icon_state = "egg-green" - item_color = "green" - -/obj/item/weapon/reagent_containers/food/snacks/egg/mime - icon_state = "egg-mime" - item_color = "mime" - -/obj/item/weapon/reagent_containers/food/snacks/egg/orange - icon_state = "egg-orange" - item_color = "orange" - -/obj/item/weapon/reagent_containers/food/snacks/egg/purple - icon_state = "egg-purple" - item_color = "purple" - -/obj/item/weapon/reagent_containers/food/snacks/egg/rainbow - icon_state = "egg-rainbow" - item_color = "rainbow" - -/obj/item/weapon/reagent_containers/food/snacks/egg/red - icon_state = "egg-red" - item_color = "red" - -/obj/item/weapon/reagent_containers/food/snacks/egg/yellow - icon_state = "egg-yellow" - item_color = "yellow" - -/obj/item/weapon/reagent_containers/food/snacks/friedegg - name = "fried egg" - desc = "A fried egg, with a touch of salt and pepper." - icon_state = "friedegg" - New() - ..() - reagents.add_reagent("nutriment", 2) - reagents.add_reagent("sodiumchloride", 1) - reagents.add_reagent("blackpepper", 1) - bitesize = 1 - -/obj/item/weapon/reagent_containers/food/snacks/boiledegg - name = "boiled egg" - desc = "A hard boiled egg." - icon_state = "egg" - New() - ..() - reagents.add_reagent("nutriment", 2) - -// /obj/item/weapon/reagent_containers/food/snacks/flour //Has been converted into a reagent. Use that instead of the item! - -/obj/item/weapon/reagent_containers/food/snacks/tofu - name = "tofu" - desc = "We all love tofu." - icon_state = "tofu" - New() - ..() - reagents.add_reagent("nutriment", 3) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/carpmeat - name = "carp fillet" - desc = "A fillet of spess carp meat." - icon_state = "fishfillet" - New() - ..() - eatverb = pick("bite","chew","choke down","gnaw","swallow","chomp") - reagents.add_reagent("nutriment", 3) - reagents.add_reagent("carpotoxin", 3) - bitesize = 6 - -/obj/item/weapon/reagent_containers/food/snacks/carpmeat/imitation - name = "imitation carp fillet" - desc = "Almost just like the real thing, kinda." - -/obj/item/weapon/reagent_containers/food/snacks/fishfingers - name = "fish fingers" - desc = "A finger of fish." - icon_state = "fishfingers" - New() - ..() - reagents.add_reagent("nutriment", 4) - reagents.add_reagent("carpotoxin", 3) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice - name = "huge mushroom slice" - desc = "A slice from a huge mushroom." - icon_state = "hugemushroomslice" - New() - ..() - reagents.add_reagent("nutriment", 3) - src.bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/tomatomeat - name = "tomato slice" - desc = "A slice from a huge tomato." - icon_state = "tomatomeat" - New() - ..() - reagents.add_reagent("nutriment", 3) - src.bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/bearmeat - name = "bear meat" - desc = "A very manly slab of meat." - icon_state = "bearmeat" - New() - ..() - reagents.add_reagent("nutriment", 12) - reagents.add_reagent("hyperzine", 5) - src.bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/xenomeat - name = "meat" - desc = "A slab of meat" - icon_state = "xenomeat" - New() - ..() - reagents.add_reagent("nutriment", 3) - src.bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/spidermeat - name = "spider meat" - desc = "A slab of spider meat." - icon_state = "spidermeat" - New() - ..() - reagents.add_reagent("nutriment", 3) - reagents.add_reagent("toxin", 3) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/spiderleg - name = "spider leg" - desc = "A still twitching leg of a giant spider... you don't really want to eat this, do you?" - icon_state = "spiderleg" - New() - ..() - reagents.add_reagent("nutriment", 2) - reagents.add_reagent("toxin", 2) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/cornedbeef - name = "corned beef and cabbage" - desc = "Now you can feel like a real tourist vacationing in Ireland." - icon_state = "cornedbeef" - trash = /obj/item/trash/plate - New() - ..() - reagents.add_reagent("nutriment", 6) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/faggot - name = "faggot" - desc = "A great meal all round. Not a cord of wood." - icon_state = "faggot" - New() - ..() - reagents.add_reagent("nutriment", 3) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/sausage - name = "sausage" - desc = "A piece of mixed, long meat." - icon_state = "sausage" - New() - ..() - eatverb = pick("bite","chew","nibble","deep throat","gobble","chomp") - reagents.add_reagent("nutriment", 6) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/donkpocket - name = "\improper Donk-pocket" - desc = "The food of choice for the seasoned traitor." - icon_state = "donkpocket" - New() - ..() - reagents.add_reagent("nutriment", 4) - - var/warm = 0 - proc/cooltime() //Not working, derp? - if(warm) - spawn(4200) //ew - warm = 0 - reagents.del_reagent("tricordrazine") - name = initial(name) - return - -/obj/item/weapon/reagent_containers/food/snacks/burger/brain - name = "brainburger" - desc = "A strange looking burger. It looks almost sentient." - icon_state = "brainburger" - New() - ..() - reagents.add_reagent("alkysine", 6) - -/obj/item/weapon/reagent_containers/food/snacks/burger/ghost - name = "ghost burger" - desc = "Too Spooky!" - alpha = 125 - -/obj/item/weapon/reagent_containers/food/snacks/burger - name = "burger" - desc = "The cornerstone of every nutritious breakfast." - icon_state = "hburger" - New() - ..() - reagents.add_reagent("nutriment", 6) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/burger/human - var/hname = "" - var/job = null - name = "-burger" - desc = "A bloody burger." - icon_state = "hburger" - -/obj/item/weapon/reagent_containers/food/snacks/burger/appendix - name = "appendix burger" - desc = "Tastes like appendicitis." - -/obj/item/weapon/reagent_containers/food/snacks/burger/fish - name = "fillet -o- carp sandwich" - desc = "Almost like a carp is yelling somewhere... Give me back that fillet -o- carp, give me that carp." - icon_state = "fishburger" - New() - ..() - reagents.add_reagent("carpotoxin", 3) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/burger/tofu - name = "tofu burger" - desc = "What.. is that meat?" - icon_state = "tofuburger" - -/obj/item/weapon/reagent_containers/food/snacks/burger/roburger - name = "roburger" - desc = "The lettuce is the only organic component. Beep." - icon_state = "roburger" - New() - ..() - reagents.add_reagent("nanites", 2) - -/obj/item/weapon/reagent_containers/food/snacks/burger/roburgerbig - name = "roburger" - desc = "This massive patty looks like poison. Beep." - icon_state = "roburger" - volume = 106 - New() - ..() - reagents.add_reagent("nanites", 100) - bitesize = 0.1 - -/obj/item/weapon/reagent_containers/food/snacks/burger/xeno - name = "xenoburger" - desc = "Smells caustic. Tastes like heresy." - icon_state = "xburger" - New() - ..() - reagents.add_reagent("nutriment", 2) - -/obj/item/weapon/reagent_containers/food/snacks/burger/clown - name = "clown burger" - desc = "This tastes funny..." - icon_state = "clownburger" - -/obj/item/weapon/reagent_containers/food/snacks/burger/mime - name = "mime burger" - desc = "Its taste defies language." - icon_state = "mimeburger" - -/obj/item/weapon/reagent_containers/food/snacks/omelette //FUCK THIS - name = "omelette du fromage" - desc = "That's all you can say!" - icon_state = "omelette" - trash = /obj/item/trash/plate - - New() - ..() - reagents.add_reagent("nutriment", 8) - bitesize = 1 - - attackby(obj/item/weapon/W, mob/user) - if(istype(W,/obj/item/weapon/kitchen/utensil/fork)) - if(W.icon_state == "forkloaded") - user << "You already have omelette on your fork." - return - W.icon_state = "forkloaded" - user.visible_message( \ - "[user] takes a piece of omelette with their fork!", \ - "You take a piece of omelette with your fork!" \ - ) - reagents.remove_reagent("nutriment", 1) - if(reagents.total_volume <= 0) - qdel(src) - -/obj/item/weapon/reagent_containers/food/snacks/muffin - name = "muffin" - desc = "A delicious and spongy little cake." - icon_state = "muffin" - New() - ..() - reagents.add_reagent("nutriment", 6) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/muffin/berry - name = "berry muffin" - icon_state = "berrymuffin" - desc = "A delicious and spongy little cake, with berries." - -/obj/item/weapon/reagent_containers/food/snacks/muffin/booberry - name = "booberry muffin" - icon_state = "berrymuffin" - alpha = 125 - desc = "My stomach is a graveyard! No living being can quench my bloodthirst!" - -/obj/item/weapon/reagent_containers/food/snacks/pie - name = "banana cream pie" - desc = "Just like back home, on clown planet! HONK!" - icon_state = "pie" - trash = /obj/item/trash/plate - New() - ..() - reagents.add_reagent("nutriment", 4) - reagents.add_reagent("banana",5) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/pie/throw_impact(atom/hit_atom) - ..() - new/obj/effect/decal/cleanable/pie_smudge(src.loc) - reagents.reaction(hit_atom, TOUCH) - del(src) // Not qdel, because it'll hit other mobs then the floor for runtimes. - -/obj/item/weapon/reagent_containers/food/snacks/berryclafoutis - name = "berry clafoutis" - desc = "No black birds, this is a good sign." - icon_state = "berryclafoutis" - trash = /obj/item/trash/plate - New() - ..() - reagents.add_reagent("nutriment", 4) - reagents.add_reagent("berryjuice", 5) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/waffles - name = "waffles" - desc = "Mmm, waffles." - icon_state = "waffles" - trash = /obj/item/trash/waffles - New() - ..() - reagents.add_reagent("nutriment", 8) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/eggplantparm - name = "eggplant parmigiana" - desc = "The only good recipe for eggplant." - icon_state = "eggplantparm" - trash = /obj/item/trash/plate - New() - ..() - reagents.add_reagent("nutriment", 6) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/soylentgreen - name = "\improper Soylent Green" - desc = "Not made of people. Honest." //Totally people. - icon_state = "soylent_green" - trash = /obj/item/trash/waffles - New() - ..() - reagents.add_reagent("nutriment", 10) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/soylenviridians - name = "\improper Soylent Virdians" - desc = "Not made of people. Honest." //Actually honest for once. - icon_state = "soylent_yellow" - trash = /obj/item/trash/waffles - New() - ..() - reagents.add_reagent("nutriment", 10) - bitesize = 2 - - -/obj/item/weapon/reagent_containers/food/snacks/meatpie - name = "meat-pie" - icon_state = "meatpie" - desc = "An old barber recipe, very delicious!" - trash = /obj/item/trash/plate - New() - ..() - reagents.add_reagent("nutriment", 10) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/tofupie - name = "tofu-pie" - icon_state = "meatpie" - desc = "A delicious tofu pie." - trash = /obj/item/trash/plate - New() - ..() - reagents.add_reagent("nutriment", 10) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/amanita_pie - name = "amanita pie" - desc = "Sweet and tasty poison pie." - icon_state = "amanita_pie" - New() - ..() - reagents.add_reagent("nutriment", 5) - reagents.add_reagent("amatoxin", 3) - reagents.add_reagent("mushroomhallucinogen", 1) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/plump_pie - name = "plump pie" - desc = "I bet you love stuff made out of plump helmets!" - icon_state = "plump_pie" - New() - ..() - if(prob(10)) - name = "exceptional plump pie" - desc = "Microwave is taken by a fey mood! It has cooked an exceptional plump pie!" - reagents.add_reagent("nutriment", 8) - reagents.add_reagent("tricordrazine", 5) - bitesize = 2 - else - reagents.add_reagent("nutriment", 8) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/xemeatpie - name = "xeno-pie" - icon_state = "xenomeatpie" - desc = "A delicious meatpie. Probably heretical." - trash = /obj/item/trash/plate - New() - ..() - reagents.add_reagent("nutriment", 10) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/wingfangchu - name = "wing fang chu" - desc = "A savory dish of alien wing wang in soy." - icon_state = "wingfangchu" - trash = /obj/item/trash/snack_bowl - New() - ..() - reagents.add_reagent("nutriment", 6) - bitesize = 2 - - -/obj/item/weapon/reagent_containers/food/snacks/human/kebab - name = "-kebab" - icon_state = "kebab" - desc = "A human meat, on a stick." - trash = /obj/item/stack/rods - New() - ..() - reagents.add_reagent("nutriment", 8) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/monkeykebab - name = "meat-kebab" - icon_state = "kebab" - desc = "Delicious meat, on a stick." - trash = /obj/item/stack/rods - New() - ..() - reagents.add_reagent("nutriment", 8) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/tofukebab - name = "tofu-kebab" - icon_state = "kebab" - desc = "Vegan meat, on a stick." - trash = /obj/item/stack/rods - New() - ..() - reagents.add_reagent("nutriment", 8) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/cubancarp - name = "\improper Cuban carp" - desc = "A grifftastic sandwich that burns your tongue and then leaves it numb!" - icon_state = "cubancarp" - trash = /obj/item/trash/plate - New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("carpotoxin", 3) - reagents.add_reagent("capsaicin", 3) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/popcorn - name = "popcorn" - desc = "Now let's find some cinema." - icon_state = "popcorn" - trash = /obj/item/trash/popcorn - var/unpopped = 0 - New() - ..() - eatverb = pick("bite","crunch","nibble","gnaw","gobble","chomp") - unpopped = rand(1,10) - reagents.add_reagent("nutriment", 2) - bitesize = 0.1 //this snack is supposed to be eating during looooong time. And this it not dinner food! --rastaf0 - On_Consume() - if(prob(unpopped)) //lol ...what's the point? << AINT SO POINTLESS NO MORE - usr << "\red You bite down on an un-popped kernel, and it hurts your teeth!" - unpopped = max(0, unpopped-1) - reagents.add_reagent("sacid",0.1) //only a little tingle. - ..() - - -/obj/item/weapon/reagent_containers/food/snacks/sosjerky - name = "\improper Scaredy's Private Reserve Beef Jerky" - icon_state = "sosjerky" - desc = "Beef jerky made from the finest space cows." - trash = /obj/item/trash/sosjerky - New() - ..() - reagents.add_reagent("nutriment", 4) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/no_raisin - name = "4no raisins" - icon_state = "4no_raisins" - desc = "Best raisins in the universe. Not sure why." - trash = /obj/item/trash/raisins - New() - ..() - reagents.add_reagent("nutriment", 6) - -/obj/item/weapon/reagent_containers/food/snacks/spacetwinkie - name = "space twinkie" - icon_state = "space_twinkie" - desc = "Guaranteed to survive longer than you will." - New() - ..() - reagents.add_reagent("sugar", 4) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers - name = "cheesie honkers" - desc = "Bite sized cheesie snacks that will honk all over your mouth." - icon_state = "cheesie_honkers" - trash = /obj/item/trash/cheesie - New() - ..() - reagents.add_reagent("nutriment", 4) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/syndicake - name = "syndi-cakes" - icon_state = "syndi_cakes" - desc = "An extremely moist snack cake that tastes just as good after being nuked." - trash = /obj/item/trash/syndi_cakes - New() - ..() - reagents.add_reagent("nutriment", 4) - reagents.add_reagent("doctorsdelight", 5) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/loadedbakedpotato - name = "loaded baked potato" - desc = "Totally baked." - icon_state = "loadedbakedpotato" - New() - ..() - reagents.add_reagent("nutriment", 6) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/fries - name = "space fries" - desc = "AKA: French Fries, Freedom Fries, etc." - icon_state = "fries" - trash = /obj/item/trash/plate - New() - ..() - reagents.add_reagent("nutriment", 4) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/soydope - name = "soy dope" - desc = "Dope from a soy." - icon_state = "soydope" - trash = /obj/item/trash/plate - New() - ..() - reagents.add_reagent("nutriment", 2) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/spaghetti - name = "spaghetti" - desc = "Now that's a nic'e pasta!" - icon_state = "spaghetti" - New() - ..() - reagents.add_reagent("nutriment", 1) - bitesize = 1 - -/obj/item/weapon/reagent_containers/food/snacks/cheesyfries - name = "cheesy fries" - desc = "Fries. Covered in cheese. Duh." - icon_state = "cheesyfries" - trash = /obj/item/trash/plate - New() - ..() - reagents.add_reagent("nutriment", 6) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/fortunecookie - name = "fortune cookie" - desc = "A true prophecy in each cookie!" - icon_state = "fortune_cookie" - New() - ..() - reagents.add_reagent("nutriment", 3) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/badrecipe - name = "burned mess" - desc = "Someone should be demoted from chef for this." - icon_state = "badrecipe" - New() - ..() - eatverb = pick("choke down","nibble","gnaw","chomp") - reagents.add_reagent("toxin", 1) - reagents.add_reagent("carbon", 3) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/meatsteak - name = "meat steak" - desc = "A piece of hot spicy meat." - icon_state = "meatsteak" - trash = /obj/item/trash/plate - New() - ..() - reagents.add_reagent("nutriment", 4) - reagents.add_reagent("sodiumchloride", 1) - reagents.add_reagent("blackpepper", 1) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/spacylibertyduff - name = "spacy liberty duff" - desc = "Jello gelatin, from Alfred Hubbard's cookbook." - icon_state = "spacylibertyduff" - trash = /obj/item/trash/snack_bowl - New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("mushroomhallucinogen", 6) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/amanitajelly - name = "amanita jelly" - desc = "Looks curiously toxic." - icon_state = "amanitajelly" - trash = /obj/item/trash/snack_bowl - New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("amatoxin", 6) - reagents.add_reagent("mushroomhallucinogen", 3) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/poppypretzel - name = "poppy pretzel" - desc = "It's all twisted up!" - icon_state = "poppypretzel" - bitesize = 2 - New() - ..() - reagents.add_reagent("nutriment", 5) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/meatballsoup - name = "meatball soup" - desc = "You've got balls kid, BALLS!" - icon_state = "meatballsoup" - trash = /obj/item/trash/snack_bowl - New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("nutriment", 8) - reagents.add_reagent("water", 5) - bitesize = 5 - -/obj/item/weapon/reagent_containers/food/snacks/slimesoup - name = "slime soup" - desc = "If no water is available, you may substitute tears." - icon_state = "slimesoup" - New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("slimejelly", 5) - reagents.add_reagent("water", 10) - bitesize = 5 - -/obj/item/weapon/reagent_containers/food/snacks/bloodsoup - name = "tomato soup" - desc = "Smells like copper." - icon_state = "tomatosoup" - New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("nutriment", 2) - reagents.add_reagent("blood", 10) - reagents.add_reagent("water", 5) - bitesize = 5 - -/obj/item/weapon/reagent_containers/food/snacks/clownstears - name = "clown's tears" - desc = "Not very funny." - icon_state = "clownstears" - New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("nutriment", 4) - reagents.add_reagent("banana", 5) - reagents.add_reagent("water", 10) - bitesize = 5 - -/obj/item/weapon/reagent_containers/food/snacks/vegetablesoup - name = "vegetable soup" - desc = "A true vegan meal." - icon_state = "vegetablesoup" - trash = /obj/item/trash/snack_bowl - New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("nutriment", 8) - reagents.add_reagent("water", 5) - bitesize = 5 - -/obj/item/weapon/reagent_containers/food/snacks/nettlesoup - name = "nettle soup" - desc = "To think, the botanist would've beat you to death with one of these." - icon_state = "nettlesoup" - trash = /obj/item/trash/snack_bowl - New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("nutriment", 8) - reagents.add_reagent("water", 5) - reagents.add_reagent("tricordrazine", 5) - bitesize = 5 - -/obj/item/weapon/reagent_containers/food/snacks/mysterysoup - name = "mystery soup" - desc = "The mystery is, why aren't you eating it?" - icon_state = "mysterysoup" - trash = /obj/item/trash/snack_bowl - New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - switch(rand(1,10)) - if(1) - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("capsaicin", 3) - reagents.add_reagent("tomatojuice", 2) - if(2) - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("frostoil", 3) - reagents.add_reagent("tomatojuice", 2) - if(3) - reagents.add_reagent("nutriment", 5) - reagents.add_reagent("water", 5) - reagents.add_reagent("tricordrazine", 5) - if(4) - reagents.add_reagent("nutriment", 5) - reagents.add_reagent("water", 10) - if(5) - reagents.add_reagent("nutriment", 2) - reagents.add_reagent("banana", 10) - if(6) - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("blood", 10) - if(7) - reagents.add_reagent("slimejelly", 10) - reagents.add_reagent("water", 10) - if(8) - reagents.add_reagent("carbon", 10) - reagents.add_reagent("toxin", 10) - if(9) - reagents.add_reagent("nutriment", 5) - reagents.add_reagent("tomatojuice", 10) - if(10) - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("tomatojuice", 5) - reagents.add_reagent("imidazoline", 5) - bitesize = 5 - -/obj/item/weapon/reagent_containers/food/snacks/wishsoup - name = "wish soup" - desc = "I wish this was soup." - icon_state = "wishsoup" - trash = /obj/item/trash/snack_bowl - New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("water", 10) - bitesize = 5 - if(prob(25)) - desc = "A wish come true!" - reagents.add_reagent("nutriment", 8) - -/obj/item/weapon/reagent_containers/food/snacks/hotchili - name = "hot chili" - desc = "A five alarm Texan Chili!" - icon_state = "hotchili" - trash = /obj/item/trash/snack_bowl - New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("capsaicin", 3) - reagents.add_reagent("tomatojuice", 2) - bitesize = 5 - - -/obj/item/weapon/reagent_containers/food/snacks/coldchili - name = "cold chili" - desc = "This slush is barely a liquid!" - icon_state = "coldchili" - trash = /obj/item/trash/snack_bowl - New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("frostoil", 3) - reagents.add_reagent("tomatojuice", 2) - bitesize = 5 - -/* No more of this -/obj/item/weapon/reagent_containers/food/snacks/telebacon - name = "tele bacon" - desc = "It tastes a little odd but it is still delicious." - icon_state = "bacon" - var/obj/item/device/radio/beacon/bacon/baconbeacon - bitesize = 2 - New() - ..() - reagents.add_reagent("nutriment", 4) - baconbeacon = new /obj/item/device/radio/beacon/bacon(src) - On_Consume() - if(!reagents.total_volume) - baconbeacon.loc = usr - baconbeacon.digest_delay() -*/ - -/obj/item/weapon/reagent_containers/food/snacks/monkeycube - name = "monkey cube" - desc = "Just add water!" - icon_state = "monkeycube" - bitesize = 12 - wrapped = 0 - - New() - ..() - reagents.add_reagent("nutriment",10) - - afterattack(obj/O, mob/user,proximity) - if(!proximity) return - if(istype(O,/obj/structure/sink) && !wrapped) - user << "You place [src] under a stream of water..." - user.drop_item() - loc = get_turf(O) - return Expand() - ..() - - attack_self(mob/user) - if(wrapped) - Unwrap(user) - - proc/Expand() - visible_message("[src] expands!") - new /mob/living/carbon/monkey(get_turf(src)) - qdel(src) - - proc/Unwrap(mob/user) - icon_state = "monkeycube" - desc = "Just add water!" - user << "You unwrap the cube." - wrapped = 0 - - -/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped - desc = "Still wrapped in some paper." - icon_state = "monkeycubewrap" - wrapped = 1 - - -/obj/item/weapon/reagent_containers/food/snacks/burger/spell - name = "spell burger" - desc = "This is absolutely Ei Nath." - icon_state = "spellburger" - -/obj/item/weapon/reagent_containers/food/snacks/burger/bigbite - name = "big bite burger" - desc = "Forget the Big Mac. THIS is the future!" - icon_state = "bigbiteburger" - New() - ..() - reagents.add_reagent("nutriment", 8) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/enchiladas - name = "enchiladas" - desc = "Viva La Mexico!" - icon_state = "enchiladas" - New() - ..() - reagents.add_reagent("nutriment",8) - reagents.add_reagent("capsaicin", 6) - bitesize = 4 - -/obj/item/weapon/reagent_containers/food/snacks/monkeysdelight - name = "monkey's delight" - desc = "A delicious soup with dumplings and hunks of monkey meat simmered to perfection, in a broth that tastes faintly of bananas." - icon_state = "monkeysdelight" - trash = /obj/item/trash/snack_bowl - New() - ..() - reagents.add_reagent("nutriment", 10) - reagents.add_reagent("banana", 5) - reagents.add_reagent("blackpepper", 1) - reagents.add_reagent("sodiumchloride", 1) - bitesize = 6 - -/obj/item/weapon/reagent_containers/food/snacks/baguette - name = "baguette" - desc = "Bon appetit!" - icon_state = "baguette" - New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("blackpepper", 1) - reagents.add_reagent("sodiumchloride", 1) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/fishandchips - name = "fish and chips" - desc = "I do say so myself chap." - icon_state = "fishandchips" - New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("carpotoxin", 3) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/sandwich - name = "sandwich" - desc = "A grand creation of meat, cheese, bread, and several leaves of lettuce! Arthur Dent would be proud." - icon_state = "sandwich" - trash = /obj/item/trash/plate - New() - ..() - reagents.add_reagent("nutriment", 6) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/toastedsandwich - name = "toasted sandwich" - desc = "Now if you only had a pepper bar." - icon_state = "toastedsandwich" - trash = /obj/item/trash/plate - New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("carbon", 2) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/grilledcheese - name = "grilled cheese sandwich" - desc = "Goes great with Tomato soup!" - icon_state = "toastedsandwich" - trash = /obj/item/trash/plate - New() - ..() - reagents.add_reagent("nutriment", 7) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/tomatosoup - name = "tomato soup" - desc = "Drinking this feels like being a vampire! A tomato vampire..." - icon_state = "tomatosoup" - trash = /obj/item/trash/snack_bowl - New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("nutriment", 5) - reagents.add_reagent("tomatojuice", 10) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/rofflewaffles - name = "roffle waffles" - desc = "Waffles from Roffle. Co." - icon_state = "rofflewaffles" - trash = /obj/item/trash/waffles - New() - ..() - reagents.add_reagent("nutriment", 8) - reagents.add_reagent("mushroomhallucinogen", 8) - bitesize = 4 - -/obj/item/weapon/reagent_containers/food/snacks/stew - name = "stew" - desc = "A nice and warm stew. Healthy and strong." - icon_state = "stew" - trash = /obj/item/trash/snack_bowl - New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("nutriment", 10) - reagents.add_reagent("tomatojuice", 5) - reagents.add_reagent("imidazoline", 5) - reagents.add_reagent("water", 5) - bitesize = 10 - -/obj/item/weapon/reagent_containers/food/snacks/jelliedtoast - name = "jellied toast" - desc = "A slice of bread covered with delicious jam." - icon_state = "jellytoast" - trash = /obj/item/trash/plate - New() - ..() - reagents.add_reagent("nutriment", 1) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/jelliedtoast/cherry - New() - ..() - reagents.add_reagent("cherryjelly", 5) - -/obj/item/weapon/reagent_containers/food/snacks/jelliedtoast/slime - New() - ..() - reagents.add_reagent("slimejelly", 5) - -/obj/item/weapon/reagent_containers/food/snacks/burger/jelly - name = "jelly burger" - desc = "Culinary delight..?" - icon_state = "jellyburger" - -/obj/item/weapon/reagent_containers/food/snacks/burger/jelly/slime - New() - ..() - reagents.add_reagent("slimejelly", 5) - -/obj/item/weapon/reagent_containers/food/snacks/burger/jelly/cherry - New() - ..() - reagents.add_reagent("cherryjelly", 5) - -/obj/item/weapon/reagent_containers/food/snacks/milosoup - name = "milosoup" - desc = "The universes best soup! Yum!!!" - icon_state = "milosoup" - trash = /obj/item/trash/snack_bowl - New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("nutriment", 8) - reagents.add_reagent("water", 5) - bitesize = 4 - -/obj/item/weapon/reagent_containers/food/snacks/stewedsoymeat - name = "stewed soy meat" - desc = "Even non-vegetarians will LOVE this!" - icon_state = "stewedsoymeat" - trash = /obj/item/trash/plate - New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("nutriment", 8) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/boiledspaghetti - name = "boiled spaghetti" - desc = "A plain dish of noodles, this sucks." - icon_state = "spaghettiboiled" - trash = /obj/item/trash/plate - New() - ..() - reagents.add_reagent("nutriment", 2) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/pastatomato - name = "spaghetti" - desc = "Spaghetti and crushed tomatoes. Just like your abusive father used to make!" - icon_state = "pastatomato" - trash = /obj/item/trash/plate - New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("tomatojuice", 10) - bitesize = 4 - -/obj/item/weapon/reagent_containers/food/snacks/copypasta - name = "copypasta" - desc = "You probably shouldn't try this, you always hear people talking about how bad it is..." - icon_state = "copypasta" - trash = /obj/item/trash/plate - New() - ..() - reagents.add_reagent("nutriment", 12) - reagents.add_reagent("tomatojuice", 20) - bitesize = 1 - -/obj/item/weapon/reagent_containers/food/snacks/meatballspaghetti - name = "spaghetti and meatballs" - desc = "Now that's a nic'e meatball!" - icon_state = "meatballspaghetti" - trash = /obj/item/trash/plate - New() - ..() - reagents.add_reagent("nutriment", 8) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/spesslaw - name = "spesslaw" - desc = "A lawyers favourite." - icon_state = "spesslaw" - New() - ..() - reagents.add_reagent("nutriment", 8) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/carrotfries - name = "carrot fries" - desc = "Tasty fries from fresh Carrots." - icon_state = "carrotfries" - trash = /obj/item/trash/plate - New() - ..() - reagents.add_reagent("nutriment", 3) - reagents.add_reagent("imidazoline", 3) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/burger/superbite - name = "super bite burger" - desc = "This is a mountain of a burger. FOOD!" - icon_state = "superbiteburger" - New() - ..() - reagents.add_reagent("nutriment", 40) - bitesize = 10 - -/obj/item/weapon/reagent_containers/food/snacks/candiedapple - name = "candied apple" - desc = "An apple coated in sugary sweetness." - icon_state = "candiedapple" - New() - ..() - reagents.add_reagent("nutriment", 3) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/applepie - name = "apple pie" - desc = "A pie containing sweet sweet love...or apple." - icon_state = "applepie" - New() - ..() - reagents.add_reagent("nutriment", 4) - bitesize = 3 - - -/obj/item/weapon/reagent_containers/food/snacks/cherrypie - name = "cherry pie" - desc = "Taste so good, make a grown man cry." - icon_state = "cherrypie" - New() - ..() - reagents.add_reagent("nutriment", 4) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/twobread - name = "two bread" - desc = "This seems awfully bitter." - icon_state = "twobread" - New() - ..() - reagents.add_reagent("nutriment", 2) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/jellysandwich - name = "jelly sandwich" - desc = "You wish you had some peanut butter to go with this..." - icon_state = "jellysandwich" - trash = /obj/item/trash/plate - New() - ..() - reagents.add_reagent("nutriment", 2) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/jellysandwich/slime - New() - ..() - reagents.add_reagent("slimejelly", 5) - -/obj/item/weapon/reagent_containers/food/snacks/jellysandwich/cherry - New() - ..() - reagents.add_reagent("cherryjelly", 5) -/* -/obj/item/weapon/reagent_containers/food/snacks/boiledslimecore - name = "Boiled slime Core" - desc = "A boiled red thing." - icon_state = "boiledslimecore" - New() - ..() - reagents.add_reagent("slimejelly", 5) - bitesize = 3 -*/ -/obj/item/weapon/reagent_containers/food/snacks/mint - name = "mint" - desc = "it is only wafer thin." - icon_state = "mint" - New() - ..() - reagents.add_reagent("minttoxin", 1) - bitesize = 1 - -/obj/item/weapon/reagent_containers/food/snacks/mushroomsoup - name = "chantrelle soup" - desc = "A delicious and hearty mushroom soup." - icon_state = "mushroomsoup" - trash = /obj/item/trash/snack_bowl - New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - reagents.add_reagent("nutriment", 8) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/plumphelmetbiscuit - name = "plump helmet biscuit" - desc = "This is a finely-prepared plump helmet biscuit. The ingredients are exceptionally minced plump helmet, and well-minced dwarven wheat flour." - icon_state = "phelmbiscuit" - New() - ..() - if(prob(10)) - name = "exceptional plump helmet biscuit" - desc = "Microwave is taken by a fey mood! It has cooked an exceptional plump helmet biscuit!" - reagents.add_reagent("nutriment", 8) - reagents.add_reagent("tricordrazine", 5) - bitesize = 2 - else - reagents.add_reagent("nutriment", 5) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/chawanmushi - name = "chawanmushi" - desc = "A legendary egg custard that makes friends out of enemies. Probably too hot for a cat to eat." - icon_state = "chawanmushi" - trash = /obj/item/trash/snack_bowl - New() - ..() - reagents.add_reagent("nutriment", 5) - bitesize = 1 - -/obj/item/weapon/reagent_containers/food/snacks/beetsoup - name = "beet soup" - desc = "Wait, how do you spell it again..?" - icon_state = "beetsoup" - trash = /obj/item/trash/snack_bowl - New() - ..() - eatverb = pick("slurp","sip","suck","inhale","drink") - name = pick("borsch","bortsch","borstch","borsh","borshch","borscht") - reagents.add_reagent("nutriment", 8) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/herbsalad - name = "herb salad" - desc = "A tasty salad with apples on top." - icon_state = "herbsalad" - trash = /obj/item/trash/snack_bowl - New() - ..() - reagents.add_reagent("nutriment", 8) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/validsalad - name = "valid salad" - desc = "It's just an herb salad with meatballs and fried potato slices. Nothing suspicious about it." - icon_state = "validsalad" - trash = /obj/item/trash/snack_bowl - New() - ..() - reagents.add_reagent("nutriment", 8) - reagents.add_reagent("doctorsdelight", 5) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/appletart - name = "golden apple streusel tart" - desc = "A tasty dessert that won't make it through a metal detector." - icon_state = "gappletart" - trash = /obj/item/trash/plate - New() - ..() - reagents.add_reagent("nutriment", 8) - reagents.add_reagent("gold", 5) - bitesize = 3 - -/////////////////////////////////////////////////Sliceable//////////////////////////////////////// -// All the food items that can be sliced into smaller bits like Meatbread and Cheesewheels - -//sliceable only changes w class, storage is handled by sliceable/store -/obj/item/weapon/reagent_containers/food/snacks/sliceable - w_class = 3 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/attackby(obj/item/weapon/W, mob/user) - if(W.w_class <= 2) - if(contents.len) - return 0 - if(!iscarbon(user)) - return 0 - user << "You slip [W] inside [src]." - user.unEquip(W) - add_fingerprint(user) - contents += W - return 1 // no afterattack here - else - ..() - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/meatbread - name = "meatbread loaf" - desc = "The culinary base of every self-respecting eloquen/tg/entleman." - icon_state = "meatbread" - slice_path = /obj/item/weapon/reagent_containers/food/snacks/meatbreadslice - slices_num = 5 - New() - ..() - reagents.add_reagent("nutriment", 30) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/meatbreadslice - name = "meatbread slice" - desc = "A slice of delicious meatbread." - icon_state = "meatbreadslice" - trash = /obj/item/trash/plate - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/xenomeatbread - name = "xenomeatbread loaf" - desc = "The culinary base of every self-respecting eloquen/tg/entleman. Extra Heretical." - icon_state = "xenomeatbread" - slice_path = /obj/item/weapon/reagent_containers/food/snacks/xenomeatbreadslice - slices_num = 5 - New() - ..() - reagents.add_reagent("nutriment", 30) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/xenomeatbreadslice - name = "xenomeatbread slice" - desc = "A slice of delicious meatbread. Extra Heretical." - icon_state = "xenobreadslice" - trash = /obj/item/trash/plate - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/spidermeatbread - name = "spider meat loaf" - desc = "Reassuringly green meatloaf made from spider meat." - icon_state = "spidermeatbread" - slice_path = /obj/item/weapon/reagent_containers/food/snacks/spidermeatbreadslice - slices_num = 5 - New() - ..() - reagents.add_reagent("nutriment", 30) - reagents.add_reagent("toxin", 15) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/spidermeatbreadslice - name = "spider meat bread slice" - desc = "A slice of meatloaf made from an animal that most likely still wants you dead." - icon_state = "xenobreadslice" - trash = /obj/item/trash/plate - bitesize = 2 - New() - ..() - reagents.add_reagent("toxin", 2) - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/bananabread - name = "banana-nut bread" - desc = "A heavenly and filling treat." - icon_state = "bananabread" - slice_path = /obj/item/weapon/reagent_containers/food/snacks/bananabreadslice - slices_num = 5 - New() - ..() - reagents.add_reagent("banana", 20) - reagents.add_reagent("nutriment", 20) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/bananabreadslice - name = "banana-nut bread slice" - desc = "A slice of delicious banana bread." - icon_state = "bananabreadslice" - trash = /obj/item/trash/plate - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/tofubread - name = "Tofubread" - desc = "Like meatbread but for vegetarians. Not guaranteed to give superpowers." - icon_state = "tofubread" - slice_path = /obj/item/weapon/reagent_containers/food/snacks/tofubreadslice - slices_num = 5 - New() - ..() - reagents.add_reagent("nutriment", 30) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/tofubreadslice - name = "tofubread slice" - desc = "A slice of delicious tofubread." - icon_state = "tofubreadslice" - trash = /obj/item/trash/plate - bitesize = 2 - - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/carrotcake - name = "carrot cake" - desc = "A favorite desert of a certain wascally wabbit. Not a lie." - icon_state = "carrotcake" - slice_path = /obj/item/weapon/reagent_containers/food/snacks/carrotcakeslice - slices_num = 5 - New() - ..() - reagents.add_reagent("nutriment", 25) - reagents.add_reagent("imidazoline", 10) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/carrotcakeslice - name = "carrot cake slice" - desc = "Carrotty slice of Carrot Cake, carrots are good for your eyes! Also not a lie." - icon_state = "carrotcake_slice" - trash = /obj/item/trash/plate - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/braincake - name = "brain cake" - desc = "A squishy cake-thing." - icon_state = "braincake" - slice_path = /obj/item/weapon/reagent_containers/food/snacks/braincakeslice - slices_num = 5 - New() - ..() - reagents.add_reagent("nutriment", 25) - reagents.add_reagent("alkysine", 10) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/braincakeslice - name = "brain cake slice" - desc = "Lemme tell you something about prions. THEY'RE DELICIOUS." - icon_state = "braincakeslice" - trash = /obj/item/trash/plate - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/cheesecake - name = "cheese cake" - desc = "DANGEROUSLY cheesy." - icon_state = "cheesecake" - slice_path = /obj/item/weapon/reagent_containers/food/snacks/cheesecakeslice - slices_num = 5 - New() - ..() - reagents.add_reagent("nutriment", 25) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/cheesecakeslice - name = "cheese cake slice" - desc = "Slice of pure cheestisfaction." - icon_state = "cheesecake_slice" - trash = /obj/item/trash/plate - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/plaincake - name = "vanilla cake" - desc = "A plain cake, not a lie." - icon_state = "plaincake" - slice_path = /obj/item/weapon/reagent_containers/food/snacks/plaincakeslice - slices_num = 5 - New() - ..() - reagents.add_reagent("nutriment", 20) - -/obj/item/weapon/reagent_containers/food/snacks/plaincakeslice - name = "vanilla cake slice" - desc = "Just a slice of cake, it is enough for everyone." - icon_state = "plaincake_slice" - trash = /obj/item/trash/plate - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/orangecake - name = "orange cake" - desc = "A cake with added orange." - icon_state = "orangecake" - slice_path = /obj/item/weapon/reagent_containers/food/snacks/orangecakeslice - slices_num = 5 - New() - ..() - reagents.add_reagent("nutriment", 20) - -/obj/item/weapon/reagent_containers/food/snacks/orangecakeslice - name = "orange cake slice" - desc = "Just a slice of cake, it is enough for everyone." - icon_state = "orangecake_slice" - trash = /obj/item/trash/plate - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/limecake - name = "lime cake" - desc = "A cake with added lime." - icon_state = "limecake" - slice_path = /obj/item/weapon/reagent_containers/food/snacks/limecakeslice - slices_num = 5 - New() - ..() - reagents.add_reagent("nutriment", 20) - -/obj/item/weapon/reagent_containers/food/snacks/limecakeslice - name = "lime cake slice" - desc = "Just a slice of cake, it is enough for everyone." - icon_state = "limecake_slice" - trash = /obj/item/trash/plate - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/lemoncake - name = "lemon cake" - desc = "A cake with added lemon." - icon_state = "lemoncake" - slice_path = /obj/item/weapon/reagent_containers/food/snacks/lemoncakeslice - slices_num = 5 - New() - ..() - reagents.add_reagent("nutriment", 20) - -/obj/item/weapon/reagent_containers/food/snacks/lemoncakeslice - name = "lemon cake slice" - desc = "Just a slice of cake, it is enough for everyone." - icon_state = "lemoncake_slice" - trash = /obj/item/trash/plate - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/chocolatecake - name = "chocolate cake" - desc = "A cake with added chocolate." - icon_state = "chocolatecake" - slice_path = /obj/item/weapon/reagent_containers/food/snacks/chocolatecakeslice - slices_num = 5 - New() - ..() - reagents.add_reagent("nutriment", 20) - -/obj/item/weapon/reagent_containers/food/snacks/chocolatecakeslice - name = "chocolate cake slice" - desc = "Just a slice of cake, it is enough for everyone." - icon_state = "chocolatecake_slice" - trash = /obj/item/trash/plate - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesewheel - name = "cheese wheel" - desc = "A big wheel of delcious Cheddar." - icon_state = "cheesewheel" - slice_path = /obj/item/weapon/reagent_containers/food/snacks/cheesewedge - slices_num = 5 - New() - ..() - reagents.add_reagent("nutriment", 20) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/cheesewedge - name = "cheese wedge" - desc = "A wedge of delicious Cheddar. The cheese wheel it was cut from can't have gone far." - icon_state = "cheesewedge" - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/birthdaycake - name = "birthday cake" - desc = "Happy Birthday little clown..." - icon_state = "birthdaycake" - slice_path = /obj/item/weapon/reagent_containers/food/snacks/birthdaycakeslice - slices_num = 5 - New() - ..() - reagents.add_reagent("nutriment", 20) - reagents.add_reagent("sprinkles", 10) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/birthdaycakeslice - name = "birthday cake slice" - desc = "A slice of your birthday." - icon_state = "birthdaycakeslice" - trash = /obj/item/trash/plate - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/bread - name = "bread" - desc = "Some plain old Earthen bread." - icon_state = "bread" - slice_path = /obj/item/weapon/reagent_containers/food/snacks/breadslice - slices_num = 5 - New() - ..() - reagents.add_reagent("nutriment", 6) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/breadslice - name = "bread slice" - desc = "A slice of home." - icon_state = "breadslice" - trash = /obj/item/trash/plate - bitesize = 2 - - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/creamcheesebread - name = "cream cheese bread" - desc = "Yum yum yum!" - icon_state = "creamcheesebread" - slice_path = /obj/item/weapon/reagent_containers/food/snacks/creamcheesebreadslice - slices_num = 5 - New() - ..() - reagents.add_reagent("nutriment", 20) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/creamcheesebreadslice - name = "cream cheese bread slice" - desc = "A slice of yum!" - icon_state = "creamcheesebreadslice" - trash = /obj/item/trash/plate - bitesize = 2 - - -/obj/item/weapon/reagent_containers/food/snacks/watermelonslice - name = "watermelon slice" - desc = "A slice of watery goodness." - icon_state = "watermelonslice" - bitesize = 2 - - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/applecake - name = "apple cake" - desc = "A cake centred with Apple." - icon_state = "applecake" - slice_path = /obj/item/weapon/reagent_containers/food/snacks/applecakeslice - slices_num = 5 - New() - ..() - reagents.add_reagent("nutriment", 15) - -/obj/item/weapon/reagent_containers/food/snacks/applecakeslice - name = "apple cake slice" - desc = "A slice of heavenly cake." - icon_state = "applecakeslice" - trash = /obj/item/trash/plate - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/pumpkinpie - name = "pumpkin pie" - desc = "A delicious treat for the autumn months." - icon_state = "pumpkinpie" - slice_path = /obj/item/weapon/reagent_containers/food/snacks/pumpkinpieslice - slices_num = 5 - New() - ..() - reagents.add_reagent("nutriment", 15) - -/obj/item/weapon/reagent_containers/food/snacks/pumpkinpieslice - name = "pumpkin pie slice" - desc = "A slice of pumpkin pie, with whipped cream on top. Perfection." - icon_state = "pumpkinpieslice" - trash = /obj/item/trash/plate - bitesize = 2 - - - -/////////////////////////////////////////////////PIZZA//////////////////////////////////////// - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza - slices_num = 6 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margherita - name = "margherita" - desc = "The most cheezy pizza in galaxy." - icon_state = "pizzamargherita" - slice_path = /obj/item/weapon/reagent_containers/food/snacks/margheritaslice - slices_num = 6 - New() - ..() - reagents.add_reagent("nutriment", 40) - reagents.add_reagent("tomatojuice", 6) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/margheritaslice - name = "margherita slice" - desc = "A slice of the most cheezy pizza in galaxy." - icon_state = "pizzamargheritaslice" - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza - name = "meatpizza" - desc = "Greasy pizza with delicious meat." - icon_state = "meatpizza" - slice_path = /obj/item/weapon/reagent_containers/food/snacks/meatpizzaslice - slices_num = 6 - New() - ..() - reagents.add_reagent("nutriment", 50) - reagents.add_reagent("tomatojuice", 6) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/meatpizzaslice - name = "meatpizza slice" - desc = "A nutritious slice of meatpizza." - icon_state = "meatpizzaslice" - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza - name = "mushroom pizza" - desc = "Very special pizza." - icon_state = "mushroompizza" - slice_path = /obj/item/weapon/reagent_containers/food/snacks/mushroompizzaslice - slices_num = 6 - New() - ..() - reagents.add_reagent("nutriment", 35) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/mushroompizzaslice - name = "mushroom pizza slice" - desc = "Maybe it is the last slice of pizza in your life." - icon_state = "mushroompizzaslice" - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza - name = "vegetable pizza" - desc = "No one of Tomatos Sapiens were harmed during making this pizza." - icon_state = "vegetablepizza" - slice_path = /obj/item/weapon/reagent_containers/food/snacks/vegetablepizzaslice - slices_num = 6 - New() - ..() - reagents.add_reagent("nutriment", 30) - reagents.add_reagent("tomatojuice", 6) - reagents.add_reagent("imidazoline", 12) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/vegetablepizzaslice - name = "vegetable pizza slice" - desc = "A slice of the most green pizza of all pizzas not containing green ingredients." - icon_state = "vegetablepizzaslice" - bitesize = 2 - -/obj/item/pizzabox - name = "pizza box" - desc = "A box suited for pizzas." - icon = 'icons/obj/food.dmi' - icon_state = "pizzabox1" - var/open = 0 // Is the box open? - var/ismessy = 0 // Fancy mess on the lid - var/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/pizza // Content pizza - var/list/boxes = list() // If the boxes are stacked, they come here - var/boxtag = "" - -/obj/item/pizzabox/update_icon() - overlays = list() - - // Set appropriate description - if(open && pizza) - desc = "A box suited for pizzas. It appears to have [pizza] inside." - else if(boxes.len > 0) - desc = "A pile of boxes suited for pizzas. There appears to be [boxes.len + 1] boxes in the pile." - - var/obj/item/pizzabox/topbox = boxes[boxes.len] - var/toptag = topbox.boxtag - if(toptag != "") - desc = "[desc] The box on top has a tag, it reads: '[toptag]'." - else - desc = "A box suited for pizzas." - - if(boxtag != "") - desc = "[desc] The box has a tag, it reads: '[boxtag]'." - - // Icon states and overlays - if(open) - if(ismessy) - icon_state = "pizzabox_messy" - else - icon_state = "pizzabox_open" - - if(pizza) - var/image/pizzaimg = image("food.dmi", icon_state = pizza.icon_state) - pizzaimg.pixel_y = -3 - overlays += pizzaimg - - return - else - // Stupid code because byondcode sucks - var/doimgtag = 0 - if(boxes.len > 0) - var/obj/item/pizzabox/topbox = boxes[boxes.len] - if( topbox.boxtag != "" ) - doimgtag = 1 - else - if(boxtag != "") - doimgtag = 1 - - if(doimgtag) - var/image/tagimg = image("food.dmi", icon_state = "pizzabox_tag") - tagimg.pixel_y = boxes.len * 3 - overlays += tagimg - - icon_state = "pizzabox[boxes.len+1]" - - -/obj/item/pizzabox/attack_hand(mob/user) - if(open && pizza) - user.put_in_hands( pizza ) - - user << "You take the [pizza] out of [src]." - pizza = null - update_icon() - return - - if(boxes.len > 0) - if(user.get_inactive_hand() != src) - ..() - return - - var/obj/item/pizzabox/box = boxes[boxes.len] - boxes -= box - - user.put_in_hands(box) - user << "You remove the topmost [src.name] from your hand." - box.update_icon() - update_icon() - return - ..() - -/obj/item/pizzabox/attack_self(mob/user) - if(boxes.len > 0 ) - return - - open = !open - - if(open && pizza) - ismessy = 1 - - update_icon() - - -/obj/item/pizzabox/attackby(obj/item/I, mob/user) - if( istype(I, /obj/item/pizzabox/) ) - var/obj/item/pizzabox/box = I - - if(!box.open && !open) - // Make a list of all boxes to be added - var/list/boxestoadd = list() - boxestoadd += box - for(var/obj/item/pizzabox/i in box.boxes) - boxestoadd += i - - if((boxes.len+1) + boxestoadd.len <= 5) - user.drop_item() - - box.loc = src - box.boxes = list() // Clear the box boxes so we don't have boxes inside boxes. - Xzibit - boxes.Add( boxestoadd ) - - box.update_icon() - update_icon() - - user << "You put [box] on top of [src]!" - else - user << "The stack is dangerously high!" - else - user << "Close [box] first!" - - return - - if(istype(I, /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/)) // Long ass fucking object name - if(open) - user.drop_item() - I.loc = src - pizza = I - - update_icon() - - user << "You put [I] in [src]." - else - user << "You try to push [I] through the lid but it doesn't work!" - return - - if(istype(I, /obj/item/weapon/pen/)) - if(open ) - return - - var/t = input("Enter what you want to add to the tag:", "Write", null, null) as text - - var/obj/item/pizzabox/boxtotagto = src - if(boxes.len > 0) - boxtotagto = boxes[boxes.len] - - boxtotagto.boxtag = copytext("[boxtotagto.boxtag][t]", 1, 30) - - update_icon() - return - ..() - -/obj/item/weapon/reagent_containers/food/snacks/cracker - name = "cracker" - desc = "It's a salted cracker." - icon_state = "cracker" - - New() - ..() - reagents.add_reagent("nutriment", 1) - - -////////////////////////////////FOOD ADDITIONS//////////////////////////////////////////// - -/obj/item/weapon/reagent_containers/food/snacks/wrap - name = "egg wrap" - desc = "The precursor to Pigs in a Blanket." - icon_state = "wrap" - New() - ..() - reagents.add_reagent("nutriment", 5) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/beans - name = "tin of beans" - desc = "Musical fruit in a slightly less musical container." - icon_state = "beans" - New() - ..() - reagents.add_reagent("nutriment", 10) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/benedict - name = "eggs benedict" - desc = "There is only one egg on this, how rude." - icon_state = "benedict" - New() - ..() - reagents.add_reagent("nutriment", 6) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/hotdog - name = "hotdog" - desc = "Fresh footlong ready to go down on." - icon_state = "hotdog" - New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("ketchup", 3) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/meatbun - name = "meat bun" - desc = "Has the potential to not be Dog." - icon_state = "meatbun" - New() - ..() - reagents.add_reagent("nutriment", 6) - bitesize = 6 - -/obj/item/weapon/reagent_containers/food/snacks/icecreamsandwich - name = "icecream sandwich" - desc = "Portable Ice-cream in it's own packaging." - icon_state = "icecreamsandwich" - New() - ..() - reagents.add_reagent("nutriment", 2) - reagents.add_reagent("ice", 2) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/notasandwich - name = "not-a-sandwich" - desc = "Something seems to be wrong with this, you can't quite figure what. Maybe it's his moustache." - icon_state = "notasandwich" - trash = /obj/item/trash/plate - New() - ..() - reagents.add_reagent("nutriment", 6) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/sugarcookie - name = "sugar cookie" - desc = "Just like your little sister used to make." - icon_state = "sugarcookie" - New() - ..() - reagents.add_reagent("nutriment", 2) - reagents.add_reagent("sugar", 5) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/boiledspiderleg - name = "boiled spider leg" - desc = "A giant spider's leg that's still twitching after being cooked. Gross!" - icon_state = "spiderlegcooked" - trash = /obj/item/trash/plate - New() - ..() - reagents.add_reagent("nutriment", 3) - reagents.add_reagent("toxin", 2) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/spidereggs - name = "spider eggs" - desc = "A cluster of juicy spider eggs. A great side dish for when you care not for your health." - icon_state = "spidereggs" - New() - ..() - reagents.add_reagent("nutriment", 2) - reagents.add_reagent("toxin", 3) - bitesize = 2 - -/obj/item/weapon/reagent_containers/food/snacks/spidereggsham - name = "green eggs and ham" - desc = "Would you eat them on a train? Would you eat them on a plane? Would you eat them on a state of the art corporate deathtrap floating through space?" - icon_state = "spidereggsham" - trash = /obj/item/trash/plate - New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("sodiumchloride", 1) - reagents.add_reagent("toxin", 3) - bitesize = 4 - -/obj/item/weapon/reagent_containers/food/snacks/sashimi - name = "carp sashimi" - desc = "Celebrate surviving attack from hostile alien lifeforms by hospitalising yourself." - icon_state = "sashimi" - New() - ..() - reagents.add_reagent("nutriment", 6) - reagents.add_reagent("toxin", 5) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/burger/red - name = "red burger" - desc = "Perfect for hiding the fact it's burnt to a crisp." - icon_state = "cburger" - color = "#DA0000FF" - New() - ..() - reagents.add_reagent("redcrayonpowder", 10) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/burger/orange - name = "orange burger" - desc = "Contains 0% juice." - icon_state = "cburger" - color = "#FF9300FF" - New() - ..() - reagents.add_reagent("orangecrayonpowder", 10) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/burger/yellow - name = "yellow burger" - desc = "Bright to the last bite." - icon_state = "cburger" - color = "#FFF200FF" - New() - ..() - reagents.add_reagent("yellowcrayonpowder", 10) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/burger/green - name = "green burger" - desc = "It's not tainted meat, it's painted meat!" - icon_state = "cburger" - color = "#A8E61DFF" - New() - ..() - reagents.add_reagent("greencrayonpowder", 10) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/burger/blue - name = "blue burger" - desc = "Is this blue rare?" - icon_state = "cburger" - color = "#00B7EFFF" - New() - ..() - reagents.add_reagent("bluecrayonpowder", 10) - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/burger/purple - name = "purple burger" - desc = "Regal and low class at the same time." - icon_state = "cburger" - color = "#DA00FFFF" - New() - ..() - reagents.add_reagent("purplecrayonpowder", 10) - bitesize = 3 +/obj/item/weapon/reagent_containers/food/snacks + name = "snack" + desc = "yummy" + icon = 'icons/obj/food.dmi' + icon_state = null + var/bitesize = 1 + var/bitecount = 0 + var/trash = null + var/slice_path + var/slices_num + var/eatverb + var/wrapped = 0 + var/dried_type = null + var/potency = null + var/dry = 0 + + //Placeholder for effect that trigger on eating that aren't tied to reagents. +/obj/item/weapon/reagent_containers/food/snacks/proc/On_Consume() + if(!usr) return + if(!reagents.total_volume) + usr.unEquip(src) //so icons update :[ + + if(trash) + if(ispath(trash,/obj/item/weapon/grown)) + var/obj/item/TrashItem = new trash(usr,src.potency) + usr.put_in_hands(TrashItem) + else if(ispath(trash,/obj/item)) + var/obj/item/TrashItem = new trash(usr) + usr.put_in_hands(TrashItem) + else if(istype(trash,/obj/item)) + usr.put_in_hands(trash) + qdel(src) + return + + +/obj/item/weapon/reagent_containers/food/snacks/attack_self(mob/user) + return + + +/obj/item/weapon/reagent_containers/food/snacks/attack(mob/M, mob/user, def_zone) + if(!eatverb) + eatverb = pick("bite","chew","nibble","gnaw","gobble","chomp") + if(!reagents.total_volume) //Shouldn't be needed but it checks to see if it has anything left in it. + user << "None of [src] left, oh no!" + M.unEquip(src) //so icons update :[ + qdel(src) + return 0 + if(istype(M, /mob/living/carbon)) + if(!canconsume(M, user)) + return 0 + + if(M == user) //If you're eating it yourself. + var/fullness = M.nutrition + (M.reagents.get_reagent_amount("nutriment") * 25) + if(wrapped) + M << "You can't eat wrapped food!" + return 0 + else if(fullness <= 50) + M << "You hungrily [eatverb] some of \the [src] and gobble it down!" + else if(fullness > 50 && fullness < 150) + M << "You hungrily begin to [eatverb] \the [src]." + else if(fullness > 150 && fullness < 350) + M << "You [eatverb] \the [src]." + else if(fullness > 350 && fullness < 550) + M << "You unwillingly [eatverb] a bit of \the [src]." + else if(fullness > (550 * (1 + M.overeatduration / 2000))) // The more you eat - the more you can eat + M << "You cannot force any more of \the [src] to go down your throat." + return 0 + else + if(! (isslime(M) || isbrain(M)) ) //If you're feeding it to someone else. + var/fullness = M.nutrition + (M.reagents.get_reagent_amount("nutriment") * 25) + if(wrapped) + return 0 + if(fullness <= (550 * (1 + M.overeatduration / 1000))) + M.visible_message("[user] attempts to feed [M] [src].", \ + "[user] attempts to feed [M] [src].") + else + M.visible_message("[user] cannot force anymore of [src] down [M]'s throat!", \ + "[user] cannot force anymore of [src] down [M]'s throat!") + return 0 + + if(!do_mob(user, M)) return + add_logs(user, M, "fed", object="[reagentlist(src)]") + M.visible_message("[user] forces [M] to eat [src].", \ + "[user] feeds [M] to eat [src].") + + else + user << "[M] doesn't seem to have a mouth!" + return + + if(reagents) //Handle ingestion of the reagent. + playsound(M.loc,'sound/items/eatfood.ogg', rand(10,50), 1) + if(reagents.total_volume) + reagents.reaction(M, INGEST) + spawn(5) + if(reagents.total_volume > bitesize) //pretty sure this is unnecessary + reagents.trans_to(M, bitesize) + else + reagents.trans_to(M, reagents.total_volume) + bitecount++ + On_Consume() + return 1 + + return 0 + + +/obj/item/weapon/reagent_containers/food/snacks/afterattack(obj/target, mob/user , proximity) + return + + +/obj/item/weapon/reagent_containers/food/snacks/examine() + set src in view() + ..() + if(!(usr in range(1)) && usr != loc) + return + if(bitecount == 0) + return + else if(bitecount == 1) + usr << "[src] was bitten by someone!" + else if(bitecount <= 3) + usr << "[src] was bitten [bitecount] times!" + else + usr << "[src] was bitten multiple times!" + + +/obj/item/weapon/reagent_containers/food/snacks/attackby(obj/item/weapon/W, mob/user) + if(istype(W,/obj/item/weapon/storage)) + ..() // -> item/attackby() + return 0 + if((slices_num <= 0 || !slices_num) || !slice_path) + return 0 + var/inaccurate = 0 + if( \ + istype(W, /obj/item/weapon/kitchenknife) || \ + istype(W, /obj/item/weapon/butch) || \ + istype(W, /obj/item/weapon/scalpel) || \ + istype(W, /obj/item/weapon/kitchen/utensil/knife) \ + ) + else if( \ + istype(W, /obj/item/weapon/circular_saw) || \ + istype(W, /obj/item/weapon/melee/energy/sword) && W:active || \ + istype(W, /obj/item/weapon/melee/energy/blade) || \ + istype(W, /obj/item/weapon/shovel) || \ + istype(W, /obj/item/weapon/hatchet) \ + ) + inaccurate = 1 + else + return 0 // --- this is everything that is NOT a slicing implement, and which is not being slipped into food; allow afterattack --- + + if ( \ + !isturf(src.loc) || \ + !(locate(/obj/structure/table) in src.loc) && \ + !(locate(/obj/structure/optable) in src.loc) && \ + !(locate(/obj/item/weapon/storage/bag/tray) in src.loc) \ + ) + user << "You cannot slice [src] here! You need a table or at least a tray." + return 1 + + var/slices_lost = 0 + if (!inaccurate) + user.visible_message( \ + "[user] slices [src].", \ + "You slice [src]." \ + ) + else + user.visible_message( \ + "[user] inaccurately slices [src] with [W]!", \ + "You inaccurately slice [src] with your [W]!" \ + ) + slices_lost = rand(1,min(1,round(slices_num/2))) + var/reagents_per_slice = reagents.total_volume/slices_num + for(var/i=1 to (slices_num-slices_lost)) + var/obj/slice = new slice_path (src.loc) + reagents.trans_to(slice,reagents_per_slice) + qdel(src) // so long and thanks for all the fish + + +/obj/item/weapon/reagent_containers/food/snacks/Destroy() + if(contents) + for(var/atom/movable/something in contents) + something.loc = get_turf(src) + ..() + + +/obj/item/weapon/reagent_containers/food/snacks/attack_animal(mob/M) + if(isanimal(M)) + if(iscorgi(M)) + if(bitecount == 0 || prob(50)) + M.emote("nibbles away at the [src]") + bitecount++ + if(bitecount >= 5) + var/sattisfaction_text = pick("burps from enjoyment", "yaps for more", "woofs twice", "looks at the area where the [src] was") + if(sattisfaction_text) + M.emote("[sattisfaction_text]") + qdel(src) + + +////////////////////////////////////////////////// +////////////////////////////////////////////Snacks +////////////////////////////////////////////////// +//Items in the "Snacks" subcategory are food items that people actually eat. The key points are that they are created +// already filled with reagents and are destroyed when empty. Additionally, they make a "munching" noise when eaten. + +//Notes by Darem: Food in the "snacks" subtype can hold a maximum of 50 units Generally speaking, you don't want to go over 40 +// total for the item because you want to leave space for extra condiments. If you want effect besides healing, add a reagent for +// it. Try to stick to existing reagents when possible (so if you want a stronger healing effect, just use Tricordrazine). On use +// effect (such as the old officer eating a donut code) requires a unique reagent (unless you can figure out a better way). + +//The nutriment reagent and bitesize variable replace the old heal_amt and amount variables. Each unit of nutriment is equal to +// 2 of the old heal_amt variable. Bitesize is the rate at which the reagents are consumed. So if you have 6 nutriment and a +// bitesize of 2, then it'll take 3 bites to eat. Unlike the old system, the contained reagents are evenly spread among all +// the bites. No more contained reagents = no more bites. + +//Here is an example of the new formatting for anyone who wants to add more food items. +///obj/item/weapon/reagent_containers/food/snacks/xenoburger //Identification path for the object. +// 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. +// ..() //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. +// bitesize = 3 //This is the amount each bite consumes. + + + + +/obj/item/weapon/reagent_containers/food/snacks/aesirsalad + name = "\improper Aesir salad" + desc = "Probably too incredible for mortal men to fully enjoy." + icon_state = "aesirsalad" + trash = /obj/item/trash/snack_bowl + New() + ..() + eatverb = pick("crunch","devour","nibble","gnaw","gobble","chomp") + reagents.add_reagent("nutriment", 8) + reagents.add_reagent("tricordrazine", 8) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/candy + name = "candy" + desc = "Nougat love it or hate it." + icon_state = "candy" + trash = /obj/item/trash/candy + New() + ..() + reagents.add_reagent("nutriment", 1) + reagents.add_reagent("sugar", 3) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/candy_corn + name = "candy corn" + desc = "It's a handful of candy corn. Can be stored in a detective's hat." + icon_state = "candy_corn" + New() + ..() + reagents.add_reagent("nutriment", 4) + reagents.add_reagent("sugar", 2) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/chips + name = "chips" + desc = "Commander Riker's What-The-Crisps" + icon_state = "chips" + trash = /obj/item/trash/chips + New() + ..() + reagents.add_reagent("nutriment", 3) + bitesize = 1 + +/obj/item/weapon/reagent_containers/food/snacks/cookie + name = "cookie" + desc = "COOKIE!!!" + icon_state = "COOKIE!!!" + New() + ..() + reagents.add_reagent("nutriment", 5) + bitesize = 1 + +/obj/item/weapon/reagent_containers/food/snacks/chocolatebar + name = "chocolate bar" + desc = "Such, sweet, fattening food." + icon_state = "chocolatebarunwrapped" + wrapped = 0 + bitesize = 2 + New() + ..() + reagents.add_reagent("nutriment", 3) + reagents.add_reagent("sugar", 2) + reagents.add_reagent("coco", 2) + + attack_self(mob/user) + if(wrapped) + Unwrap(user) + else + ..() + +/obj/item/weapon/reagent_containers/food/snacks/chocolatebar/proc/Unwrap(mob/user) + icon_state = "chocolatebarunwrapped" + desc = "It won't make you all sticky." + user << "You remove the foil." + wrapped = 0 + + +/obj/item/weapon/reagent_containers/food/snacks/chocolatebar/wrapped + desc = "It's wrapped in some foil." + icon_state = "chocolatebar" + wrapped = 1 + +/obj/item/weapon/reagent_containers/food/snacks/chocolateegg + name = "chocolate egg" + desc = "Such, sweet, fattening food." + icon_state = "chocolateegg" + New() + ..() + reagents.add_reagent("nutriment", 4) + reagents.add_reagent("sugar", 2) + reagents.add_reagent("coco", 2) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/donut + name = "donut" + icon_state = "donut1" + +/obj/item/weapon/reagent_containers/food/snacks/donut/normal + desc = "Goes great with Robust Coffee." + New() + ..() + reagents.add_reagent("nutriment", 3) + reagents.add_reagent("sprinkles", 1) + src.bitesize = 3 + if(prob(30)) + src.icon_state = "donut2" + src.name = "frosted donut" + reagents.add_reagent("sprinkles", 2) + +/obj/item/weapon/reagent_containers/food/snacks/donut/chaos + name = "chaos donut" + desc = "Like life, it never quite tastes the same." + New() + ..() + reagents.add_reagent("nutriment", 2) + reagents.add_reagent("sprinkles", 1) + bitesize = 10 + switch(rand(1,10)) + if(1) + reagents.add_reagent("nutriment", 3) + if(2) + reagents.add_reagent("capsaicin", 3) + if(3) + reagents.add_reagent("frostoil", 3) + if(4) + reagents.add_reagent("sprinkles", 3) + if(5) + reagents.add_reagent("plasma", 3) + if(6) + reagents.add_reagent("coco", 3) + if(7) + reagents.add_reagent("slimejelly", 3) + if(8) + reagents.add_reagent("banana", 3) + if(9) + reagents.add_reagent("berryjuice", 3) + if(10) + reagents.add_reagent("tricordrazine", 3) + if(prob(30)) + icon_state = "donut2" + name = "frosted chaos donut" + reagents.add_reagent("sprinkles", 2) + + +/obj/item/weapon/reagent_containers/food/snacks/donut/jelly + name = "jelly donut" + desc = "You jelly?" + icon_state = "jdonut1" + bitesize = 5 + New() + ..() + reagents.add_reagent("nutriment", 3) + reagents.add_reagent("sprinkles", 1) + reagents.add_reagent("berryjuice", 5) + if(prob(30)) + icon_state = "jdonut2" + name = "Frosted Jelly Donut" + reagents.add_reagent("sprinkles", 2) + +/obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly + name = "jelly donut" + desc = "You jelly?" + icon_state = "jdonut1" + bitesize = 5 + New() + ..() + reagents.add_reagent("nutriment", 3) + reagents.add_reagent("sprinkles", 1) + reagents.add_reagent("slimejelly", 5) + bitesize = 5 + if(prob(30)) + icon_state = "jdonut2" + name = "Frosted Jelly Donut" + reagents.add_reagent("sprinkles", 2) + +/obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly + name = "jelly donut" + desc = "You jelly?" + icon_state = "jdonut1" + bitesize = 5 + New() + ..() + reagents.add_reagent("nutriment", 3) + reagents.add_reagent("sprinkles", 1) + reagents.add_reagent("cherryjelly", 5) + if(prob(30)) + icon_state = "jdonut2" + name = "Frosted Jelly Donut" + reagents.add_reagent("sprinkles", 2) + +/obj/item/weapon/reagent_containers/food/snacks/egg + name = "egg" + desc = "An egg!" + icon_state = "egg" + New() + ..() + reagents.add_reagent("nutriment", 1) + + throw_impact(atom/hit_atom) + ..() + new/obj/effect/decal/cleanable/egg_smudge(src.loc) + reagents.reaction(hit_atom, TOUCH) + del(src) // Not qdel, because it'll hit other mobs then the floor for runtimes. + + attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype( W, /obj/item/toy/crayon )) + var/obj/item/toy/crayon/C = W + var/clr = C.colourName + + if(!(clr in list("blue", "green", "mime", "orange", "purple", "rainbow", "red", "yellow"))) + usr << "[src] refuses to take on this colour!" + return + + usr << "You colour [src] [clr]." + icon_state = "egg-[clr]" + item_color = clr + else + ..() + +/obj/item/weapon/reagent_containers/food/snacks/egg/blue + icon_state = "egg-blue" + item_color = "blue" + +/obj/item/weapon/reagent_containers/food/snacks/egg/green + icon_state = "egg-green" + item_color = "green" + +/obj/item/weapon/reagent_containers/food/snacks/egg/mime + icon_state = "egg-mime" + item_color = "mime" + +/obj/item/weapon/reagent_containers/food/snacks/egg/orange + icon_state = "egg-orange" + item_color = "orange" + +/obj/item/weapon/reagent_containers/food/snacks/egg/purple + icon_state = "egg-purple" + item_color = "purple" + +/obj/item/weapon/reagent_containers/food/snacks/egg/rainbow + icon_state = "egg-rainbow" + item_color = "rainbow" + +/obj/item/weapon/reagent_containers/food/snacks/egg/red + icon_state = "egg-red" + item_color = "red" + +/obj/item/weapon/reagent_containers/food/snacks/egg/yellow + icon_state = "egg-yellow" + item_color = "yellow" + +/obj/item/weapon/reagent_containers/food/snacks/friedegg + name = "fried egg" + desc = "A fried egg, with a touch of salt and pepper." + icon_state = "friedegg" + New() + ..() + reagents.add_reagent("nutriment", 2) + reagents.add_reagent("sodiumchloride", 1) + reagents.add_reagent("blackpepper", 1) + bitesize = 1 + +/obj/item/weapon/reagent_containers/food/snacks/boiledegg + name = "boiled egg" + desc = "A hard boiled egg." + icon_state = "egg" + New() + ..() + reagents.add_reagent("nutriment", 2) + +// /obj/item/weapon/reagent_containers/food/snacks/flour //Has been converted into a reagent. Use that instead of the item! + +/obj/item/weapon/reagent_containers/food/snacks/tofu + name = "tofu" + desc = "We all love tofu." + icon_state = "tofu" + New() + ..() + reagents.add_reagent("nutriment", 3) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/carpmeat + name = "carp fillet" + desc = "A fillet of spess carp meat." + icon_state = "fishfillet" + New() + ..() + eatverb = pick("bite","chew","choke down","gnaw","swallow","chomp") + reagents.add_reagent("nutriment", 3) + reagents.add_reagent("carpotoxin", 3) + bitesize = 6 + +/obj/item/weapon/reagent_containers/food/snacks/carpmeat/imitation + name = "imitation carp fillet" + desc = "Almost just like the real thing, kinda." + +/obj/item/weapon/reagent_containers/food/snacks/fishfingers + name = "fish fingers" + desc = "A finger of fish." + icon_state = "fishfingers" + New() + ..() + reagents.add_reagent("nutriment", 4) + reagents.add_reagent("carpotoxin", 3) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice + name = "huge mushroom slice" + desc = "A slice from a huge mushroom." + icon_state = "hugemushroomslice" + New() + ..() + reagents.add_reagent("nutriment", 3) + src.bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/tomatomeat + name = "tomato slice" + desc = "A slice from a huge tomato." + icon_state = "tomatomeat" + New() + ..() + reagents.add_reagent("nutriment", 3) + src.bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/bearmeat + name = "bear meat" + desc = "A very manly slab of meat." + icon_state = "bearmeat" + New() + ..() + reagents.add_reagent("nutriment", 12) + reagents.add_reagent("hyperzine", 5) + src.bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/xenomeat + name = "meat" + desc = "A slab of meat" + icon_state = "xenomeat" + New() + ..() + reagents.add_reagent("nutriment", 3) + src.bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/spidermeat + name = "spider meat" + desc = "A slab of spider meat." + icon_state = "spidermeat" + New() + ..() + reagents.add_reagent("nutriment", 3) + reagents.add_reagent("toxin", 3) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/spiderleg + name = "spider leg" + desc = "A still twitching leg of a giant spider... you don't really want to eat this, do you?" + icon_state = "spiderleg" + New() + ..() + reagents.add_reagent("nutriment", 2) + reagents.add_reagent("toxin", 2) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/cornedbeef + name = "corned beef and cabbage" + desc = "Now you can feel like a real tourist vacationing in Ireland." + icon_state = "cornedbeef" + trash = /obj/item/trash/plate + New() + ..() + reagents.add_reagent("nutriment", 6) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/faggot + name = "faggot" + desc = "A great meal all round. Not a cord of wood." + icon_state = "faggot" + New() + ..() + reagents.add_reagent("nutriment", 3) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/sausage + name = "sausage" + desc = "A piece of mixed, long meat." + icon_state = "sausage" + New() + ..() + eatverb = pick("bite","chew","nibble","deep throat","gobble","chomp") + reagents.add_reagent("nutriment", 6) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/donkpocket + name = "\improper Donk-pocket" + desc = "The food of choice for the seasoned traitor." + icon_state = "donkpocket" + New() + ..() + reagents.add_reagent("nutriment", 4) + + var/warm = 0 + proc/cooltime() //Not working, derp? + if(warm) + spawn(4200) //ew + warm = 0 + reagents.del_reagent("tricordrazine") + name = initial(name) + return + +/obj/item/weapon/reagent_containers/food/snacks/burger/brain + name = "brainburger" + desc = "A strange looking burger. It looks almost sentient." + icon_state = "brainburger" + New() + ..() + reagents.add_reagent("alkysine", 6) + +/obj/item/weapon/reagent_containers/food/snacks/burger/ghost + name = "ghost burger" + desc = "Too Spooky!" + alpha = 125 + +/obj/item/weapon/reagent_containers/food/snacks/burger + name = "burger" + desc = "The cornerstone of every nutritious breakfast." + icon_state = "hburger" + New() + ..() + reagents.add_reagent("nutriment", 6) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/burger/human + var/hname = "" + var/job = null + name = "-burger" + desc = "A bloody burger." + icon_state = "hburger" + +/obj/item/weapon/reagent_containers/food/snacks/burger/appendix + name = "appendix burger" + desc = "Tastes like appendicitis." + +/obj/item/weapon/reagent_containers/food/snacks/burger/fish + name = "fillet -o- carp sandwich" + desc = "Almost like a carp is yelling somewhere... Give me back that fillet -o- carp, give me that carp." + icon_state = "fishburger" + New() + ..() + reagents.add_reagent("carpotoxin", 3) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/burger/tofu + name = "tofu burger" + desc = "What.. is that meat?" + icon_state = "tofuburger" + +/obj/item/weapon/reagent_containers/food/snacks/burger/roburger + name = "roburger" + desc = "The lettuce is the only organic component. Beep." + icon_state = "roburger" + New() + ..() + reagents.add_reagent("nanites", 2) + +/obj/item/weapon/reagent_containers/food/snacks/burger/roburgerbig + name = "roburger" + desc = "This massive patty looks like poison. Beep." + icon_state = "roburger" + volume = 106 + New() + ..() + reagents.add_reagent("nanites", 100) + bitesize = 0.1 + +/obj/item/weapon/reagent_containers/food/snacks/burger/xeno + name = "xenoburger" + desc = "Smells caustic. Tastes like heresy." + icon_state = "xburger" + New() + ..() + reagents.add_reagent("nutriment", 2) + +/obj/item/weapon/reagent_containers/food/snacks/burger/clown + name = "clown burger" + desc = "This tastes funny..." + icon_state = "clownburger" + +/obj/item/weapon/reagent_containers/food/snacks/burger/mime + name = "mime burger" + desc = "Its taste defies language." + icon_state = "mimeburger" + +/obj/item/weapon/reagent_containers/food/snacks/omelette //FUCK THIS + name = "omelette du fromage" + desc = "That's all you can say!" + icon_state = "omelette" + trash = /obj/item/trash/plate + + New() + ..() + reagents.add_reagent("nutriment", 8) + bitesize = 1 + + attackby(obj/item/weapon/W, mob/user) + if(istype(W,/obj/item/weapon/kitchen/utensil/fork)) + if(W.icon_state == "forkloaded") + user << "You already have omelette on your fork." + return + W.icon_state = "forkloaded" + user.visible_message( \ + "[user] takes a piece of omelette with their fork!", \ + "You take a piece of omelette with your fork!" \ + ) + reagents.remove_reagent("nutriment", 1) + if(reagents.total_volume <= 0) + qdel(src) + +/obj/item/weapon/reagent_containers/food/snacks/muffin + name = "muffin" + desc = "A delicious and spongy little cake." + icon_state = "muffin" + New() + ..() + reagents.add_reagent("nutriment", 6) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/muffin/berry + name = "berry muffin" + icon_state = "berrymuffin" + desc = "A delicious and spongy little cake, with berries." + +/obj/item/weapon/reagent_containers/food/snacks/muffin/booberry + name = "booberry muffin" + icon_state = "berrymuffin" + alpha = 125 + desc = "My stomach is a graveyard! No living being can quench my bloodthirst!" + +/obj/item/weapon/reagent_containers/food/snacks/pie + name = "banana cream pie" + desc = "Just like back home, on clown planet! HONK!" + icon_state = "pie" + trash = /obj/item/trash/plate + New() + ..() + reagents.add_reagent("nutriment", 4) + reagents.add_reagent("banana",5) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/pie/throw_impact(atom/hit_atom) + ..() + new/obj/effect/decal/cleanable/pie_smudge(src.loc) + reagents.reaction(hit_atom, TOUCH) + del(src) // Not qdel, because it'll hit other mobs then the floor for runtimes. + +/obj/item/weapon/reagent_containers/food/snacks/berryclafoutis + name = "berry clafoutis" + desc = "No black birds, this is a good sign." + icon_state = "berryclafoutis" + trash = /obj/item/trash/plate + New() + ..() + reagents.add_reagent("nutriment", 4) + reagents.add_reagent("berryjuice", 5) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/waffles + name = "waffles" + desc = "Mmm, waffles." + icon_state = "waffles" + trash = /obj/item/trash/waffles + New() + ..() + reagents.add_reagent("nutriment", 8) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/eggplantparm + name = "eggplant parmigiana" + desc = "The only good recipe for eggplant." + icon_state = "eggplantparm" + trash = /obj/item/trash/plate + New() + ..() + reagents.add_reagent("nutriment", 6) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/soylentgreen + name = "\improper Soylent Green" + desc = "Not made of people. Honest." //Totally people. + icon_state = "soylent_green" + trash = /obj/item/trash/waffles + New() + ..() + reagents.add_reagent("nutriment", 10) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/soylenviridians + name = "\improper Soylent Virdians" + desc = "Not made of people. Honest." //Actually honest for once. + icon_state = "soylent_yellow" + trash = /obj/item/trash/waffles + New() + ..() + reagents.add_reagent("nutriment", 10) + bitesize = 2 + + +/obj/item/weapon/reagent_containers/food/snacks/meatpie + name = "meat-pie" + icon_state = "meatpie" + desc = "An old barber recipe, very delicious!" + trash = /obj/item/trash/plate + New() + ..() + reagents.add_reagent("nutriment", 10) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/tofupie + name = "tofu-pie" + icon_state = "meatpie" + desc = "A delicious tofu pie." + trash = /obj/item/trash/plate + New() + ..() + reagents.add_reagent("nutriment", 10) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/amanita_pie + name = "amanita pie" + desc = "Sweet and tasty poison pie." + icon_state = "amanita_pie" + New() + ..() + reagents.add_reagent("nutriment", 5) + reagents.add_reagent("amatoxin", 3) + reagents.add_reagent("mushroomhallucinogen", 1) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/plump_pie + name = "plump pie" + desc = "I bet you love stuff made out of plump helmets!" + icon_state = "plump_pie" + New() + ..() + if(prob(10)) + name = "exceptional plump pie" + desc = "Microwave is taken by a fey mood! It has cooked an exceptional plump pie!" + reagents.add_reagent("nutriment", 8) + reagents.add_reagent("tricordrazine", 5) + bitesize = 2 + else + reagents.add_reagent("nutriment", 8) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/xemeatpie + name = "xeno-pie" + icon_state = "xenomeatpie" + desc = "A delicious meatpie. Probably heretical." + trash = /obj/item/trash/plate + New() + ..() + reagents.add_reagent("nutriment", 10) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/wingfangchu + name = "wing fang chu" + desc = "A savory dish of alien wing wang in soy." + icon_state = "wingfangchu" + trash = /obj/item/trash/snack_bowl + New() + ..() + reagents.add_reagent("nutriment", 6) + bitesize = 2 + + +/obj/item/weapon/reagent_containers/food/snacks/human/kebab + name = "-kebab" + icon_state = "kebab" + desc = "A human meat, on a stick." + trash = /obj/item/stack/rods + New() + ..() + reagents.add_reagent("nutriment", 8) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/monkeykebab + name = "meat-kebab" + icon_state = "kebab" + desc = "Delicious meat, on a stick." + trash = /obj/item/stack/rods + New() + ..() + reagents.add_reagent("nutriment", 8) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/tofukebab + name = "tofu-kebab" + icon_state = "kebab" + desc = "Vegan meat, on a stick." + trash = /obj/item/stack/rods + New() + ..() + reagents.add_reagent("nutriment", 8) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/cubancarp + name = "\improper Cuban carp" + desc = "A grifftastic sandwich that burns your tongue and then leaves it numb!" + icon_state = "cubancarp" + trash = /obj/item/trash/plate + New() + ..() + reagents.add_reagent("nutriment", 6) + reagents.add_reagent("carpotoxin", 3) + reagents.add_reagent("capsaicin", 3) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/popcorn + name = "popcorn" + desc = "Now let's find some cinema." + icon_state = "popcorn" + trash = /obj/item/trash/popcorn + var/unpopped = 0 + New() + ..() + eatverb = pick("bite","crunch","nibble","gnaw","gobble","chomp") + unpopped = rand(1,10) + reagents.add_reagent("nutriment", 2) + bitesize = 0.1 //this snack is supposed to be eating during looooong time. And this it not dinner food! --rastaf0 + On_Consume() + if(prob(unpopped)) //lol ...what's the point? << AINT SO POINTLESS NO MORE + usr << "\red You bite down on an un-popped kernel, and it hurts your teeth!" + unpopped = max(0, unpopped-1) + reagents.add_reagent("sacid",0.1) //only a little tingle. + ..() + + +/obj/item/weapon/reagent_containers/food/snacks/sosjerky + name = "\improper Scaredy's Private Reserve Beef Jerky" + icon_state = "sosjerky" + desc = "Beef jerky made from the finest space cows." + trash = /obj/item/trash/sosjerky + New() + ..() + reagents.add_reagent("nutriment", 4) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/no_raisin + name = "4no raisins" + icon_state = "4no_raisins" + desc = "Best raisins in the universe. Not sure why." + trash = /obj/item/trash/raisins + New() + ..() + reagents.add_reagent("nutriment", 6) + +/obj/item/weapon/reagent_containers/food/snacks/spacetwinkie + name = "space twinkie" + icon_state = "space_twinkie" + desc = "Guaranteed to survive longer than you will." + New() + ..() + reagents.add_reagent("sugar", 4) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers + name = "cheesie honkers" + desc = "Bite sized cheesie snacks that will honk all over your mouth." + icon_state = "cheesie_honkers" + trash = /obj/item/trash/cheesie + New() + ..() + reagents.add_reagent("nutriment", 4) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/syndicake + name = "syndi-cakes" + icon_state = "syndi_cakes" + desc = "An extremely moist snack cake that tastes just as good after being nuked." + trash = /obj/item/trash/syndi_cakes + New() + ..() + reagents.add_reagent("nutriment", 4) + reagents.add_reagent("doctorsdelight", 5) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/loadedbakedpotato + name = "loaded baked potato" + desc = "Totally baked." + icon_state = "loadedbakedpotato" + New() + ..() + reagents.add_reagent("nutriment", 6) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/fries + name = "space fries" + desc = "AKA: French Fries, Freedom Fries, etc." + icon_state = "fries" + trash = /obj/item/trash/plate + New() + ..() + reagents.add_reagent("nutriment", 4) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/soydope + name = "soy dope" + desc = "Dope from a soy." + icon_state = "soydope" + trash = /obj/item/trash/plate + New() + ..() + reagents.add_reagent("nutriment", 2) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/spaghetti + name = "spaghetti" + desc = "Now that's a nic'e pasta!" + icon_state = "spaghetti" + New() + ..() + reagents.add_reagent("nutriment", 1) + bitesize = 1 + +/obj/item/weapon/reagent_containers/food/snacks/cheesyfries + name = "cheesy fries" + desc = "Fries. Covered in cheese. Duh." + icon_state = "cheesyfries" + trash = /obj/item/trash/plate + New() + ..() + reagents.add_reagent("nutriment", 6) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/fortunecookie + name = "fortune cookie" + desc = "A true prophecy in each cookie!" + icon_state = "fortune_cookie" + New() + ..() + reagents.add_reagent("nutriment", 3) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/badrecipe + name = "burned mess" + desc = "Someone should be demoted from chef for this." + icon_state = "badrecipe" + New() + ..() + eatverb = pick("choke down","nibble","gnaw","chomp") + reagents.add_reagent("toxin", 1) + reagents.add_reagent("carbon", 3) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/meatsteak + name = "meat steak" + desc = "A piece of hot spicy meat." + icon_state = "meatsteak" + trash = /obj/item/trash/plate + New() + ..() + reagents.add_reagent("nutriment", 4) + reagents.add_reagent("sodiumchloride", 1) + reagents.add_reagent("blackpepper", 1) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/spacylibertyduff + name = "spacy liberty duff" + desc = "Jello gelatin, from Alfred Hubbard's cookbook." + icon_state = "spacylibertyduff" + trash = /obj/item/trash/snack_bowl + New() + ..() + reagents.add_reagent("nutriment", 6) + reagents.add_reagent("mushroomhallucinogen", 6) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/amanitajelly + name = "amanita jelly" + desc = "Looks curiously toxic." + icon_state = "amanitajelly" + trash = /obj/item/trash/snack_bowl + New() + ..() + reagents.add_reagent("nutriment", 6) + reagents.add_reagent("amatoxin", 6) + reagents.add_reagent("mushroomhallucinogen", 3) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/poppypretzel + name = "poppy pretzel" + desc = "It's all twisted up!" + icon_state = "poppypretzel" + bitesize = 2 + New() + ..() + reagents.add_reagent("nutriment", 5) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/meatballsoup + name = "meatball soup" + desc = "You've got balls kid, BALLS!" + icon_state = "meatballsoup" + trash = /obj/item/trash/snack_bowl + New() + ..() + eatverb = pick("slurp","sip","suck","inhale","drink") + reagents.add_reagent("nutriment", 8) + reagents.add_reagent("water", 5) + bitesize = 5 + +/obj/item/weapon/reagent_containers/food/snacks/slimesoup + name = "slime soup" + desc = "If no water is available, you may substitute tears." + icon_state = "slimesoup" + New() + ..() + eatverb = pick("slurp","sip","suck","inhale","drink") + reagents.add_reagent("slimejelly", 5) + reagents.add_reagent("water", 10) + bitesize = 5 + +/obj/item/weapon/reagent_containers/food/snacks/bloodsoup + name = "tomato soup" + desc = "Smells like copper." + icon_state = "tomatosoup" + New() + ..() + eatverb = pick("slurp","sip","suck","inhale","drink") + reagents.add_reagent("nutriment", 2) + reagents.add_reagent("blood", 10) + reagents.add_reagent("water", 5) + bitesize = 5 + +/obj/item/weapon/reagent_containers/food/snacks/clownstears + name = "clown's tears" + desc = "Not very funny." + icon_state = "clownstears" + New() + ..() + eatverb = pick("slurp","sip","suck","inhale","drink") + reagents.add_reagent("nutriment", 4) + reagents.add_reagent("banana", 5) + reagents.add_reagent("water", 10) + bitesize = 5 + +/obj/item/weapon/reagent_containers/food/snacks/vegetablesoup + name = "vegetable soup" + desc = "A true vegan meal." + icon_state = "vegetablesoup" + trash = /obj/item/trash/snack_bowl + New() + ..() + eatverb = pick("slurp","sip","suck","inhale","drink") + reagents.add_reagent("nutriment", 8) + reagents.add_reagent("water", 5) + bitesize = 5 + +/obj/item/weapon/reagent_containers/food/snacks/nettlesoup + name = "nettle soup" + desc = "To think, the botanist would've beat you to death with one of these." + icon_state = "nettlesoup" + trash = /obj/item/trash/snack_bowl + New() + ..() + eatverb = pick("slurp","sip","suck","inhale","drink") + reagents.add_reagent("nutriment", 8) + reagents.add_reagent("water", 5) + reagents.add_reagent("tricordrazine", 5) + bitesize = 5 + +/obj/item/weapon/reagent_containers/food/snacks/mysterysoup + name = "mystery soup" + desc = "The mystery is, why aren't you eating it?" + icon_state = "mysterysoup" + trash = /obj/item/trash/snack_bowl + New() + ..() + eatverb = pick("slurp","sip","suck","inhale","drink") + switch(rand(1,10)) + if(1) + reagents.add_reagent("nutriment", 6) + reagents.add_reagent("capsaicin", 3) + reagents.add_reagent("tomatojuice", 2) + if(2) + reagents.add_reagent("nutriment", 6) + reagents.add_reagent("frostoil", 3) + reagents.add_reagent("tomatojuice", 2) + if(3) + reagents.add_reagent("nutriment", 5) + reagents.add_reagent("water", 5) + reagents.add_reagent("tricordrazine", 5) + if(4) + reagents.add_reagent("nutriment", 5) + reagents.add_reagent("water", 10) + if(5) + reagents.add_reagent("nutriment", 2) + reagents.add_reagent("banana", 10) + if(6) + reagents.add_reagent("nutriment", 6) + reagents.add_reagent("blood", 10) + if(7) + reagents.add_reagent("slimejelly", 10) + reagents.add_reagent("water", 10) + if(8) + reagents.add_reagent("carbon", 10) + reagents.add_reagent("toxin", 10) + if(9) + reagents.add_reagent("nutriment", 5) + reagents.add_reagent("tomatojuice", 10) + if(10) + reagents.add_reagent("nutriment", 6) + reagents.add_reagent("tomatojuice", 5) + reagents.add_reagent("imidazoline", 5) + bitesize = 5 + +/obj/item/weapon/reagent_containers/food/snacks/wishsoup + name = "wish soup" + desc = "I wish this was soup." + icon_state = "wishsoup" + trash = /obj/item/trash/snack_bowl + New() + ..() + eatverb = pick("slurp","sip","suck","inhale","drink") + reagents.add_reagent("water", 10) + bitesize = 5 + if(prob(25)) + desc = "A wish come true!" + reagents.add_reagent("nutriment", 8) + +/obj/item/weapon/reagent_containers/food/snacks/hotchili + name = "hot chili" + desc = "A five alarm Texan Chili!" + icon_state = "hotchili" + trash = /obj/item/trash/snack_bowl + New() + ..() + eatverb = pick("slurp","sip","suck","inhale","drink") + reagents.add_reagent("nutriment", 6) + reagents.add_reagent("capsaicin", 3) + reagents.add_reagent("tomatojuice", 2) + bitesize = 5 + + +/obj/item/weapon/reagent_containers/food/snacks/coldchili + name = "cold chili" + desc = "This slush is barely a liquid!" + icon_state = "coldchili" + trash = /obj/item/trash/snack_bowl + New() + ..() + eatverb = pick("slurp","sip","suck","inhale","drink") + reagents.add_reagent("nutriment", 6) + reagents.add_reagent("frostoil", 3) + reagents.add_reagent("tomatojuice", 2) + bitesize = 5 + +/* No more of this +/obj/item/weapon/reagent_containers/food/snacks/telebacon + name = "tele bacon" + desc = "It tastes a little odd but it is still delicious." + icon_state = "bacon" + var/obj/item/device/radio/beacon/bacon/baconbeacon + bitesize = 2 + New() + ..() + reagents.add_reagent("nutriment", 4) + baconbeacon = new /obj/item/device/radio/beacon/bacon(src) + On_Consume() + if(!reagents.total_volume) + baconbeacon.loc = usr + baconbeacon.digest_delay() +*/ + +/obj/item/weapon/reagent_containers/food/snacks/monkeycube + name = "monkey cube" + desc = "Just add water!" + icon_state = "monkeycube" + bitesize = 12 + wrapped = 0 + + New() + ..() + reagents.add_reagent("nutriment",10) + + afterattack(obj/O, mob/user,proximity) + if(!proximity) return + if(istype(O,/obj/structure/sink) && !wrapped) + user << "You place [src] under a stream of water..." + user.drop_item() + loc = get_turf(O) + return Expand() + ..() + + attack_self(mob/user) + if(wrapped) + Unwrap(user) + + proc/Expand() + visible_message("[src] expands!") + new /mob/living/carbon/monkey(get_turf(src)) + qdel(src) + + proc/Unwrap(mob/user) + icon_state = "monkeycube" + desc = "Just add water!" + user << "You unwrap the cube." + wrapped = 0 + + +/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped + desc = "Still wrapped in some paper." + icon_state = "monkeycubewrap" + wrapped = 1 + + +/obj/item/weapon/reagent_containers/food/snacks/burger/spell + name = "spell burger" + desc = "This is absolutely Ei Nath." + icon_state = "spellburger" + +/obj/item/weapon/reagent_containers/food/snacks/burger/bigbite + name = "big bite burger" + desc = "Forget the Big Mac. THIS is the future!" + icon_state = "bigbiteburger" + New() + ..() + reagents.add_reagent("nutriment", 8) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/enchiladas + name = "enchiladas" + desc = "Viva La Mexico!" + icon_state = "enchiladas" + New() + ..() + reagents.add_reagent("nutriment",8) + reagents.add_reagent("capsaicin", 6) + bitesize = 4 + +/obj/item/weapon/reagent_containers/food/snacks/monkeysdelight + name = "monkey's delight" + desc = "A delicious soup with dumplings and hunks of monkey meat simmered to perfection, in a broth that tastes faintly of bananas." + icon_state = "monkeysdelight" + trash = /obj/item/trash/snack_bowl + New() + ..() + reagents.add_reagent("nutriment", 10) + reagents.add_reagent("banana", 5) + reagents.add_reagent("blackpepper", 1) + reagents.add_reagent("sodiumchloride", 1) + bitesize = 6 + +/obj/item/weapon/reagent_containers/food/snacks/baguette + name = "baguette" + desc = "Bon appetit!" + icon_state = "baguette" + New() + ..() + reagents.add_reagent("nutriment", 6) + reagents.add_reagent("blackpepper", 1) + reagents.add_reagent("sodiumchloride", 1) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/fishandchips + name = "fish and chips" + desc = "I do say so myself chap." + icon_state = "fishandchips" + New() + ..() + reagents.add_reagent("nutriment", 6) + reagents.add_reagent("carpotoxin", 3) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/sandwich + name = "sandwich" + desc = "A grand creation of meat, cheese, bread, and several leaves of lettuce! Arthur Dent would be proud." + icon_state = "sandwich" + trash = /obj/item/trash/plate + New() + ..() + reagents.add_reagent("nutriment", 6) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/toastedsandwich + name = "toasted sandwich" + desc = "Now if you only had a pepper bar." + icon_state = "toastedsandwich" + trash = /obj/item/trash/plate + New() + ..() + reagents.add_reagent("nutriment", 6) + reagents.add_reagent("carbon", 2) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/grilledcheese + name = "grilled cheese sandwich" + desc = "Goes great with Tomato soup!" + icon_state = "toastedsandwich" + trash = /obj/item/trash/plate + New() + ..() + reagents.add_reagent("nutriment", 7) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/tomatosoup + name = "tomato soup" + desc = "Drinking this feels like being a vampire! A tomato vampire..." + icon_state = "tomatosoup" + trash = /obj/item/trash/snack_bowl + New() + ..() + eatverb = pick("slurp","sip","suck","inhale","drink") + reagents.add_reagent("nutriment", 5) + reagents.add_reagent("tomatojuice", 10) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/rofflewaffles + name = "roffle waffles" + desc = "Waffles from Roffle. Co." + icon_state = "rofflewaffles" + trash = /obj/item/trash/waffles + New() + ..() + reagents.add_reagent("nutriment", 8) + reagents.add_reagent("mushroomhallucinogen", 8) + bitesize = 4 + +/obj/item/weapon/reagent_containers/food/snacks/stew + name = "stew" + desc = "A nice and warm stew. Healthy and strong." + icon_state = "stew" + trash = /obj/item/trash/snack_bowl + New() + ..() + eatverb = pick("slurp","sip","suck","inhale","drink") + reagents.add_reagent("nutriment", 10) + reagents.add_reagent("tomatojuice", 5) + reagents.add_reagent("imidazoline", 5) + reagents.add_reagent("water", 5) + bitesize = 10 + +/obj/item/weapon/reagent_containers/food/snacks/jelliedtoast + name = "jellied toast" + desc = "A slice of bread covered with delicious jam." + icon_state = "jellytoast" + trash = /obj/item/trash/plate + New() + ..() + reagents.add_reagent("nutriment", 1) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/jelliedtoast/cherry + New() + ..() + reagents.add_reagent("cherryjelly", 5) + +/obj/item/weapon/reagent_containers/food/snacks/jelliedtoast/slime + New() + ..() + reagents.add_reagent("slimejelly", 5) + +/obj/item/weapon/reagent_containers/food/snacks/burger/jelly + name = "jelly burger" + desc = "Culinary delight..?" + icon_state = "jellyburger" + +/obj/item/weapon/reagent_containers/food/snacks/burger/jelly/slime + New() + ..() + reagents.add_reagent("slimejelly", 5) + +/obj/item/weapon/reagent_containers/food/snacks/burger/jelly/cherry + New() + ..() + reagents.add_reagent("cherryjelly", 5) + +/obj/item/weapon/reagent_containers/food/snacks/milosoup + name = "milosoup" + desc = "The universes best soup! Yum!!!" + icon_state = "milosoup" + trash = /obj/item/trash/snack_bowl + New() + ..() + eatverb = pick("slurp","sip","suck","inhale","drink") + reagents.add_reagent("nutriment", 8) + reagents.add_reagent("water", 5) + bitesize = 4 + +/obj/item/weapon/reagent_containers/food/snacks/stewedsoymeat + name = "stewed soy meat" + desc = "Even non-vegetarians will LOVE this!" + icon_state = "stewedsoymeat" + trash = /obj/item/trash/plate + New() + ..() + eatverb = pick("slurp","sip","suck","inhale","drink") + reagents.add_reagent("nutriment", 8) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/boiledspaghetti + name = "boiled spaghetti" + desc = "A plain dish of noodles, this sucks." + icon_state = "spaghettiboiled" + trash = /obj/item/trash/plate + New() + ..() + reagents.add_reagent("nutriment", 2) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/pastatomato + name = "spaghetti" + desc = "Spaghetti and crushed tomatoes. Just like your abusive father used to make!" + icon_state = "pastatomato" + trash = /obj/item/trash/plate + New() + ..() + reagents.add_reagent("nutriment", 6) + reagents.add_reagent("tomatojuice", 10) + bitesize = 4 + +/obj/item/weapon/reagent_containers/food/snacks/copypasta + name = "copypasta" + desc = "You probably shouldn't try this, you always hear people talking about how bad it is..." + icon_state = "copypasta" + trash = /obj/item/trash/plate + New() + ..() + reagents.add_reagent("nutriment", 12) + reagents.add_reagent("tomatojuice", 20) + bitesize = 1 + +/obj/item/weapon/reagent_containers/food/snacks/meatballspaghetti + name = "spaghetti and meatballs" + desc = "Now that's a nic'e meatball!" + icon_state = "meatballspaghetti" + trash = /obj/item/trash/plate + New() + ..() + reagents.add_reagent("nutriment", 8) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/spesslaw + name = "spesslaw" + desc = "A lawyers favourite." + icon_state = "spesslaw" + New() + ..() + reagents.add_reagent("nutriment", 8) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/carrotfries + name = "carrot fries" + desc = "Tasty fries from fresh Carrots." + icon_state = "carrotfries" + trash = /obj/item/trash/plate + New() + ..() + reagents.add_reagent("nutriment", 3) + reagents.add_reagent("imidazoline", 3) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/burger/superbite + name = "super bite burger" + desc = "This is a mountain of a burger. FOOD!" + icon_state = "superbiteburger" + New() + ..() + reagents.add_reagent("nutriment", 40) + bitesize = 10 + +/obj/item/weapon/reagent_containers/food/snacks/candiedapple + name = "candied apple" + desc = "An apple coated in sugary sweetness." + icon_state = "candiedapple" + New() + ..() + reagents.add_reagent("nutriment", 3) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/applepie + name = "apple pie" + desc = "A pie containing sweet sweet love...or apple." + icon_state = "applepie" + New() + ..() + reagents.add_reagent("nutriment", 4) + bitesize = 3 + + +/obj/item/weapon/reagent_containers/food/snacks/cherrypie + name = "cherry pie" + desc = "Taste so good, make a grown man cry." + icon_state = "cherrypie" + New() + ..() + reagents.add_reagent("nutriment", 4) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/twobread + name = "two bread" + desc = "This seems awfully bitter." + icon_state = "twobread" + New() + ..() + reagents.add_reagent("nutriment", 2) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/jellysandwich + name = "jelly sandwich" + desc = "You wish you had some peanut butter to go with this..." + icon_state = "jellysandwich" + trash = /obj/item/trash/plate + New() + ..() + reagents.add_reagent("nutriment", 2) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/jellysandwich/slime + New() + ..() + reagents.add_reagent("slimejelly", 5) + +/obj/item/weapon/reagent_containers/food/snacks/jellysandwich/cherry + New() + ..() + reagents.add_reagent("cherryjelly", 5) +/* +/obj/item/weapon/reagent_containers/food/snacks/boiledslimecore + name = "Boiled slime Core" + desc = "A boiled red thing." + icon_state = "boiledslimecore" + New() + ..() + reagents.add_reagent("slimejelly", 5) + bitesize = 3 +*/ +/obj/item/weapon/reagent_containers/food/snacks/mint + name = "mint" + desc = "it is only wafer thin." + icon_state = "mint" + New() + ..() + reagents.add_reagent("minttoxin", 1) + bitesize = 1 + +/obj/item/weapon/reagent_containers/food/snacks/mushroomsoup + name = "chantrelle soup" + desc = "A delicious and hearty mushroom soup." + icon_state = "mushroomsoup" + trash = /obj/item/trash/snack_bowl + New() + ..() + eatverb = pick("slurp","sip","suck","inhale","drink") + reagents.add_reagent("nutriment", 8) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/plumphelmetbiscuit + name = "plump helmet biscuit" + desc = "This is a finely-prepared plump helmet biscuit. The ingredients are exceptionally minced plump helmet, and well-minced dwarven wheat flour." + icon_state = "phelmbiscuit" + New() + ..() + if(prob(10)) + name = "exceptional plump helmet biscuit" + desc = "Microwave is taken by a fey mood! It has cooked an exceptional plump helmet biscuit!" + reagents.add_reagent("nutriment", 8) + reagents.add_reagent("tricordrazine", 5) + bitesize = 2 + else + reagents.add_reagent("nutriment", 5) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/chawanmushi + name = "chawanmushi" + desc = "A legendary egg custard that makes friends out of enemies. Probably too hot for a cat to eat." + icon_state = "chawanmushi" + trash = /obj/item/trash/snack_bowl + New() + ..() + reagents.add_reagent("nutriment", 5) + bitesize = 1 + +/obj/item/weapon/reagent_containers/food/snacks/beetsoup + name = "beet soup" + desc = "Wait, how do you spell it again..?" + icon_state = "beetsoup" + trash = /obj/item/trash/snack_bowl + New() + ..() + eatverb = pick("slurp","sip","suck","inhale","drink") + name = pick("borsch","bortsch","borstch","borsh","borshch","borscht") + reagents.add_reagent("nutriment", 8) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/herbsalad + name = "herb salad" + desc = "A tasty salad with apples on top." + icon_state = "herbsalad" + trash = /obj/item/trash/snack_bowl + New() + ..() + reagents.add_reagent("nutriment", 8) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/validsalad + name = "valid salad" + desc = "It's just an herb salad with meatballs and fried potato slices. Nothing suspicious about it." + icon_state = "validsalad" + trash = /obj/item/trash/snack_bowl + New() + ..() + reagents.add_reagent("nutriment", 8) + reagents.add_reagent("doctorsdelight", 5) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/appletart + name = "golden apple streusel tart" + desc = "A tasty dessert that won't make it through a metal detector." + icon_state = "gappletart" + trash = /obj/item/trash/plate + New() + ..() + reagents.add_reagent("nutriment", 8) + reagents.add_reagent("gold", 5) + bitesize = 3 + +/////////////////////////////////////////////////Sliceable//////////////////////////////////////// +// All the food items that can be sliced into smaller bits like Meatbread and Cheesewheels + +//sliceable only changes w class, storage is handled by sliceable/store +/obj/item/weapon/reagent_containers/food/snacks/sliceable + w_class = 3 + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/store + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/attackby(obj/item/weapon/W, mob/user) + if(W.w_class <= 2) + if(contents.len) + return 0 + if(!iscarbon(user)) + return 0 + user << "You slip [W] inside [src]." + user.unEquip(W) + add_fingerprint(user) + contents += W + return 1 // no afterattack here + else + ..() + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/meatbread + name = "meatbread loaf" + desc = "The culinary base of every self-respecting eloquen/tg/entleman." + icon_state = "meatbread" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/meatbreadslice + slices_num = 5 + New() + ..() + reagents.add_reagent("nutriment", 30) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/meatbreadslice + name = "meatbread slice" + desc = "A slice of delicious meatbread." + icon_state = "meatbreadslice" + trash = /obj/item/trash/plate + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/xenomeatbread + name = "xenomeatbread loaf" + desc = "The culinary base of every self-respecting eloquen/tg/entleman. Extra Heretical." + icon_state = "xenomeatbread" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/xenomeatbreadslice + slices_num = 5 + New() + ..() + reagents.add_reagent("nutriment", 30) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/xenomeatbreadslice + name = "xenomeatbread slice" + desc = "A slice of delicious meatbread. Extra Heretical." + icon_state = "xenobreadslice" + trash = /obj/item/trash/plate + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/spidermeatbread + name = "spider meat loaf" + desc = "Reassuringly green meatloaf made from spider meat." + icon_state = "spidermeatbread" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/spidermeatbreadslice + slices_num = 5 + New() + ..() + reagents.add_reagent("nutriment", 30) + reagents.add_reagent("toxin", 15) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/spidermeatbreadslice + name = "spider meat bread slice" + desc = "A slice of meatloaf made from an animal that most likely still wants you dead." + icon_state = "xenobreadslice" + trash = /obj/item/trash/plate + bitesize = 2 + New() + ..() + reagents.add_reagent("toxin", 2) + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/bananabread + name = "banana-nut bread" + desc = "A heavenly and filling treat." + icon_state = "bananabread" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/bananabreadslice + slices_num = 5 + New() + ..() + reagents.add_reagent("banana", 20) + reagents.add_reagent("nutriment", 20) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/bananabreadslice + name = "banana-nut bread slice" + desc = "A slice of delicious banana bread." + icon_state = "bananabreadslice" + trash = /obj/item/trash/plate + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/tofubread + name = "Tofubread" + desc = "Like meatbread but for vegetarians. Not guaranteed to give superpowers." + icon_state = "tofubread" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/tofubreadslice + slices_num = 5 + New() + ..() + reagents.add_reagent("nutriment", 30) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/tofubreadslice + name = "tofubread slice" + desc = "A slice of delicious tofubread." + icon_state = "tofubreadslice" + trash = /obj/item/trash/plate + bitesize = 2 + + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/carrotcake + name = "carrot cake" + desc = "A favorite desert of a certain wascally wabbit. Not a lie." + icon_state = "carrotcake" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/carrotcakeslice + slices_num = 5 + New() + ..() + reagents.add_reagent("nutriment", 25) + reagents.add_reagent("imidazoline", 10) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/carrotcakeslice + name = "carrot cake slice" + desc = "Carrotty slice of Carrot Cake, carrots are good for your eyes! Also not a lie." + icon_state = "carrotcake_slice" + trash = /obj/item/trash/plate + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/braincake + name = "brain cake" + desc = "A squishy cake-thing." + icon_state = "braincake" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/braincakeslice + slices_num = 5 + New() + ..() + reagents.add_reagent("nutriment", 25) + reagents.add_reagent("alkysine", 10) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/braincakeslice + name = "brain cake slice" + desc = "Lemme tell you something about prions. THEY'RE DELICIOUS." + icon_state = "braincakeslice" + trash = /obj/item/trash/plate + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/cheesecake + name = "cheese cake" + desc = "DANGEROUSLY cheesy." + icon_state = "cheesecake" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/cheesecakeslice + slices_num = 5 + New() + ..() + reagents.add_reagent("nutriment", 25) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/cheesecakeslice + name = "cheese cake slice" + desc = "Slice of pure cheestisfaction." + icon_state = "cheesecake_slice" + trash = /obj/item/trash/plate + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/plaincake + name = "vanilla cake" + desc = "A plain cake, not a lie." + icon_state = "plaincake" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/plaincakeslice + slices_num = 5 + New() + ..() + reagents.add_reagent("nutriment", 20) + +/obj/item/weapon/reagent_containers/food/snacks/plaincakeslice + name = "vanilla cake slice" + desc = "Just a slice of cake, it is enough for everyone." + icon_state = "plaincake_slice" + trash = /obj/item/trash/plate + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/orangecake + name = "orange cake" + desc = "A cake with added orange." + icon_state = "orangecake" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/orangecakeslice + slices_num = 5 + New() + ..() + reagents.add_reagent("nutriment", 20) + +/obj/item/weapon/reagent_containers/food/snacks/orangecakeslice + name = "orange cake slice" + desc = "Just a slice of cake, it is enough for everyone." + icon_state = "orangecake_slice" + trash = /obj/item/trash/plate + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/limecake + name = "lime cake" + desc = "A cake with added lime." + icon_state = "limecake" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/limecakeslice + slices_num = 5 + New() + ..() + reagents.add_reagent("nutriment", 20) + +/obj/item/weapon/reagent_containers/food/snacks/limecakeslice + name = "lime cake slice" + desc = "Just a slice of cake, it is enough for everyone." + icon_state = "limecake_slice" + trash = /obj/item/trash/plate + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/lemoncake + name = "lemon cake" + desc = "A cake with added lemon." + icon_state = "lemoncake" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/lemoncakeslice + slices_num = 5 + New() + ..() + reagents.add_reagent("nutriment", 20) + +/obj/item/weapon/reagent_containers/food/snacks/lemoncakeslice + name = "lemon cake slice" + desc = "Just a slice of cake, it is enough for everyone." + icon_state = "lemoncake_slice" + trash = /obj/item/trash/plate + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/chocolatecake + name = "chocolate cake" + desc = "A cake with added chocolate." + icon_state = "chocolatecake" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/chocolatecakeslice + slices_num = 5 + New() + ..() + reagents.add_reagent("nutriment", 20) + +/obj/item/weapon/reagent_containers/food/snacks/chocolatecakeslice + name = "chocolate cake slice" + desc = "Just a slice of cake, it is enough for everyone." + icon_state = "chocolatecake_slice" + trash = /obj/item/trash/plate + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesewheel + name = "cheese wheel" + desc = "A big wheel of delcious Cheddar." + icon_state = "cheesewheel" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/cheesewedge + slices_num = 5 + New() + ..() + reagents.add_reagent("nutriment", 20) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/cheesewedge + name = "cheese wedge" + desc = "A wedge of delicious Cheddar. The cheese wheel it was cut from can't have gone far." + icon_state = "cheesewedge" + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/birthdaycake + name = "birthday cake" + desc = "Happy Birthday little clown..." + icon_state = "birthdaycake" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/birthdaycakeslice + slices_num = 5 + New() + ..() + reagents.add_reagent("nutriment", 20) + reagents.add_reagent("sprinkles", 10) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/birthdaycakeslice + name = "birthday cake slice" + desc = "A slice of your birthday." + icon_state = "birthdaycakeslice" + trash = /obj/item/trash/plate + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/bread + name = "bread" + desc = "Some plain old Earthen bread." + icon_state = "bread" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/breadslice + slices_num = 5 + New() + ..() + reagents.add_reagent("nutriment", 6) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/breadslice + name = "bread slice" + desc = "A slice of home." + icon_state = "breadslice" + trash = /obj/item/trash/plate + bitesize = 2 + + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/creamcheesebread + name = "cream cheese bread" + desc = "Yum yum yum!" + icon_state = "creamcheesebread" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/creamcheesebreadslice + slices_num = 5 + New() + ..() + reagents.add_reagent("nutriment", 20) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/creamcheesebreadslice + name = "cream cheese bread slice" + desc = "A slice of yum!" + icon_state = "creamcheesebreadslice" + trash = /obj/item/trash/plate + bitesize = 2 + + +/obj/item/weapon/reagent_containers/food/snacks/watermelonslice + name = "watermelon slice" + desc = "A slice of watery goodness." + icon_state = "watermelonslice" + bitesize = 2 + + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/applecake + name = "apple cake" + desc = "A cake centred with Apple." + icon_state = "applecake" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/applecakeslice + slices_num = 5 + New() + ..() + reagents.add_reagent("nutriment", 15) + +/obj/item/weapon/reagent_containers/food/snacks/applecakeslice + name = "apple cake slice" + desc = "A slice of heavenly cake." + icon_state = "applecakeslice" + trash = /obj/item/trash/plate + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/pumpkinpie + name = "pumpkin pie" + desc = "A delicious treat for the autumn months." + icon_state = "pumpkinpie" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/pumpkinpieslice + slices_num = 5 + New() + ..() + reagents.add_reagent("nutriment", 15) + +/obj/item/weapon/reagent_containers/food/snacks/pumpkinpieslice + name = "pumpkin pie slice" + desc = "A slice of pumpkin pie, with whipped cream on top. Perfection." + icon_state = "pumpkinpieslice" + trash = /obj/item/trash/plate + bitesize = 2 + + + +/////////////////////////////////////////////////PIZZA//////////////////////////////////////// + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza + slices_num = 6 + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margherita + name = "margherita" + desc = "The most cheezy pizza in galaxy." + icon_state = "pizzamargherita" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/margheritaslice + slices_num = 6 + New() + ..() + reagents.add_reagent("nutriment", 40) + reagents.add_reagent("tomatojuice", 6) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/margheritaslice + name = "margherita slice" + desc = "A slice of the most cheezy pizza in galaxy." + icon_state = "pizzamargheritaslice" + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza + name = "meatpizza" + desc = "Greasy pizza with delicious meat." + icon_state = "meatpizza" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/meatpizzaslice + slices_num = 6 + New() + ..() + reagents.add_reagent("nutriment", 50) + reagents.add_reagent("tomatojuice", 6) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/meatpizzaslice + name = "meatpizza slice" + desc = "A nutritious slice of meatpizza." + icon_state = "meatpizzaslice" + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza + name = "mushroom pizza" + desc = "Very special pizza." + icon_state = "mushroompizza" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/mushroompizzaslice + slices_num = 6 + New() + ..() + reagents.add_reagent("nutriment", 35) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/mushroompizzaslice + name = "mushroom pizza slice" + desc = "Maybe it is the last slice of pizza in your life." + icon_state = "mushroompizzaslice" + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza + name = "vegetable pizza" + desc = "No one of Tomatos Sapiens were harmed during making this pizza." + icon_state = "vegetablepizza" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/vegetablepizzaslice + slices_num = 6 + New() + ..() + reagents.add_reagent("nutriment", 30) + reagents.add_reagent("tomatojuice", 6) + reagents.add_reagent("imidazoline", 12) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/vegetablepizzaslice + name = "vegetable pizza slice" + desc = "A slice of the most green pizza of all pizzas not containing green ingredients." + icon_state = "vegetablepizzaslice" + bitesize = 2 + +/obj/item/pizzabox + name = "pizza box" + desc = "A box suited for pizzas." + icon = 'icons/obj/food.dmi' + icon_state = "pizzabox1" + var/open = 0 // Is the box open? + var/ismessy = 0 // Fancy mess on the lid + var/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/pizza // Content pizza + var/list/boxes = list() // If the boxes are stacked, they come here + var/boxtag = "" + +/obj/item/pizzabox/update_icon() + overlays = list() + + // Set appropriate description + if(open && pizza) + desc = "A box suited for pizzas. It appears to have [pizza] inside." + else if(boxes.len > 0) + desc = "A pile of boxes suited for pizzas. There appears to be [boxes.len + 1] boxes in the pile." + + var/obj/item/pizzabox/topbox = boxes[boxes.len] + var/toptag = topbox.boxtag + if(toptag != "") + desc = "[desc] The box on top has a tag, it reads: '[toptag]'." + else + desc = "A box suited for pizzas." + + if(boxtag != "") + desc = "[desc] The box has a tag, it reads: '[boxtag]'." + + // Icon states and overlays + if(open) + if(ismessy) + icon_state = "pizzabox_messy" + else + icon_state = "pizzabox_open" + + if(pizza) + var/image/pizzaimg = image("food.dmi", icon_state = pizza.icon_state) + pizzaimg.pixel_y = -3 + overlays += pizzaimg + + return + else + // Stupid code because byondcode sucks + var/doimgtag = 0 + if(boxes.len > 0) + var/obj/item/pizzabox/topbox = boxes[boxes.len] + if( topbox.boxtag != "" ) + doimgtag = 1 + else + if(boxtag != "") + doimgtag = 1 + + if(doimgtag) + var/image/tagimg = image("food.dmi", icon_state = "pizzabox_tag") + tagimg.pixel_y = boxes.len * 3 + overlays += tagimg + + icon_state = "pizzabox[boxes.len+1]" + + +/obj/item/pizzabox/attack_hand(mob/user) + if(open && pizza) + user.put_in_hands( pizza ) + + user << "You take the [pizza] out of [src]." + pizza = null + update_icon() + return + + if(boxes.len > 0) + if(user.get_inactive_hand() != src) + ..() + return + + var/obj/item/pizzabox/box = boxes[boxes.len] + boxes -= box + + user.put_in_hands(box) + user << "You remove the topmost [src.name] from your hand." + box.update_icon() + update_icon() + return + ..() + +/obj/item/pizzabox/attack_self(mob/user) + if(boxes.len > 0 ) + return + + open = !open + + if(open && pizza) + ismessy = 1 + + update_icon() + + +/obj/item/pizzabox/attackby(obj/item/I, mob/user) + if( istype(I, /obj/item/pizzabox/) ) + var/obj/item/pizzabox/box = I + + if(!box.open && !open) + // Make a list of all boxes to be added + var/list/boxestoadd = list() + boxestoadd += box + for(var/obj/item/pizzabox/i in box.boxes) + boxestoadd += i + + if((boxes.len+1) + boxestoadd.len <= 5) + user.drop_item() + + box.loc = src + box.boxes = list() // Clear the box boxes so we don't have boxes inside boxes. - Xzibit + boxes.Add( boxestoadd ) + + box.update_icon() + update_icon() + + user << "You put [box] on top of [src]!" + else + user << "The stack is dangerously high!" + else + user << "Close [box] first!" + + return + + if(istype(I, /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/)) // Long ass fucking object name + if(open) + user.drop_item() + I.loc = src + pizza = I + + update_icon() + + user << "You put [I] in [src]." + else + user << "You try to push [I] through the lid but it doesn't work!" + return + + if(istype(I, /obj/item/weapon/pen/)) + if(open ) + return + + var/t = input("Enter what you want to add to the tag:", "Write", null, null) as text + + var/obj/item/pizzabox/boxtotagto = src + if(boxes.len > 0) + boxtotagto = boxes[boxes.len] + + boxtotagto.boxtag = copytext("[boxtotagto.boxtag][t]", 1, 30) + + update_icon() + return + ..() + +/obj/item/weapon/reagent_containers/food/snacks/cracker + name = "cracker" + desc = "It's a salted cracker." + icon_state = "cracker" + + New() + ..() + reagents.add_reagent("nutriment", 1) + + +////////////////////////////////FOOD ADDITIONS//////////////////////////////////////////// + +/obj/item/weapon/reagent_containers/food/snacks/wrap + name = "egg wrap" + desc = "The precursor to Pigs in a Blanket." + icon_state = "wrap" + New() + ..() + reagents.add_reagent("nutriment", 5) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/beans + name = "tin of beans" + desc = "Musical fruit in a slightly less musical container." + icon_state = "beans" + New() + ..() + reagents.add_reagent("nutriment", 10) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/benedict + name = "eggs benedict" + desc = "There is only one egg on this, how rude." + icon_state = "benedict" + New() + ..() + reagents.add_reagent("nutriment", 6) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/hotdog + name = "hotdog" + desc = "Fresh footlong ready to go down on." + icon_state = "hotdog" + New() + ..() + reagents.add_reagent("nutriment", 6) + reagents.add_reagent("ketchup", 3) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/meatbun + name = "meat bun" + desc = "Has the potential to not be Dog." + icon_state = "meatbun" + New() + ..() + reagents.add_reagent("nutriment", 6) + bitesize = 6 + +/obj/item/weapon/reagent_containers/food/snacks/icecreamsandwich + name = "icecream sandwich" + desc = "Portable Ice-cream in it's own packaging." + icon_state = "icecreamsandwich" + New() + ..() + reagents.add_reagent("nutriment", 2) + reagents.add_reagent("ice", 2) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/notasandwich + name = "not-a-sandwich" + desc = "Something seems to be wrong with this, you can't quite figure what. Maybe it's his moustache." + icon_state = "notasandwich" + trash = /obj/item/trash/plate + New() + ..() + reagents.add_reagent("nutriment", 6) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/sugarcookie + name = "sugar cookie" + desc = "Just like your little sister used to make." + icon_state = "sugarcookie" + New() + ..() + reagents.add_reagent("nutriment", 2) + reagents.add_reagent("sugar", 5) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/boiledspiderleg + name = "boiled spider leg" + desc = "A giant spider's leg that's still twitching after being cooked. Gross!" + icon_state = "spiderlegcooked" + trash = /obj/item/trash/plate + New() + ..() + reagents.add_reagent("nutriment", 3) + reagents.add_reagent("toxin", 2) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/spidereggs + name = "spider eggs" + desc = "A cluster of juicy spider eggs. A great side dish for when you care not for your health." + icon_state = "spidereggs" + New() + ..() + reagents.add_reagent("nutriment", 2) + reagents.add_reagent("toxin", 3) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/spidereggsham + name = "green eggs and ham" + desc = "Would you eat them on a train? Would you eat them on a plane? Would you eat them on a state of the art corporate deathtrap floating through space?" + icon_state = "spidereggsham" + trash = /obj/item/trash/plate + New() + ..() + reagents.add_reagent("nutriment", 6) + reagents.add_reagent("sodiumchloride", 1) + reagents.add_reagent("toxin", 3) + bitesize = 4 + +/obj/item/weapon/reagent_containers/food/snacks/sashimi + name = "carp sashimi" + desc = "Celebrate surviving attack from hostile alien lifeforms by hospitalising yourself." + icon_state = "sashimi" + New() + ..() + reagents.add_reagent("nutriment", 6) + reagents.add_reagent("toxin", 5) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/burger/red + name = "red burger" + desc = "Perfect for hiding the fact it's burnt to a crisp." + icon_state = "cburger" + color = "#DA0000FF" + New() + ..() + reagents.add_reagent("redcrayonpowder", 10) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/burger/orange + name = "orange burger" + desc = "Contains 0% juice." + icon_state = "cburger" + color = "#FF9300FF" + New() + ..() + reagents.add_reagent("orangecrayonpowder", 10) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/burger/yellow + name = "yellow burger" + desc = "Bright to the last bite." + icon_state = "cburger" + color = "#FFF200FF" + New() + ..() + reagents.add_reagent("yellowcrayonpowder", 10) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/burger/green + name = "green burger" + desc = "It's not tainted meat, it's painted meat!" + icon_state = "cburger" + color = "#A8E61DFF" + New() + ..() + reagents.add_reagent("greencrayonpowder", 10) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/burger/blue + name = "blue burger" + desc = "Is this blue rare?" + icon_state = "cburger" + color = "#00B7EFFF" + New() + ..() + reagents.add_reagent("bluecrayonpowder", 10) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/burger/purple + name = "purple burger" + desc = "Regal and low class at the same time." + icon_state = "cburger" + color = "#DA00FFFF" + New() + ..() + reagents.add_reagent("purplecrayonpowder", 10) + bitesize = 3 diff --git a/code/modules/reagents/reagent_containers/food/snacks/meat.dm b/code/modules/food&drinks/food/snacks/meat.dm similarity index 91% rename from code/modules/reagents/reagent_containers/food/snacks/meat.dm rename to code/modules/food&drinks/food/snacks/meat.dm index 8869a0259ce..d35e905f857 100644 --- a/code/modules/reagents/reagent_containers/food/snacks/meat.dm +++ b/code/modules/food&drinks/food/snacks/meat.dm @@ -1,31 +1,31 @@ -/obj/item/weapon/reagent_containers/food/snacks/meat - name = "meat" - desc = "A slab of meat" - icon_state = "meat" - dried_type = /obj/item/weapon/reagent_containers/food/snacks/sosjerky - New() - ..() - reagents.add_reagent("nutriment", 3) - src.bitesize = 3 - - -/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh - name = "synthetic meat" - desc = "A synthetic slab of flesh." - -/obj/item/weapon/reagent_containers/food/snacks/meat/human - name = "-meat" - var/subjectname = "" - var/subjectjob = null - - -/obj/item/weapon/reagent_containers/food/snacks/meat/monkey - //same as plain meat - -/obj/item/weapon/reagent_containers/food/snacks/meat/corgi - name = "Corgi meat" - desc = "Tastes like... well you know..." - -/obj/item/weapon/reagent_containers/food/snacks/meat/pug - name = "Pug meat" +/obj/item/weapon/reagent_containers/food/snacks/meat + name = "meat" + desc = "A slab of meat" + icon_state = "meat" + dried_type = /obj/item/weapon/reagent_containers/food/snacks/sosjerky + New() + ..() + reagents.add_reagent("nutriment", 3) + src.bitesize = 3 + + +/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh + name = "synthetic meat" + desc = "A synthetic slab of flesh." + +/obj/item/weapon/reagent_containers/food/snacks/meat/human + name = "-meat" + var/subjectname = "" + var/subjectjob = null + + +/obj/item/weapon/reagent_containers/food/snacks/meat/monkey + //same as plain meat + +/obj/item/weapon/reagent_containers/food/snacks/meat/corgi + name = "Corgi meat" + desc = "Tastes like... well you know..." + +/obj/item/weapon/reagent_containers/food/snacks/meat/pug + name = "Pug meat" desc = "Tastes like... well you know..." \ No newline at end of file diff --git a/code/game/machinery/kitchen/gibber.dm b/code/modules/food&drinks/kitchen machinery/gibber.dm similarity index 96% rename from code/game/machinery/kitchen/gibber.dm rename to code/modules/food&drinks/kitchen machinery/gibber.dm index 48af8644879..c948602119b 100644 --- a/code/game/machinery/kitchen/gibber.dm +++ b/code/modules/food&drinks/kitchen machinery/gibber.dm @@ -1,176 +1,176 @@ - -/obj/machinery/gibber - name = "gibber" - desc = "The name isn't descriptive enough?" - icon = 'icons/obj/kitchen.dmi' - icon_state = "grinder" - density = 1 - anchored = 1 - var/operating = 0 //Is it on? - var/dirty = 0 // Does it need cleaning? - var/gibtime = 40 // Time from starting until meat appears - use_power = 1 - idle_power_usage = 2 - active_power_usage = 500 - -//auto-gibs anything that bumps into it -/obj/machinery/gibber/autogibber - var/turf/input_plate - - New() - ..() - spawn(5) - for(var/i in cardinal) - var/obj/machinery/mineral/input/input_obj = locate( /obj/machinery/mineral/input, get_step(src.loc, i) ) - if(input_obj) - if(isturf(input_obj.loc)) - input_plate = input_obj.loc - qdel(input_obj) - break - - if(!input_plate) - diary << "a [src] didn't find an input plate." - return - - Bumped(var/atom/A) - if(!input_plate) return - - if(ismob(A)) - var/mob/M = A - - if(M.loc == input_plate - ) - M.loc = src - M.gib() - - -/obj/machinery/gibber/New() - ..() - src.overlays += image('icons/obj/kitchen.dmi', "grjam") - -/obj/machinery/gibber/update_icon() - overlays.Cut() - if (dirty) - src.overlays += image('icons/obj/kitchen.dmi', "grbloody") - if(stat & (NOPOWER|BROKEN)) - return - if (!occupant) - src.overlays += image('icons/obj/kitchen.dmi', "grjam") - else if (operating) - src.overlays += image('icons/obj/kitchen.dmi', "gruse") - else - src.overlays += image('icons/obj/kitchen.dmi', "gridle") - -/obj/machinery/gibber/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/gibber/container_resist() - src.go_out() - return - -/obj/machinery/gibber/attack_hand(mob/user as mob) - if(stat & (NOPOWER|BROKEN)) - return - if(operating) - user << "\red It's locked and running" - return - else - src.startgibbing(user) - -/obj/machinery/gibber/attackby(obj/item/weapon/grab/G as obj, mob/user as mob) - if(src.occupant) - user << "\red The gibber is full, empty it first!" - return - if(default_unfasten_wrench(user, G)) - return - - if (!( istype(G, /obj/item/weapon/grab)) || !(istype(G.affecting, /mob/living/carbon/human))) - user << "\red This item is not suitable for the gibber!" - return - if(G.affecting.abiotic(1)) - user << "\red Subject may not have abiotic items on." - return - - user.visible_message("\red [user] starts to put [G.affecting] into the gibber!") - src.add_fingerprint(user) - if(do_after(user, 30) && G && G.affecting && !occupant) - user.visible_message("\red [user] stuffs [G.affecting] into the gibber!") - var/mob/M = G.affecting - if(M.client) - M.client.perspective = EYE_PERSPECTIVE - M.client.eye = src - M.loc = src - src.occupant = M - qdel(G) - update_icon() - - -/obj/machinery/gibber/verb/eject() - set category = "Object" - set name = "empty gibber" - set src in oview(1) - - if (usr.stat != 0) - return - src.go_out() - add_fingerprint(usr) - return - -/obj/machinery/gibber/proc/go_out() - if (!src.occupant) - return - for(var/obj/O in src) - O.loc = src.loc - if (src.occupant.client) - src.occupant.client.eye = src.occupant.client.mob - src.occupant.client.perspective = MOB_PERSPECTIVE - src.occupant.loc = src.loc - src.occupant = null - update_icon() - return - - -/obj/machinery/gibber/proc/startgibbing(mob/user as mob) - if(src.operating) - return - if(!src.occupant) - visible_message("\red You hear a loud metallic grinding sound.") - return - use_power(1000) - visible_message("\red You hear a loud squelchy grinding sound.") - src.operating = 1 - update_icon() - var/sourcename = src.occupant.real_name - var/sourcejob = src.occupant.job - var/sourcenutriment = src.occupant.nutrition / 15 - var/sourcetotalreagents = src.occupant.reagents.total_volume - var/totalslabs = 3 - - var/obj/item/weapon/reagent_containers/food/snacks/meat/human/allmeat[totalslabs] - for (var/i=1 to totalslabs) - var/obj/item/weapon/reagent_containers/food/snacks/meat/human/newmeat = new - newmeat.name = sourcename + newmeat.name - newmeat.subjectname = sourcename - newmeat.subjectjob = sourcejob - newmeat.reagents.add_reagent ("nutriment", sourcenutriment / totalslabs) // Thehehe. Fat guys go first - src.occupant.reagents.trans_to (newmeat, round (sourcetotalreagents / totalslabs, 1)) // Transfer all the reagents from the - allmeat[i] = newmeat - - add_logs(user, occupant, "gibbed") - src.occupant.death(1) - src.occupant.ghostize() - qdel(src.occupant) - spawn(src.gibtime) - playsound(src.loc, 'sound/effects/splat.ogg', 50, 1) - operating = 0 - for (var/i=1 to totalslabs) - var/obj/item/meatslab = allmeat[i] - var/turf/Tx = locate(src.x - i, src.y, src.z) - meatslab.loc = src.loc - meatslab.throw_at(Tx,i,3) - if (!Tx.density) - new /obj/effect/decal/cleanable/blood/gibs(Tx,i) - src.operating = 0 - update_icon() - - + +/obj/machinery/gibber + name = "gibber" + desc = "The name isn't descriptive enough?" + icon = 'icons/obj/kitchen.dmi' + icon_state = "grinder" + density = 1 + anchored = 1 + var/operating = 0 //Is it on? + var/dirty = 0 // Does it need cleaning? + var/gibtime = 40 // Time from starting until meat appears + use_power = 1 + idle_power_usage = 2 + active_power_usage = 500 + +//auto-gibs anything that bumps into it +/obj/machinery/gibber/autogibber + var/turf/input_plate + + New() + ..() + spawn(5) + for(var/i in cardinal) + var/obj/machinery/mineral/input/input_obj = locate( /obj/machinery/mineral/input, get_step(src.loc, i) ) + if(input_obj) + if(isturf(input_obj.loc)) + input_plate = input_obj.loc + qdel(input_obj) + break + + if(!input_plate) + diary << "a [src] didn't find an input plate." + return + + Bumped(var/atom/A) + if(!input_plate) return + + if(ismob(A)) + var/mob/M = A + + if(M.loc == input_plate + ) + M.loc = src + M.gib() + + +/obj/machinery/gibber/New() + ..() + src.overlays += image('icons/obj/kitchen.dmi', "grjam") + +/obj/machinery/gibber/update_icon() + overlays.Cut() + if (dirty) + src.overlays += image('icons/obj/kitchen.dmi', "grbloody") + if(stat & (NOPOWER|BROKEN)) + return + if (!occupant) + src.overlays += image('icons/obj/kitchen.dmi', "grjam") + else if (operating) + src.overlays += image('icons/obj/kitchen.dmi', "gruse") + else + src.overlays += image('icons/obj/kitchen.dmi', "gridle") + +/obj/machinery/gibber/attack_paw(mob/user as mob) + return src.attack_hand(user) + +/obj/machinery/gibber/container_resist() + src.go_out() + return + +/obj/machinery/gibber/attack_hand(mob/user as mob) + if(stat & (NOPOWER|BROKEN)) + return + if(operating) + user << "\red It's locked and running" + return + else + src.startgibbing(user) + +/obj/machinery/gibber/attackby(obj/item/weapon/grab/G as obj, mob/user as mob) + if(src.occupant) + user << "\red The gibber is full, empty it first!" + return + if(default_unfasten_wrench(user, G)) + return + + if (!( istype(G, /obj/item/weapon/grab)) || !(istype(G.affecting, /mob/living/carbon/human))) + user << "\red This item is not suitable for the gibber!" + return + if(G.affecting.abiotic(1)) + user << "\red Subject may not have abiotic items on." + return + + user.visible_message("\red [user] starts to put [G.affecting] into the gibber!") + src.add_fingerprint(user) + if(do_after(user, 30) && G && G.affecting && !occupant) + user.visible_message("\red [user] stuffs [G.affecting] into the gibber!") + var/mob/M = G.affecting + if(M.client) + M.client.perspective = EYE_PERSPECTIVE + M.client.eye = src + M.loc = src + src.occupant = M + qdel(G) + update_icon() + + +/obj/machinery/gibber/verb/eject() + set category = "Object" + set name = "empty gibber" + set src in oview(1) + + if (usr.stat != 0) + return + src.go_out() + add_fingerprint(usr) + return + +/obj/machinery/gibber/proc/go_out() + if (!src.occupant) + return + for(var/obj/O in src) + O.loc = src.loc + if (src.occupant.client) + src.occupant.client.eye = src.occupant.client.mob + src.occupant.client.perspective = MOB_PERSPECTIVE + src.occupant.loc = src.loc + src.occupant = null + update_icon() + return + + +/obj/machinery/gibber/proc/startgibbing(mob/user as mob) + if(src.operating) + return + if(!src.occupant) + visible_message("\red You hear a loud metallic grinding sound.") + return + use_power(1000) + visible_message("\red You hear a loud squelchy grinding sound.") + src.operating = 1 + update_icon() + var/sourcename = src.occupant.real_name + var/sourcejob = src.occupant.job + var/sourcenutriment = src.occupant.nutrition / 15 + var/sourcetotalreagents = src.occupant.reagents.total_volume + var/totalslabs = 3 + + var/obj/item/weapon/reagent_containers/food/snacks/meat/human/allmeat[totalslabs] + for (var/i=1 to totalslabs) + var/obj/item/weapon/reagent_containers/food/snacks/meat/human/newmeat = new + newmeat.name = sourcename + newmeat.name + newmeat.subjectname = sourcename + newmeat.subjectjob = sourcejob + newmeat.reagents.add_reagent ("nutriment", sourcenutriment / totalslabs) // Thehehe. Fat guys go first + src.occupant.reagents.trans_to (newmeat, round (sourcetotalreagents / totalslabs, 1)) // Transfer all the reagents from the + allmeat[i] = newmeat + + add_logs(user, occupant, "gibbed") + src.occupant.death(1) + src.occupant.ghostize() + qdel(src.occupant) + spawn(src.gibtime) + playsound(src.loc, 'sound/effects/splat.ogg', 50, 1) + operating = 0 + for (var/i=1 to totalslabs) + var/obj/item/meatslab = allmeat[i] + var/turf/Tx = locate(src.x - i, src.y, src.z) + meatslab.loc = src.loc + meatslab.throw_at(Tx,i,3) + if (!Tx.density) + new /obj/effect/decal/cleanable/blood/gibs(Tx,i) + src.operating = 0 + update_icon() + + diff --git a/code/game/machinery/kitchen/icecream_vat.dm b/code/modules/food&drinks/kitchen machinery/icecream_vat.dm similarity index 97% rename from code/game/machinery/kitchen/icecream_vat.dm rename to code/modules/food&drinks/kitchen machinery/icecream_vat.dm index 0108b1f8fd3..cb949c00eec 100644 --- a/code/game/machinery/kitchen/icecream_vat.dm +++ b/code/modules/food&drinks/kitchen machinery/icecream_vat.dm @@ -1,246 +1,246 @@ -#define ICECREAM_VANILLA 1 -#define FLAVOUR_CHOCOLATE 2 -#define FLAVOUR_STRAWBERRY 3 -#define FLAVOUR_BLUE 4 -#define CONE_WAFFLE 5 -#define CONE_CHOC 6 -#define INGR_MILK 7 -#define INGR_FLOUR 8 -#define INGR_SUGAR 9 -#define INGR_ICE 10 -#define MUCK 11 - -var/list/ingredients_source = list( -"berryjuice" = FLAVOUR_STRAWBERRY,\ -"coco" = FLAVOUR_CHOCOLATE,\ -"singulo" = FLAVOUR_BLUE,\ -"milk" = INGR_MILK,\ -"soymilk" = INGR_MILK,\ -"ice" = INGR_ICE,\ -"flour" = INGR_FLOUR,\ -"sugar" = INGR_SUGAR,\ -) - -/proc/get_icecream_flavour_string(var/flavour_type) - switch(flavour_type) - if(FLAVOUR_CHOCOLATE) - return "chocolate" - if(FLAVOUR_STRAWBERRY) - return "strawberry" - if(FLAVOUR_BLUE) - return "blue" - if(CONE_WAFFLE) - return "waffle" - if(CONE_CHOC) - return "chocolate" - if(INGR_MILK) - return "milk" - if(INGR_FLOUR) - return "flour" - if(INGR_SUGAR) - return "sugar" - if(INGR_ICE) - return "ice" - if(MUCK) - return "muck" - else - return "vanilla" - -/obj/machinery/icecream_vat - name = "icecream vat" - desc = "Ding-aling ding dong. Get your Nanotrasen-approved ice cream!" - icon = 'icons/obj/kitchen.dmi' - icon_state = "icecream_vat" - density = 1 - anchored = 0 - var/list/ingredients = list() - var/dispense_flavour = ICECREAM_VANILLA - var/obj/item/weapon/reagent_containers/glass/held_container - -/obj/machinery/icecream_vat/New() - ..() - - while(ingredients.len < 11) - ingredients.Add(5) - -/obj/machinery/icecream_vat/attack_hand(mob/user as mob) - user.set_machine(src) - interact(user) - -/obj/machinery/icecream_vat/interact(mob/user as mob) - var/dat - dat += "Dispense vanilla icecream There is [ingredients[ICECREAM_VANILLA]] scoops of vanilla icecream left (made from milk and ice).
" - dat += "Dispense strawberry icecream There is [ingredients[FLAVOUR_STRAWBERRY]] dollops of strawberry flavouring left (obtained from berry juice.
" - dat += "Dispense chocolate icecream There is [ingredients[FLAVOUR_CHOCOLATE]] dollops of chocolate flavouring left (obtained from cocoa powder).
" - dat += "Dispense blue icecream There is [ingredients[FLAVOUR_BLUE]] dollops of blue flavouring left (obtained from bluespace tomato singulo).
" - dat += "
" - dat += "Dispense waffle cones There are [ingredients[CONE_WAFFLE]] waffle cones left.
" - dat += "Dispense chocolate cones There are [ingredients[CONE_CHOC]] chocolate cones left.
" - dat += "
" - dat += "Make waffle cones There is [ingredients[INGR_FLOUR]]/[ingredients[INGR_SUGAR]] of flour and sugar left.
" - dat += "Make chocolate cones There is [ingredients[FLAVOUR_CHOCOLATE]]/[ingredients[CONE_WAFFLE]] of chocolate flavouring and waffle cones left.
" - dat += "Make vanilla icecream There is [ingredients[INGR_MILK]]/[ingredients[INGR_ICE]] of milk and ice left.
" - dat += "
" - if(held_container) - dat += "Eject [held_container] " - else - dat += "No beaker inserted. " - dat += "Refresh Close" - - var/datum/browser/popup = new(user, "icecreamvat","Icecream Vat", 700, 400, src) - popup.set_content(dat) - popup.open() - -/obj/machinery/icecream_vat/attackby(var/obj/item/O as obj, var/mob/user as mob) - if(istype(O, /obj/item/weapon/reagent_containers)) - if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/icecream)) - var/obj/item/weapon/reagent_containers/food/snacks/icecream/I = O - if(!I.ice_creamed) - if(ingredients[ICECREAM_VANILLA] > 0) - var/flavour_name = get_icecream_flavour_string(dispense_flavour) - if(ingredients[dispense_flavour] > 0) - src.visible_message("\icon[src] [user] scoops delicious [flavour_name] flavoured icecream into [I].") - ingredients[dispense_flavour] -= 1 - ingredients[ICECREAM_VANILLA] -= 1 - - I.add_ice_cream(dispense_flavour) - if(held_container) - held_container.reagents.trans_to(I, 10) - if(I.reagents.total_volume < 10) - I.reagents.add_reagent("sugar", 10 - I.reagents.total_volume) - else - user << "There is not enough [flavour_name] flavouring left! Insert more of the required ingredients." - else - user << "There is not enough icecream left! Insert more milk and ice." - else - user << "[O] already has icecream in it." - else if(istype(O, /obj/item/weapon/reagent_containers/glass)) - if(held_container) - user << "You must remove [held_container] from [src] first." - else - user << "You insert [O] into [src]." - user.drop_item() - O.loc = src - held_container = O - else - var/obj/item/weapon/reagent_containers/R = O - if(R.reagents) - src.visible_message("[user] has emptied all of [R] into [src].") - for (var/datum/reagent/current_reagent in R.reagents.reagent_list) - if(ingredients_source[current_reagent.id]) - add(ingredients_source[current_reagent.id], current_reagent.volume / 2) - else - add(MUCK, current_reagent.volume / 5) - R.reagents.clear_reagents() - return 1 - else - ..() - -/obj/machinery/icecream_vat/proc/add(var/add_type, var/amount) - if(add_type <= ingredients.len) - ingredients[add_type] += amount - updateDialog() - -/obj/machinery/icecream_vat/proc/make(var/mob/user, var/make_type) - switch(make_type) - if(CONE_WAFFLE) - if(ingredients[INGR_FLOUR] > 0 && ingredients[INGR_SUGAR] > 0) - var/amount = max( min(ingredients[INGR_FLOUR], ingredients[INGR_SUGAR]), 5) - ingredients[INGR_FLOUR] -= amount - ingredients[INGR_SUGAR] -= amount - ingredients[CONE_WAFFLE] += amount - src.visible_message("[user] cooks up some waffle cones.") - else - user << "You require sugar and flour to make waffle cones." - if(CONE_CHOC) - if(ingredients[FLAVOUR_CHOCOLATE] > 0 && ingredients[CONE_WAFFLE] > 0) - var/amount = min(ingredients[CONE_WAFFLE], ingredients[FLAVOUR_CHOCOLATE]) - ingredients[CONE_WAFFLE] -= amount - ingredients[FLAVOUR_CHOCOLATE] -= amount - ingredients[CONE_CHOC] += amount - src.visible_message("[user] cooks up some chocolate cones.") - else - user << "You require waffle cones and chocolate flavouring to make chocolate cones." - if(ICECREAM_VANILLA) - if(ingredients[INGR_ICE] > 0 && ingredients[INGR_MILK] > 0) - var/amount = min(ingredients[INGR_ICE], ingredients[INGR_MILK]) - ingredients[INGR_ICE] -= amount - ingredients[INGR_MILK] -= amount - ingredients[ICECREAM_VANILLA] += amount - src.visible_message("[user] whips up some vanilla icecream.") - else - user << "You require milk and ice to make vanilla icecream." - updateDialog() - -/obj/machinery/icecream_vat/Topic(href, href_list) - if(..()) - return - if(href_list["dispense"]) - dispense_flavour = text2num(href_list["dispense"]) - src.visible_message("\blue[usr] sets [src] to dispense [get_icecream_flavour_string(dispense_flavour)] flavoured icecream.") - - if(href_list["cone"]) - var/dispense_cone = text2num(href_list["cone"]) - if(ingredients[dispense_cone] <= ingredients.len) - var/cone_name = get_icecream_flavour_string(dispense_cone) - if(ingredients[dispense_cone] >= 1) - ingredients[dispense_cone] -= 1 - var/obj/item/weapon/reagent_containers/food/snacks/icecream/I = new(src.loc) - I.cone_type = cone_name - I.icon_state = "icecream_cone_[cone_name]" - I.desc = "Delicious [cone_name] cone, but no ice cream." - src.visible_message("[usr] dispenses a crunchy [cone_name] cone from [src].") - else - usr << "There are no [cone_name] cones left!" - updateDialog() - - if(href_list["make"]) - make( usr, text2num(href_list["make"]) ) - updateDialog() - - if(href_list["eject"]) - if(held_container) - held_container.loc = src.loc - held_container = null - updateDialog() - - if(href_list["refresh"]) - updateDialog() - - if(href_list["close"]) - usr.unset_machine() - usr << browse(null,"window=icecreamvat") - return - -/obj/item/weapon/reagent_containers/food/snacks/icecream - name = "ice cream cone" - desc = "Delicious waffle cone, but no ice cream." - icon = 'icons/obj/kitchen.dmi' - icon_state = "icecream_cone_waffle" //default for admin-spawned cones, href_list["cone"] should overwrite this all the time - layer = 3.1 - var/ice_creamed = 0 - var/cone_type - bitesize = 3 - -/obj/item/weapon/reagent_containers/food/snacks/icecream/New() - create_reagents(20) - reagents.add_reagent("nutriment", 5) - -/obj/item/weapon/reagent_containers/food/snacks/icecream/proc/add_ice_cream(var/flavour) - var/flavour_name = get_icecream_flavour_string(flavour) - name = "[flavour_name] icecream" - src.overlays += "icecream_[flavour_name]" - desc = "Delicious [cone_type] cone with a dollop of [flavour_name] ice cream." - ice_creamed = 1 - -#undef ICECREAM_VANILLA -#undef FLAVOUR_CHOCOLATE -#undef FLAVOUR_STRAWBERRY -#undef FLAVOUR_BLUE -#undef CONE_WAFFLE -#undef CONE_CHOC -#undef INGR_MILK -#undef INGR_FLOUR -#undef INGR_SUGAR -#undef INGR_ICE -#undef MUCK +#define ICECREAM_VANILLA 1 +#define FLAVOUR_CHOCOLATE 2 +#define FLAVOUR_STRAWBERRY 3 +#define FLAVOUR_BLUE 4 +#define CONE_WAFFLE 5 +#define CONE_CHOC 6 +#define INGR_MILK 7 +#define INGR_FLOUR 8 +#define INGR_SUGAR 9 +#define INGR_ICE 10 +#define MUCK 11 + +var/list/ingredients_source = list( +"berryjuice" = FLAVOUR_STRAWBERRY,\ +"coco" = FLAVOUR_CHOCOLATE,\ +"singulo" = FLAVOUR_BLUE,\ +"milk" = INGR_MILK,\ +"soymilk" = INGR_MILK,\ +"ice" = INGR_ICE,\ +"flour" = INGR_FLOUR,\ +"sugar" = INGR_SUGAR,\ +) + +/proc/get_icecream_flavour_string(var/flavour_type) + switch(flavour_type) + if(FLAVOUR_CHOCOLATE) + return "chocolate" + if(FLAVOUR_STRAWBERRY) + return "strawberry" + if(FLAVOUR_BLUE) + return "blue" + if(CONE_WAFFLE) + return "waffle" + if(CONE_CHOC) + return "chocolate" + if(INGR_MILK) + return "milk" + if(INGR_FLOUR) + return "flour" + if(INGR_SUGAR) + return "sugar" + if(INGR_ICE) + return "ice" + if(MUCK) + return "muck" + else + return "vanilla" + +/obj/machinery/icecream_vat + name = "icecream vat" + desc = "Ding-aling ding dong. Get your Nanotrasen-approved ice cream!" + icon = 'icons/obj/kitchen.dmi' + icon_state = "icecream_vat" + density = 1 + anchored = 0 + var/list/ingredients = list() + var/dispense_flavour = ICECREAM_VANILLA + var/obj/item/weapon/reagent_containers/glass/held_container + +/obj/machinery/icecream_vat/New() + ..() + + while(ingredients.len < 11) + ingredients.Add(5) + +/obj/machinery/icecream_vat/attack_hand(mob/user as mob) + user.set_machine(src) + interact(user) + +/obj/machinery/icecream_vat/interact(mob/user as mob) + var/dat + dat += "Dispense vanilla icecream There is [ingredients[ICECREAM_VANILLA]] scoops of vanilla icecream left (made from milk and ice).
" + dat += "Dispense strawberry icecream There is [ingredients[FLAVOUR_STRAWBERRY]] dollops of strawberry flavouring left (obtained from berry juice.
" + dat += "Dispense chocolate icecream There is [ingredients[FLAVOUR_CHOCOLATE]] dollops of chocolate flavouring left (obtained from cocoa powder).
" + dat += "Dispense blue icecream There is [ingredients[FLAVOUR_BLUE]] dollops of blue flavouring left (obtained from bluespace tomato singulo).
" + dat += "
" + dat += "Dispense waffle cones There are [ingredients[CONE_WAFFLE]] waffle cones left.
" + dat += "Dispense chocolate cones There are [ingredients[CONE_CHOC]] chocolate cones left.
" + dat += "
" + dat += "Make waffle cones There is [ingredients[INGR_FLOUR]]/[ingredients[INGR_SUGAR]] of flour and sugar left.
" + dat += "Make chocolate cones There is [ingredients[FLAVOUR_CHOCOLATE]]/[ingredients[CONE_WAFFLE]] of chocolate flavouring and waffle cones left.
" + dat += "Make vanilla icecream There is [ingredients[INGR_MILK]]/[ingredients[INGR_ICE]] of milk and ice left.
" + dat += "
" + if(held_container) + dat += "Eject [held_container] " + else + dat += "No beaker inserted. " + dat += "Refresh Close" + + var/datum/browser/popup = new(user, "icecreamvat","Icecream Vat", 700, 400, src) + popup.set_content(dat) + popup.open() + +/obj/machinery/icecream_vat/attackby(var/obj/item/O as obj, var/mob/user as mob) + if(istype(O, /obj/item/weapon/reagent_containers)) + if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/icecream)) + var/obj/item/weapon/reagent_containers/food/snacks/icecream/I = O + if(!I.ice_creamed) + if(ingredients[ICECREAM_VANILLA] > 0) + var/flavour_name = get_icecream_flavour_string(dispense_flavour) + if(ingredients[dispense_flavour] > 0) + src.visible_message("\icon[src] [user] scoops delicious [flavour_name] flavoured icecream into [I].") + ingredients[dispense_flavour] -= 1 + ingredients[ICECREAM_VANILLA] -= 1 + + I.add_ice_cream(dispense_flavour) + if(held_container) + held_container.reagents.trans_to(I, 10) + if(I.reagents.total_volume < 10) + I.reagents.add_reagent("sugar", 10 - I.reagents.total_volume) + else + user << "There is not enough [flavour_name] flavouring left! Insert more of the required ingredients." + else + user << "There is not enough icecream left! Insert more milk and ice." + else + user << "[O] already has icecream in it." + else if(istype(O, /obj/item/weapon/reagent_containers/glass)) + if(held_container) + user << "You must remove [held_container] from [src] first." + else + user << "You insert [O] into [src]." + user.drop_item() + O.loc = src + held_container = O + else + var/obj/item/weapon/reagent_containers/R = O + if(R.reagents) + src.visible_message("[user] has emptied all of [R] into [src].") + for (var/datum/reagent/current_reagent in R.reagents.reagent_list) + if(ingredients_source[current_reagent.id]) + add(ingredients_source[current_reagent.id], current_reagent.volume / 2) + else + add(MUCK, current_reagent.volume / 5) + R.reagents.clear_reagents() + return 1 + else + ..() + +/obj/machinery/icecream_vat/proc/add(var/add_type, var/amount) + if(add_type <= ingredients.len) + ingredients[add_type] += amount + updateDialog() + +/obj/machinery/icecream_vat/proc/make(var/mob/user, var/make_type) + switch(make_type) + if(CONE_WAFFLE) + if(ingredients[INGR_FLOUR] > 0 && ingredients[INGR_SUGAR] > 0) + var/amount = max( min(ingredients[INGR_FLOUR], ingredients[INGR_SUGAR]), 5) + ingredients[INGR_FLOUR] -= amount + ingredients[INGR_SUGAR] -= amount + ingredients[CONE_WAFFLE] += amount + src.visible_message("[user] cooks up some waffle cones.") + else + user << "You require sugar and flour to make waffle cones." + if(CONE_CHOC) + if(ingredients[FLAVOUR_CHOCOLATE] > 0 && ingredients[CONE_WAFFLE] > 0) + var/amount = min(ingredients[CONE_WAFFLE], ingredients[FLAVOUR_CHOCOLATE]) + ingredients[CONE_WAFFLE] -= amount + ingredients[FLAVOUR_CHOCOLATE] -= amount + ingredients[CONE_CHOC] += amount + src.visible_message("[user] cooks up some chocolate cones.") + else + user << "You require waffle cones and chocolate flavouring to make chocolate cones." + if(ICECREAM_VANILLA) + if(ingredients[INGR_ICE] > 0 && ingredients[INGR_MILK] > 0) + var/amount = min(ingredients[INGR_ICE], ingredients[INGR_MILK]) + ingredients[INGR_ICE] -= amount + ingredients[INGR_MILK] -= amount + ingredients[ICECREAM_VANILLA] += amount + src.visible_message("[user] whips up some vanilla icecream.") + else + user << "You require milk and ice to make vanilla icecream." + updateDialog() + +/obj/machinery/icecream_vat/Topic(href, href_list) + if(..()) + return + if(href_list["dispense"]) + dispense_flavour = text2num(href_list["dispense"]) + src.visible_message("\blue[usr] sets [src] to dispense [get_icecream_flavour_string(dispense_flavour)] flavoured icecream.") + + if(href_list["cone"]) + var/dispense_cone = text2num(href_list["cone"]) + if(ingredients[dispense_cone] <= ingredients.len) + var/cone_name = get_icecream_flavour_string(dispense_cone) + if(ingredients[dispense_cone] >= 1) + ingredients[dispense_cone] -= 1 + var/obj/item/weapon/reagent_containers/food/snacks/icecream/I = new(src.loc) + I.cone_type = cone_name + I.icon_state = "icecream_cone_[cone_name]" + I.desc = "Delicious [cone_name] cone, but no ice cream." + src.visible_message("[usr] dispenses a crunchy [cone_name] cone from [src].") + else + usr << "There are no [cone_name] cones left!" + updateDialog() + + if(href_list["make"]) + make( usr, text2num(href_list["make"]) ) + updateDialog() + + if(href_list["eject"]) + if(held_container) + held_container.loc = src.loc + held_container = null + updateDialog() + + if(href_list["refresh"]) + updateDialog() + + if(href_list["close"]) + usr.unset_machine() + usr << browse(null,"window=icecreamvat") + return + +/obj/item/weapon/reagent_containers/food/snacks/icecream + name = "ice cream cone" + desc = "Delicious waffle cone, but no ice cream." + icon = 'icons/obj/kitchen.dmi' + icon_state = "icecream_cone_waffle" //default for admin-spawned cones, href_list["cone"] should overwrite this all the time + layer = 3.1 + var/ice_creamed = 0 + var/cone_type + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/icecream/New() + create_reagents(20) + reagents.add_reagent("nutriment", 5) + +/obj/item/weapon/reagent_containers/food/snacks/icecream/proc/add_ice_cream(var/flavour) + var/flavour_name = get_icecream_flavour_string(flavour) + name = "[flavour_name] icecream" + src.overlays += "icecream_[flavour_name]" + desc = "Delicious [cone_type] cone with a dollop of [flavour_name] ice cream." + ice_creamed = 1 + +#undef ICECREAM_VANILLA +#undef FLAVOUR_CHOCOLATE +#undef FLAVOUR_STRAWBERRY +#undef FLAVOUR_BLUE +#undef CONE_WAFFLE +#undef CONE_CHOC +#undef INGR_MILK +#undef INGR_FLOUR +#undef INGR_SUGAR +#undef INGR_ICE +#undef MUCK diff --git a/code/game/machinery/kitchen/juicer.dm b/code/modules/food&drinks/kitchen machinery/juicer.dm similarity index 97% rename from code/game/machinery/kitchen/juicer.dm rename to code/modules/food&drinks/kitchen machinery/juicer.dm index 50a291c8783..2047c071103 100644 --- a/code/game/machinery/kitchen/juicer.dm +++ b/code/modules/food&drinks/kitchen machinery/juicer.dm @@ -1,181 +1,181 @@ - -/obj/machinery/juicer - name = "juicer" - icon = 'icons/obj/kitchen.dmi' - icon_state = "juicer1" - layer = 2.9 - density = 1 - anchored = 0 - use_power = 1 - idle_power_usage = 5 - active_power_usage = 100 - pass_flags = PASSTABLE - var/obj/item/weapon/reagent_containers/beaker = null - var/global/list/allowed_items = list ( - /obj/item/weapon/reagent_containers/food/snacks/grown/tomato = "tomatojuice", - /obj/item/weapon/reagent_containers/food/snacks/grown/carrot = "carrotjuice", - /obj/item/weapon/reagent_containers/food/snacks/grown/berries = "berryjuice", - /obj/item/weapon/reagent_containers/food/snacks/grown/banana = "banana", - /obj/item/weapon/reagent_containers/food/snacks/grown/potato = "potato", - /obj/item/weapon/reagent_containers/food/snacks/grown/citrus/lemon = "lemonjuice", - /obj/item/weapon/reagent_containers/food/snacks/grown/citrus/orange = "orangejuice", - /obj/item/weapon/reagent_containers/food/snacks/grown/citrus/lime = "limejuice", - /obj/item/weapon/reagent_containers/food/snacks/watermelonslice = "watermelonjuice", - /obj/item/weapon/reagent_containers/food/snacks/grown/berries/poison = "poisonberryjuice", - ) - -/obj/machinery/juicer/New() - beaker = new /obj/item/weapon/reagent_containers/glass/beaker/large(src) - -/obj/machinery/juicer/update_icon() - icon_state = "juicer"+num2text(!isnull(beaker)) - return - - -/obj/machinery/juicer/attackby(var/obj/item/O as obj, var/mob/user as mob) - if(default_unfasten_wrench(user, O)) - return - if (istype(O,/obj/item/weapon/reagent_containers/glass) || \ - istype(O,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass)) - if (beaker) - return 1 - else - if(!user.unEquip(O)) - user << "\the [O] is stuck to your hand, you cannot put it in \the [src]" - return 0 - O.loc = src - beaker = O - src.verbs += /obj/machinery/juicer/verb/detach - update_icon() - src.updateUsrDialog() - return 0 - if (!is_type_in_list(O, allowed_items)) - user << "It looks as not containing any juice." - return 1 - if(!user.unEquip(O)) - user << "\the [O] is stuck to your hand, you cannot put it in \the [src]" - return 0 - O.loc = src - src.updateUsrDialog() - return 0 - -/obj/machinery/juicer/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/juicer/attack_ai(mob/user as mob) - return 0 - -/obj/machinery/juicer/attack_hand(mob/user as mob) - user.set_machine(src) - interact(user) - -/obj/machinery/juicer/interact(mob/user as mob) // The microwave Menu - var/is_chamber_empty = 0 - var/is_beaker_ready = 0 - var/processing_chamber = "" - var/beaker_contents = "" - - for (var/i in allowed_items) - for (var/obj/item/O in src.contents) - if (!istype(O,i)) - continue - processing_chamber+= "some [O]
" - break - if (!processing_chamber) - is_chamber_empty = 1 - processing_chamber = "Nothing." - if (!beaker) - beaker_contents = "\The [src] has no beaker attached." - else if (!beaker.reagents.total_volume) - beaker_contents = "\The [src] has attached an empty beaker." - is_beaker_ready = 1 - else if (beaker.reagents.total_volume < beaker.reagents.maximum_volume) - beaker_contents = "\The [src] has attached a beaker with something." - is_beaker_ready = 1 - else - beaker_contents = "\The [src] has attached a beaker and beaker is full!" - - var/dat = {" -Processing chamber contains:
-[processing_chamber]
-[beaker_contents]
-"} - if (is_beaker_ready && !is_chamber_empty && !(stat & (NOPOWER|BROKEN))) - dat += "Turn on!
" - if (beaker) - dat += "
Detach a beaker!
" - user << browse("Juicer[dat]", "window=juicer") - onclose(user, "juicer") - return - - -/obj/machinery/juicer/Topic(href, href_list) - if(..()) - return - usr.set_machine(src) - switch(href_list["action"]) - if ("juice") - juice() - - if ("detach") - detach() - src.updateUsrDialog() - return - -/obj/machinery/juicer/verb/detach() - set category = "Object" - set name = "Detach Beaker from the juicer" - set src in oview(1) - if (usr.stat != 0) - return - if (!beaker) - return - src.verbs -= /obj/machinery/juicer/verb/detach - beaker.loc = src.loc - beaker = null - update_icon() - -/obj/machinery/juicer/proc/get_juice_id(var/obj/item/weapon/reagent_containers/food/snacks/grown/O) - for (var/i in allowed_items) - if (istype(O, i)) - return allowed_items[i] - -/obj/machinery/juicer/proc/get_juice_amount(var/obj/item/weapon/reagent_containers/food/snacks/grown/O) - if (!istype(O)) - return 5 - else if (O.potency == -1) - return 5 - else - return round(5*sqrt(O.potency)) - -/obj/machinery/juicer/proc/juice() - power_change() //it is a portable machine - if(stat & (NOPOWER|BROKEN)) - return - if (!beaker || beaker.reagents.total_volume >= beaker.reagents.maximum_volume) - return - playsound(src.loc, 'sound/machines/juicer.ogg', 50, 1) - for (var/obj/item/weapon/reagent_containers/food/snacks/O in src.contents) - var/r_id = get_juice_id(O) - beaker.reagents.add_reagent(r_id,get_juice_amount(O)) - qdel(O) - if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume) - break - -/obj/structure/closet/crate/juice - New() - ..() - new/obj/machinery/juicer(src) - new/obj/item/weapon/reagent_containers/food/snacks/grown/tomato(src) - new/obj/item/weapon/reagent_containers/food/snacks/grown/carrot(src) - new/obj/item/weapon/reagent_containers/food/snacks/grown/berries(src) - new/obj/item/weapon/reagent_containers/food/snacks/grown/banana(src) - new/obj/item/weapon/reagent_containers/food/snacks/grown/tomato(src) - new/obj/item/weapon/reagent_containers/food/snacks/grown/carrot(src) - new/obj/item/weapon/reagent_containers/food/snacks/grown/berries(src) - new/obj/item/weapon/reagent_containers/food/snacks/grown/banana(src) - new/obj/item/weapon/reagent_containers/food/snacks/grown/tomato(src) - new/obj/item/weapon/reagent_containers/food/snacks/grown/carrot(src) - new/obj/item/weapon/reagent_containers/food/snacks/grown/berries(src) - new/obj/item/weapon/reagent_containers/food/snacks/grown/banana(src) - + +/obj/machinery/juicer + name = "juicer" + icon = 'icons/obj/kitchen.dmi' + icon_state = "juicer1" + layer = 2.9 + density = 1 + anchored = 0 + use_power = 1 + idle_power_usage = 5 + active_power_usage = 100 + pass_flags = PASSTABLE + var/obj/item/weapon/reagent_containers/beaker = null + var/global/list/allowed_items = list ( + /obj/item/weapon/reagent_containers/food/snacks/grown/tomato = "tomatojuice", + /obj/item/weapon/reagent_containers/food/snacks/grown/carrot = "carrotjuice", + /obj/item/weapon/reagent_containers/food/snacks/grown/berries = "berryjuice", + /obj/item/weapon/reagent_containers/food/snacks/grown/banana = "banana", + /obj/item/weapon/reagent_containers/food/snacks/grown/potato = "potato", + /obj/item/weapon/reagent_containers/food/snacks/grown/citrus/lemon = "lemonjuice", + /obj/item/weapon/reagent_containers/food/snacks/grown/citrus/orange = "orangejuice", + /obj/item/weapon/reagent_containers/food/snacks/grown/citrus/lime = "limejuice", + /obj/item/weapon/reagent_containers/food/snacks/watermelonslice = "watermelonjuice", + /obj/item/weapon/reagent_containers/food/snacks/grown/berries/poison = "poisonberryjuice", + ) + +/obj/machinery/juicer/New() + beaker = new /obj/item/weapon/reagent_containers/glass/beaker/large(src) + +/obj/machinery/juicer/update_icon() + icon_state = "juicer"+num2text(!isnull(beaker)) + return + + +/obj/machinery/juicer/attackby(var/obj/item/O as obj, var/mob/user as mob) + if(default_unfasten_wrench(user, O)) + return + if (istype(O,/obj/item/weapon/reagent_containers/glass) || \ + istype(O,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass)) + if (beaker) + return 1 + else + if(!user.unEquip(O)) + user << "\the [O] is stuck to your hand, you cannot put it in \the [src]" + return 0 + O.loc = src + beaker = O + src.verbs += /obj/machinery/juicer/verb/detach + update_icon() + src.updateUsrDialog() + return 0 + if (!is_type_in_list(O, allowed_items)) + user << "It looks as not containing any juice." + return 1 + if(!user.unEquip(O)) + user << "\the [O] is stuck to your hand, you cannot put it in \the [src]" + return 0 + O.loc = src + src.updateUsrDialog() + return 0 + +/obj/machinery/juicer/attack_paw(mob/user as mob) + return src.attack_hand(user) + +/obj/machinery/juicer/attack_ai(mob/user as mob) + return 0 + +/obj/machinery/juicer/attack_hand(mob/user as mob) + user.set_machine(src) + interact(user) + +/obj/machinery/juicer/interact(mob/user as mob) // The microwave Menu + var/is_chamber_empty = 0 + var/is_beaker_ready = 0 + var/processing_chamber = "" + var/beaker_contents = "" + + for (var/i in allowed_items) + for (var/obj/item/O in src.contents) + if (!istype(O,i)) + continue + processing_chamber+= "some [O]
" + break + if (!processing_chamber) + is_chamber_empty = 1 + processing_chamber = "Nothing." + if (!beaker) + beaker_contents = "\The [src] has no beaker attached." + else if (!beaker.reagents.total_volume) + beaker_contents = "\The [src] has attached an empty beaker." + is_beaker_ready = 1 + else if (beaker.reagents.total_volume < beaker.reagents.maximum_volume) + beaker_contents = "\The [src] has attached a beaker with something." + is_beaker_ready = 1 + else + beaker_contents = "\The [src] has attached a beaker and beaker is full!" + + var/dat = {" +Processing chamber contains:
+[processing_chamber]
+[beaker_contents]
+"} + if (is_beaker_ready && !is_chamber_empty && !(stat & (NOPOWER|BROKEN))) + dat += "
Turn on!
" + if (beaker) + dat += "
Detach a beaker!
" + user << browse("Juicer[dat]", "window=juicer") + onclose(user, "juicer") + return + + +/obj/machinery/juicer/Topic(href, href_list) + if(..()) + return + usr.set_machine(src) + switch(href_list["action"]) + if ("juice") + juice() + + if ("detach") + detach() + src.updateUsrDialog() + return + +/obj/machinery/juicer/verb/detach() + set category = "Object" + set name = "Detach Beaker from the juicer" + set src in oview(1) + if (usr.stat != 0) + return + if (!beaker) + return + src.verbs -= /obj/machinery/juicer/verb/detach + beaker.loc = src.loc + beaker = null + update_icon() + +/obj/machinery/juicer/proc/get_juice_id(var/obj/item/weapon/reagent_containers/food/snacks/grown/O) + for (var/i in allowed_items) + if (istype(O, i)) + return allowed_items[i] + +/obj/machinery/juicer/proc/get_juice_amount(var/obj/item/weapon/reagent_containers/food/snacks/grown/O) + if (!istype(O)) + return 5 + else if (O.potency == -1) + return 5 + else + return round(5*sqrt(O.potency)) + +/obj/machinery/juicer/proc/juice() + power_change() //it is a portable machine + if(stat & (NOPOWER|BROKEN)) + return + if (!beaker || beaker.reagents.total_volume >= beaker.reagents.maximum_volume) + return + playsound(src.loc, 'sound/machines/juicer.ogg', 50, 1) + for (var/obj/item/weapon/reagent_containers/food/snacks/O in src.contents) + var/r_id = get_juice_id(O) + beaker.reagents.add_reagent(r_id,get_juice_amount(O)) + qdel(O) + if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume) + break + +/obj/structure/closet/crate/juice + New() + ..() + new/obj/machinery/juicer(src) + new/obj/item/weapon/reagent_containers/food/snacks/grown/tomato(src) + new/obj/item/weapon/reagent_containers/food/snacks/grown/carrot(src) + new/obj/item/weapon/reagent_containers/food/snacks/grown/berries(src) + new/obj/item/weapon/reagent_containers/food/snacks/grown/banana(src) + new/obj/item/weapon/reagent_containers/food/snacks/grown/tomato(src) + new/obj/item/weapon/reagent_containers/food/snacks/grown/carrot(src) + new/obj/item/weapon/reagent_containers/food/snacks/grown/berries(src) + new/obj/item/weapon/reagent_containers/food/snacks/grown/banana(src) + new/obj/item/weapon/reagent_containers/food/snacks/grown/tomato(src) + new/obj/item/weapon/reagent_containers/food/snacks/grown/carrot(src) + new/obj/item/weapon/reagent_containers/food/snacks/grown/berries(src) + new/obj/item/weapon/reagent_containers/food/snacks/grown/banana(src) + diff --git a/code/game/machinery/kitchen/microwave.dm b/code/modules/food&drinks/kitchen machinery/microwave.dm similarity index 96% rename from code/game/machinery/kitchen/microwave.dm rename to code/modules/food&drinks/kitchen machinery/microwave.dm index 30db305568b..cd06edeeeb7 100644 --- a/code/game/machinery/kitchen/microwave.dm +++ b/code/modules/food&drinks/kitchen machinery/microwave.dm @@ -1,417 +1,417 @@ -/obj/machinery/microwave - name = "microwave" - icon = 'icons/obj/kitchen.dmi' - icon_state = "mw" - layer = 2.9 - density = 1 - anchored = 1 - use_power = 1 - idle_power_usage = 5 - active_power_usage = 100 - flags = OPENCONTAINER | NOREACT - var/operating = 0 // Is it on? - var/dirty = 0 // = {0..100} Does it need cleaning? - var/broken = 0 // ={0,1,2} How broken is it??? - var/global/list/datum/recipe/available_recipes // List of the recipes you can use - var/global/list/acceptable_items // List of the items you can put in - var/global/list/acceptable_reagents // List of the reagents you can put in - var/global/max_n_of_items = 0 - var/efficiency = 0 - - -// see code/modules/food/recipes_microwave.dm for recipes - -/******************* -* Initialising -********************/ - -/obj/machinery/microwave/New() - create_reagents(100) - if(!available_recipes) - available_recipes = new - for(var/type in (typesof(/datum/recipe) - /datum/recipe)) - available_recipes += new type - acceptable_items = new - acceptable_reagents = new - for(var/datum/recipe/recipe in available_recipes) - for(var/item in recipe.items) - acceptable_items |= item - for(var/reagent in recipe.reagents) - acceptable_reagents |= reagent - if(recipe.items) - max_n_of_items = max(max_n_of_items, recipe.items.len) - - component_parts = list() - component_parts += new /obj/item/weapon/circuitboard/microwave(null) - component_parts += new /obj/item/weapon/stock_parts/micro_laser(null) - component_parts += new /obj/item/weapon/stock_parts/console_screen(null) - component_parts += new /obj/item/stack/cable_coil(null, 2) - RefreshParts() - -/obj/machinery/microwave/RefreshParts() - var/E - for(var/obj/item/weapon/stock_parts/micro_laser/M in component_parts) - E += M.rating - efficiency = E - -/******************* -* Item Adding -********************/ - -/obj/machinery/microwave/attackby(var/obj/item/O as obj, var/mob/user as mob) - if(operating) - return - if(!broken && dirty<100) - if(default_deconstruction_screwdriver(user, "mw-o", "mw", O)) - return - if(default_unfasten_wrench(user, O)) - return - if(exchange_parts(user, O)) - return - - default_deconstruction_crowbar(O) - - if(src.broken > 0) - if(src.broken == 2 && istype(O, /obj/item/weapon/wirecutters)) // If it's broken and they're using a screwdriver - user.visible_message( \ - "\blue [user] starts to fix part of the microwave.", \ - "\blue You start to fix part of the microwave." \ - ) - if (do_after(user,20)) - user.visible_message( \ - "\blue [user] fixes part of the microwave.", \ - "\blue You have fixed part of the microwave." \ - ) - src.broken = 1 // Fix it a bit - else if(src.broken == 1 && istype(O, /obj/item/weapon/weldingtool)) // If it's broken and they're doing the wrench - user.visible_message( \ - "\blue [user] starts to fix part of the microwave.", \ - "\blue You start to fix part of the microwave." \ - ) - if (do_after(user,20)) - user.visible_message( \ - "\blue [user] fixes the microwave.", \ - "\blue You have fixed the microwave." \ - ) - src.icon_state = "mw" - src.broken = 0 // Fix it! - src.dirty = 0 // just to be sure - src.flags = OPENCONTAINER - return 0 //to use some fuel - else - user << "\red It's broken!" - return 1 - else if(istype(O, /obj/item/weapon/reagent_containers/spray/)) - var/obj/item/weapon/reagent_containers/spray/clean_spray = O - if(clean_spray.reagents.has_reagent("cleaner",clean_spray.amount_per_transfer_from_this)) - clean_spray.reagents.remove_reagent("cleaner",clean_spray.amount_per_transfer_from_this,1) - playsound(loc, 'sound/effects/spray3.ogg', 50, 1, -6) - user.visible_message( \ - "\blue [user] has cleaned the microwave.", \ - "\blue You have cleaned the microwave." \ - ) - src.dirty = 0 // It's clean! - src.broken = 0 // just to be sure - src.icon_state = "mw" - src.flags = OPENCONTAINER - src.updateUsrDialog() - return 1 // Disables the after-attack so we don't spray the floor/user. - else - user << "\red You need more space cleaner!" - return 1 - - else if(istype(O, /obj/item/weapon/soap/)) // If they're trying to clean it then let them - user.visible_message( \ - "\blue [user] starts to clean the microwave.", \ - "\blue You start to clean the microwave." \ - ) - if (do_after(user,20)) - user.visible_message( \ - "\blue [user] has cleaned the microwave.", \ - "\blue You have cleaned the microwave." \ - ) - src.dirty = 0 // It's clean! - src.broken = 0 // just to be sure - src.icon_state = "mw" - src.flags = OPENCONTAINER - else if(src.dirty==100) // The microwave is all dirty so can't be used! - user << "\red It's dirty!" - return 1 - else if(is_type_in_list(O,acceptable_items)) - if (contents.len>=max_n_of_items) - user << "\red This [src] is full of ingredients, you cannot put more." - return 1 - if (istype(O,/obj/item/stack) && O:amount>1) - new O.type (src) - O:use(1) - user.visible_message( \ - "\blue [user] has added one of [O] to \the [src].", \ - "\blue You add one of [O] to \the [src].") - else - // user.unEquip(O) //This just causes problems so far as I can tell. -Pete - if(!user.drop_item()) - user << "\the [O] is stuck to your hand, you cannot put it in \the [src]" - return 0 - O.loc = src - user.visible_message( \ - "\blue [user] has added \the [O] to \the [src].", \ - "\blue You add \the [O] to \the [src].") - else if(istype(O,/obj/item/weapon/reagent_containers/glass) || \ - istype(O,/obj/item/weapon/reagent_containers/food/drinks) || \ - istype(O,/obj/item/weapon/reagent_containers/food/condiment) \ - ) - if (!O.reagents) - return 1 - for (var/datum/reagent/R in O.reagents.reagent_list) - if (!(R.id in acceptable_reagents)) - user << "\red Your [O] contains components unsuitable for cookery." - return 1 - //G.reagents.trans_to(src,G.amount_per_transfer_from_this) - else if(istype(O,/obj/item/weapon/grab)) - var/obj/item/weapon/grab/G = O - user << "\red This is ridiculous. You can not fit \the [G.affecting] in this [src]." - return 1 - else - user << "\red You have no idea what you can cook with this." - return 1 - src.updateUsrDialog() - -/obj/machinery/microwave/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/microwave/attack_ai(mob/user as mob) - return 0 - -/obj/machinery/microwave/attack_hand(mob/user as mob) - user.set_machine(src) - interact(user) - -/******************* -* Microwave Menu -********************/ - -/obj/machinery/microwave/interact(mob/user as mob) // The microwave Menu - if(panel_open || !anchored) - return - var/dat = "
" - if(src.broken > 0) - dat += "ERROR: 09734014-A2379-D18746 --Bad memory
Contact your operator or use command line to rebase memory ///git checkout {HEAD} -a commit pull --rebase push {*NEW HEAD*}
" //Thats how all the git fiddling looks to me - else if(src.operating) - dat += "Microwaving in progress!
Please wait...!" - else if(src.dirty==100) - dat += "ERROR: >> 0 --Responce input zero
Contact your operator of the device manifactor support." - else - var/list/items_counts = new - var/list/items_measures = new - var/list/items_measures_p = new - for (var/obj/O in contents) - var/display_name = O.name - if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/egg)) - items_measures[display_name] = "egg" - items_measures_p[display_name] = "eggs" - if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/tofu)) - items_measures[display_name] = "tofu chunk" - items_measures_p[display_name] = "tofu chunks" - if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/meat)) //any meat - items_measures[display_name] = "slab of meat" - items_measures_p[display_name] = "slabs of meat" - if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/donkpocket)) - display_name = "Donk Pockets" - items_measures[display_name] = "donk pocket" - items_measures_p[display_name] = "donk pockets" - if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/carpmeat)) - items_measures[display_name] = "fillet of meat" - items_measures_p[display_name] = "fillets of meat" - items_counts[display_name]++ - for (var/O in items_counts) - var/N = items_counts[O] - if (!(O in items_measures)) - dat += "[capitalize(O)]: [N] [lowertext(O)]\s
" - else - if (N==1) - dat += "[capitalize(O)]: [N] [items_measures[O]]
" - else - dat += "[capitalize(O)]: [N] [items_measures_p[O]]
" - - for (var/datum/reagent/R in reagents.reagent_list) - var/display_name = R.name - if (R.id == "capsaicin") - display_name = "hot sauce" - if (R.id == "frostoil") - display_name = "cold sauce" - dat += "[display_name]: [R.volume] unit\s
" - - if (items_counts.len==0 && reagents.reagent_list.len==0) - dat += "The microwave is empty." - else - dat = "

Ingredients:

[dat]" - dat += "
Turn on" - dat += "Eject ingredients" - - var/datum/browser/popup = new(user, "microwave", name, 300, 300) - popup.set_content(dat) - popup.open() - return - -/*********************************** -* Microwave Menu Handling/Cooking -************************************/ - -/obj/machinery/microwave/proc/cook() - if(stat & (NOPOWER|BROKEN)) - return - start() - if (reagents.total_volume==0 && !(locate(/obj) in contents)) //dry run - if (!wzhzhzh(10)) - abort() - return - stop() - return - - var/datum/recipe/recipe = select_recipe(available_recipes,src) - var/obj/cooked - if (!recipe) - dirty += 1 - if (prob(max(10,dirty*5))) - if (!wzhzhzh(4)) - abort() - return - muck_start() - wzhzhzh(4) - muck_finish() - cooked = fail() - cooked.loc = src.loc - return - else if (has_extra_item()) - if (!wzhzhzh(4)) - abort() - return - broke() - cooked = fail() - cooked.loc = src.loc - return - else - if (!wzhzhzh(10)) - abort() - return - stop() - cooked = fail() - cooked.loc = src.loc - return - else - var/halftime = round(recipe.time/10/2) - if (!wzhzhzh(halftime)) - abort() - return - if (!wzhzhzh(halftime)) - abort() - cooked = fail() - cooked.loc = src.loc - return - cooked = recipe.make_food(src) - stop() - if(cooked) - cooked.loc = src.loc - for(var/i=1,i 0) + if(src.broken == 2 && istype(O, /obj/item/weapon/wirecutters)) // If it's broken and they're using a screwdriver + user.visible_message( \ + "\blue [user] starts to fix part of the microwave.", \ + "\blue You start to fix part of the microwave." \ + ) + if (do_after(user,20)) + user.visible_message( \ + "\blue [user] fixes part of the microwave.", \ + "\blue You have fixed part of the microwave." \ + ) + src.broken = 1 // Fix it a bit + else if(src.broken == 1 && istype(O, /obj/item/weapon/weldingtool)) // If it's broken and they're doing the wrench + user.visible_message( \ + "\blue [user] starts to fix part of the microwave.", \ + "\blue You start to fix part of the microwave." \ + ) + if (do_after(user,20)) + user.visible_message( \ + "\blue [user] fixes the microwave.", \ + "\blue You have fixed the microwave." \ + ) + src.icon_state = "mw" + src.broken = 0 // Fix it! + src.dirty = 0 // just to be sure + src.flags = OPENCONTAINER + return 0 //to use some fuel + else + user << "\red It's broken!" + return 1 + else if(istype(O, /obj/item/weapon/reagent_containers/spray/)) + var/obj/item/weapon/reagent_containers/spray/clean_spray = O + if(clean_spray.reagents.has_reagent("cleaner",clean_spray.amount_per_transfer_from_this)) + clean_spray.reagents.remove_reagent("cleaner",clean_spray.amount_per_transfer_from_this,1) + playsound(loc, 'sound/effects/spray3.ogg', 50, 1, -6) + user.visible_message( \ + "\blue [user] has cleaned the microwave.", \ + "\blue You have cleaned the microwave." \ + ) + src.dirty = 0 // It's clean! + src.broken = 0 // just to be sure + src.icon_state = "mw" + src.flags = OPENCONTAINER + src.updateUsrDialog() + return 1 // Disables the after-attack so we don't spray the floor/user. + else + user << "\red You need more space cleaner!" + return 1 + + else if(istype(O, /obj/item/weapon/soap/)) // If they're trying to clean it then let them + user.visible_message( \ + "\blue [user] starts to clean the microwave.", \ + "\blue You start to clean the microwave." \ + ) + if (do_after(user,20)) + user.visible_message( \ + "\blue [user] has cleaned the microwave.", \ + "\blue You have cleaned the microwave." \ + ) + src.dirty = 0 // It's clean! + src.broken = 0 // just to be sure + src.icon_state = "mw" + src.flags = OPENCONTAINER + else if(src.dirty==100) // The microwave is all dirty so can't be used! + user << "\red It's dirty!" + return 1 + else if(is_type_in_list(O,acceptable_items)) + if (contents.len>=max_n_of_items) + user << "\red This [src] is full of ingredients, you cannot put more." + return 1 + if (istype(O,/obj/item/stack) && O:amount>1) + new O.type (src) + O:use(1) + user.visible_message( \ + "\blue [user] has added one of [O] to \the [src].", \ + "\blue You add one of [O] to \the [src].") + else + // user.unEquip(O) //This just causes problems so far as I can tell. -Pete + if(!user.drop_item()) + user << "\the [O] is stuck to your hand, you cannot put it in \the [src]" + return 0 + O.loc = src + user.visible_message( \ + "\blue [user] has added \the [O] to \the [src].", \ + "\blue You add \the [O] to \the [src].") + else if(istype(O,/obj/item/weapon/reagent_containers/glass) || \ + istype(O,/obj/item/weapon/reagent_containers/food/drinks) || \ + istype(O,/obj/item/weapon/reagent_containers/food/condiment) \ + ) + if (!O.reagents) + return 1 + for (var/datum/reagent/R in O.reagents.reagent_list) + if (!(R.id in acceptable_reagents)) + user << "\red Your [O] contains components unsuitable for cookery." + return 1 + //G.reagents.trans_to(src,G.amount_per_transfer_from_this) + else if(istype(O,/obj/item/weapon/grab)) + var/obj/item/weapon/grab/G = O + user << "\red This is ridiculous. You can not fit \the [G.affecting] in this [src]." + return 1 + else + user << "\red You have no idea what you can cook with this." + return 1 + src.updateUsrDialog() + +/obj/machinery/microwave/attack_paw(mob/user as mob) + return src.attack_hand(user) + +/obj/machinery/microwave/attack_ai(mob/user as mob) + return 0 + +/obj/machinery/microwave/attack_hand(mob/user as mob) + user.set_machine(src) + interact(user) + +/******************* +* Microwave Menu +********************/ + +/obj/machinery/microwave/interact(mob/user as mob) // The microwave Menu + if(panel_open || !anchored) + return + var/dat = "
" + if(src.broken > 0) + dat += "ERROR: 09734014-A2379-D18746 --Bad memory
Contact your operator or use command line to rebase memory ///git checkout {HEAD} -a commit pull --rebase push {*NEW HEAD*}
" //Thats how all the git fiddling looks to me + else if(src.operating) + dat += "Microwaving in progress!
Please wait...!" + else if(src.dirty==100) + dat += "ERROR: >> 0 --Responce input zero
Contact your operator of the device manifactor support." + else + var/list/items_counts = new + var/list/items_measures = new + var/list/items_measures_p = new + for (var/obj/O in contents) + var/display_name = O.name + if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/egg)) + items_measures[display_name] = "egg" + items_measures_p[display_name] = "eggs" + if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/tofu)) + items_measures[display_name] = "tofu chunk" + items_measures_p[display_name] = "tofu chunks" + if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/meat)) //any meat + items_measures[display_name] = "slab of meat" + items_measures_p[display_name] = "slabs of meat" + if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/donkpocket)) + display_name = "Donk Pockets" + items_measures[display_name] = "donk pocket" + items_measures_p[display_name] = "donk pockets" + if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/carpmeat)) + items_measures[display_name] = "fillet of meat" + items_measures_p[display_name] = "fillets of meat" + items_counts[display_name]++ + for (var/O in items_counts) + var/N = items_counts[O] + if (!(O in items_measures)) + dat += "[capitalize(O)]: [N] [lowertext(O)]\s
" + else + if (N==1) + dat += "[capitalize(O)]: [N] [items_measures[O]]
" + else + dat += "[capitalize(O)]: [N] [items_measures_p[O]]
" + + for (var/datum/reagent/R in reagents.reagent_list) + var/display_name = R.name + if (R.id == "capsaicin") + display_name = "hot sauce" + if (R.id == "frostoil") + display_name = "cold sauce" + dat += "[display_name]: [R.volume] unit\s
" + + if (items_counts.len==0 && reagents.reagent_list.len==0) + dat += "The microwave is empty." + else + dat = "

Ingredients:

[dat]" + dat += "Turn on" + dat += "Eject ingredients" + + var/datum/browser/popup = new(user, "microwave", name, 300, 300) + popup.set_content(dat) + popup.open() + return + +/*********************************** +* Microwave Menu Handling/Cooking +************************************/ + +/obj/machinery/microwave/proc/cook() + if(stat & (NOPOWER|BROKEN)) + return + start() + if (reagents.total_volume==0 && !(locate(/obj) in contents)) //dry run + if (!wzhzhzh(10)) + abort() + return + stop() + return + + var/datum/recipe/recipe = select_recipe(available_recipes,src) + var/obj/cooked + if (!recipe) + dirty += 1 + if (prob(max(10,dirty*5))) + if (!wzhzhzh(4)) + abort() + return + muck_start() + wzhzhzh(4) + muck_finish() + cooked = fail() + cooked.loc = src.loc + return + else if (has_extra_item()) + if (!wzhzhzh(4)) + abort() + return + broke() + cooked = fail() + cooked.loc = src.loc + return + else + if (!wzhzhzh(10)) + abort() + return + stop() + cooked = fail() + cooked.loc = src.loc + return + else + var/halftime = round(recipe.time/10/2) + if (!wzhzhzh(halftime)) + abort() + return + if (!wzhzhzh(halftime)) + abort() + cooked = fail() + cooked.loc = src.loc + return + cooked = recipe.make_food(src) + stop() + if(cooked) + cooked.loc = src.loc + for(var/i=1,i= 5) - user << "\blue The machine hisses loudly as it condenses the grinded monkey meat. After a moment, it dispenses a brand new monkey cube." - playsound(src.loc, 'sound/machines/hiss.ogg', 50, 1) - grinded -= 5 - new /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped(src.loc) - user << "\blue The machine's display flashes that it has [grinded] monkeys worth of material left." - else - user << "\red The machine needs at least 5 monkeys worth of material to produce a monkey cube. It only has [grinded]." - return +/obj/machinery/monkey_recycler + name = "monkey recycler" + desc = "A machine used for recycling dead monkeys into monkey cubes. It requires 5 monkeys per cube." + icon = 'icons/obj/kitchen.dmi' + icon_state = "grinder" + layer = 2.9 + density = 1 + anchored = 1 + use_power = 1 + idle_power_usage = 5 + active_power_usage = 50 + var/grinded = 0 + + +/obj/machinery/monkey_recycler/attackby(var/obj/item/O as obj, var/mob/user as mob) + if(default_unfasten_wrench(user, O)) + return + + if (src.stat != 0) //NOPOWER etc + return + if (istype(O, /obj/item/weapon/grab)) + var/obj/item/weapon/grab/G = O + var/grabbed = G.affecting + if(istype(grabbed, /mob/living/carbon/monkey)) + var/mob/living/carbon/monkey/target = grabbed + if(target.stat == 0) + user << "\red The monkey is struggling far too much to put it in the recycler." + else + user.drop_item() + qdel(target) + user << "\blue You stuff the monkey in the machine." + playsound(src.loc, 'sound/machines/juicer.ogg', 50, 1) + use_power(500) + src.grinded++ + user << "\blue The machine now has [grinded] monkey\s worth of material stored." + + else + user << "\red The machine only accepts monkeys!" + return + +/obj/machinery/monkey_recycler/attack_hand(var/mob/user as mob) + if (src.stat != 0) //NOPOWER etc + return + if(grinded >= 5) + user << "\blue The machine hisses loudly as it condenses the grinded monkey meat. After a moment, it dispenses a brand new monkey cube." + playsound(src.loc, 'sound/machines/hiss.ogg', 50, 1) + grinded -= 5 + new /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped(src.loc) + user << "\blue The machine's display flashes that it has [grinded] monkeys worth of material left." + else + user << "\red The machine needs at least 5 monkeys worth of material to produce a monkey cube. It only has [grinded]." + return diff --git a/code/game/machinery/kitchen/processor.dm b/code/modules/food&drinks/kitchen machinery/processor.dm similarity index 96% rename from code/game/machinery/kitchen/processor.dm rename to code/modules/food&drinks/kitchen machinery/processor.dm index 90ed8451d4b..87d11a48a1a 100644 --- a/code/game/machinery/kitchen/processor.dm +++ b/code/modules/food&drinks/kitchen machinery/processor.dm @@ -1,175 +1,175 @@ - -/obj/machinery/processor - name = "food processor" - desc = "An industrial grinder used to process meat and other foods. Keep hands clear of intake area while operating." - icon = 'icons/obj/kitchen.dmi' - icon_state = "processor" - layer = 2.9 - density = 1 - anchored = 1 - var/broken = 0 - var/processing = 0 - use_power = 1 - idle_power_usage = 5 - active_power_usage = 50 - - - -/datum/food_processor_process - var/input - var/output - var/time = 40 - proc/process(loc, what) - if (src.output && loc) - new src.output(loc) - if (what) - qdel(what) // Note to self: Make this safer - - /* objs */ - meat - input = /obj/item/weapon/reagent_containers/food/snacks/meat - output = /obj/item/weapon/reagent_containers/food/snacks/faggot - - potato - input = /obj/item/weapon/reagent_containers/food/snacks/grown/potato - output = /obj/item/weapon/reagent_containers/food/snacks/fries - - carrot - input = /obj/item/weapon/reagent_containers/food/snacks/grown/carrot - output = /obj/item/weapon/reagent_containers/food/snacks/carrotfries - - soybeans - input = /obj/item/weapon/reagent_containers/food/snacks/grown/soybeans - output = /obj/item/weapon/reagent_containers/food/snacks/soydope - - - /* mobs */ - mob - process(loc, what) - ..() - - - slime - - process(loc, what) - - var/mob/living/carbon/slime/S = what - var/C = S.cores - if(S.stat != DEAD) - S.loc = loc - S.visible_message("\blue [C] crawls free of the processor!") - return - for(var/i = 1, i <= C, i++) - new S.coretype(loc) - feedback_add_details("slime_core_harvested","[replacetext(S.colour," ","_")]") - ..() - input = /mob/living/carbon/slime - output = null - monkey - process(loc, what) - var/mob/living/carbon/monkey/O = what - if (O.client) //grief-proof - O.loc = loc - O.visible_message("\blue Suddenly [O] jumps out from the processor!", \ - "You jump out from the processor", \ - "You hear chimpering") - return - var/obj/item/weapon/reagent_containers/glass/bucket/bucket_of_blood = new(loc) - var/datum/reagent/blood/B = new() - B.holder = bucket_of_blood - B.volume = 70 - //set reagent data - B.data["donor"] = O - - for(var/datum/disease/D in O.viruses) - if(D.spread_type != SPECIAL) - B.data["viruses"] += D.Copy() - if(check_dna_integrity(O)) - B.data["blood_DNA"] = copytext(O.dna.unique_enzymes,1,0) - - if(O.resistances&&O.resistances.len) - B.data["resistances"] = O.resistances.Copy() - bucket_of_blood.reagents.reagent_list += B - bucket_of_blood.reagents.update_total() - bucket_of_blood.on_reagent_change() - //bucket_of_blood.reagents.handle_reactions() //blood doesn't react - ..() - - input = /mob/living/carbon/monkey - output = null - -/obj/machinery/processor/proc/select_recipe(var/X) - for (var/Type in typesof(/datum/food_processor_process) - /datum/food_processor_process - /datum/food_processor_process/mob) - var/datum/food_processor_process/P = new Type() - if (!istype(X, P.input)) - continue - return P - return 0 - -/obj/machinery/processor/attackby(var/obj/item/O as obj, var/mob/user as mob) - if(src.processing) - user << "\red The processor is in the process of processing." - return 1 - if(src.contents.len > 0) //TODO: several items at once? several different items? - user << "\red Something is already in the processing chamber." - return 1 - if(default_unfasten_wrench(user, O)) - return - var/what = O - if (istype(O, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/G = O - what = G.affecting - - var/datum/food_processor_process/P = select_recipe(what) - if (!P) - user << "\red That probably won't blend." - return 1 - user.visible_message("[user] put [what] into [src].", \ - "You put the [what] into [src].") - user.drop_item() - what:loc = src - return - -/obj/machinery/processor/attack_hand(var/mob/user as mob) - if (src.stat != 0) //NOPOWER etc - return - if(src.processing) - user << "\red The processor is in the process of processing." - return 1 - if(src.contents.len == 0) - user << "\red The processor is empty." - return 1 - for(var/O in src.contents) - var/datum/food_processor_process/P = select_recipe(O) - if (!P) - log_admin("DEBUG: [O] in processor havent suitable recipe. How do you put it in?") //-rastaf0 - continue - src.processing = 1 - user.visible_message("\blue [user] turns on \a [src].", \ - "You turn on \a [src].", \ - "You hear a food processor") - playsound(src.loc, 'sound/machines/blender.ogg', 50, 1) - use_power(500) - sleep(P.time) - P.process(src.loc, O) - src.processing = 0 - src.visible_message("\blue \the [src] finished processing.") - -/obj/machinery/processor/verb/eject() - set category = "Object" - set name = "Eject Contents" - set src in oview(1) - - if (usr.stat != 0) - return - src.empty() - add_fingerprint(usr) - return - -/obj/machinery/processor/proc/empty() - for (var/obj/O in src) - O.loc = src.loc - for (var/mob/M in src) - M.loc = src.loc - return - + +/obj/machinery/processor + name = "food processor" + desc = "An industrial grinder used to process meat and other foods. Keep hands clear of intake area while operating." + icon = 'icons/obj/kitchen.dmi' + icon_state = "processor" + layer = 2.9 + density = 1 + anchored = 1 + var/broken = 0 + var/processing = 0 + use_power = 1 + idle_power_usage = 5 + active_power_usage = 50 + + + +/datum/food_processor_process + var/input + var/output + var/time = 40 + proc/process(loc, what) + if (src.output && loc) + new src.output(loc) + if (what) + qdel(what) // Note to self: Make this safer + + /* objs */ + meat + input = /obj/item/weapon/reagent_containers/food/snacks/meat + output = /obj/item/weapon/reagent_containers/food/snacks/faggot + + potato + input = /obj/item/weapon/reagent_containers/food/snacks/grown/potato + output = /obj/item/weapon/reagent_containers/food/snacks/fries + + carrot + input = /obj/item/weapon/reagent_containers/food/snacks/grown/carrot + output = /obj/item/weapon/reagent_containers/food/snacks/carrotfries + + soybeans + input = /obj/item/weapon/reagent_containers/food/snacks/grown/soybeans + output = /obj/item/weapon/reagent_containers/food/snacks/soydope + + + /* mobs */ + mob + process(loc, what) + ..() + + + slime + + process(loc, what) + + var/mob/living/carbon/slime/S = what + var/C = S.cores + if(S.stat != DEAD) + S.loc = loc + S.visible_message("\blue [C] crawls free of the processor!") + return + for(var/i = 1, i <= C, i++) + new S.coretype(loc) + feedback_add_details("slime_core_harvested","[replacetext(S.colour," ","_")]") + ..() + input = /mob/living/carbon/slime + output = null + monkey + process(loc, what) + var/mob/living/carbon/monkey/O = what + if (O.client) //grief-proof + O.loc = loc + O.visible_message("\blue Suddenly [O] jumps out from the processor!", \ + "You jump out from the processor", \ + "You hear chimpering") + return + var/obj/item/weapon/reagent_containers/glass/bucket/bucket_of_blood = new(loc) + var/datum/reagent/blood/B = new() + B.holder = bucket_of_blood + B.volume = 70 + //set reagent data + B.data["donor"] = O + + for(var/datum/disease/D in O.viruses) + if(D.spread_type != SPECIAL) + B.data["viruses"] += D.Copy() + if(check_dna_integrity(O)) + B.data["blood_DNA"] = copytext(O.dna.unique_enzymes,1,0) + + if(O.resistances&&O.resistances.len) + B.data["resistances"] = O.resistances.Copy() + bucket_of_blood.reagents.reagent_list += B + bucket_of_blood.reagents.update_total() + bucket_of_blood.on_reagent_change() + //bucket_of_blood.reagents.handle_reactions() //blood doesn't react + ..() + + input = /mob/living/carbon/monkey + output = null + +/obj/machinery/processor/proc/select_recipe(var/X) + for (var/Type in typesof(/datum/food_processor_process) - /datum/food_processor_process - /datum/food_processor_process/mob) + var/datum/food_processor_process/P = new Type() + if (!istype(X, P.input)) + continue + return P + return 0 + +/obj/machinery/processor/attackby(var/obj/item/O as obj, var/mob/user as mob) + if(src.processing) + user << "\red The processor is in the process of processing." + return 1 + if(src.contents.len > 0) //TODO: several items at once? several different items? + user << "\red Something is already in the processing chamber." + return 1 + if(default_unfasten_wrench(user, O)) + return + var/what = O + if (istype(O, /obj/item/weapon/grab)) + var/obj/item/weapon/grab/G = O + what = G.affecting + + var/datum/food_processor_process/P = select_recipe(what) + if (!P) + user << "\red That probably won't blend." + return 1 + user.visible_message("[user] put [what] into [src].", \ + "You put the [what] into [src].") + user.drop_item() + what:loc = src + return + +/obj/machinery/processor/attack_hand(var/mob/user as mob) + if (src.stat != 0) //NOPOWER etc + return + if(src.processing) + user << "\red The processor is in the process of processing." + return 1 + if(src.contents.len == 0) + user << "\red The processor is empty." + return 1 + for(var/O in src.contents) + var/datum/food_processor_process/P = select_recipe(O) + if (!P) + log_admin("DEBUG: [O] in processor havent suitable recipe. How do you put it in?") //-rastaf0 + continue + src.processing = 1 + user.visible_message("\blue [user] turns on \a [src].", \ + "You turn on \a [src].", \ + "You hear a food processor") + playsound(src.loc, 'sound/machines/blender.ogg', 50, 1) + use_power(500) + sleep(P.time) + P.process(src.loc, O) + src.processing = 0 + src.visible_message("\blue \the [src] finished processing.") + +/obj/machinery/processor/verb/eject() + set category = "Object" + set name = "Eject Contents" + set src in oview(1) + + if (usr.stat != 0) + return + src.empty() + add_fingerprint(usr) + return + +/obj/machinery/processor/proc/empty() + for (var/obj/O in src) + O.loc = src.loc + for (var/mob/M in src) + M.loc = src.loc + return + diff --git a/code/game/machinery/kitchen/smartfridge.dm b/code/modules/food&drinks/kitchen machinery/smartfridge.dm similarity index 96% rename from code/game/machinery/kitchen/smartfridge.dm rename to code/modules/food&drinks/kitchen machinery/smartfridge.dm index 1198a78a4f9..30b4a4fbce2 100644 --- a/code/game/machinery/kitchen/smartfridge.dm +++ b/code/modules/food&drinks/kitchen machinery/smartfridge.dm @@ -1,349 +1,349 @@ -// ------------------------- -// SmartFridge. Much todo -// ------------------------- -/obj/machinery/smartfridge - name = "smartfridge" - icon = 'icons/obj/vending.dmi' - icon_state = "smartfridge" - layer = 2.9 - density = 1 - anchored = 1 - use_power = 1 - idle_power_usage = 5 - active_power_usage = 100 - flags = NOREACT - var/global/max_n_of_items = 999 // Sorry but the BYOND infinite loop detector doesn't like things over 1000. - var/icon_on = "smartfridge" - var/icon_off = "smartfridge-off" - var/item_quants = list() - -/obj/machinery/smartfridge/power_change() - ..() - update_icon() - -/obj/machinery/smartfridge/update_icon() - if(!stat) - icon_state = icon_on - else - icon_state = icon_off - - - -/******************* -* Item Adding -********************/ - -/obj/machinery/smartfridge/attackby(var/obj/item/O as obj, var/mob/user as mob) - if(default_unfasten_wrench(user, O)) - power_change() - return - if(stat) - return 0 - - if(contents.len >= max_n_of_items) - user << "\The [src] is full." - return 0 - - if(accept_check(O)) - load(O) - user.visible_message("[user] has added \the [O] to \the [src].", "You add \the [O] to \the [src].") - updateUsrDialog() - return 1 - - var/loaded = 0 - - if(istype(O, /obj/item/weapon/storage/bag)) - var/obj/item/weapon/storage/P = O - for(var/obj/G in P.contents) - if(contents.len >= max_n_of_items) - break - if(accept_check(G)) - load(G) - loaded++ - else - user << "\The [src] smartly refuses [O]." - updateUsrDialog() - return 0 - - // this is a little backwards but it avoids duplication. - // this code follows storage items and trays only. - if(loaded) - if(contents.len >= max_n_of_items) - user.visible_message("[user] loads \the [src] with \the [O].", \ - "You fill \the [src] with \the [O].") - else - user.visible_message("[user] loads \the [src] with \the [O].", \ - "You load \the [src] with \the [O].") - if(O.contents.len > 0) - user << "Some items are refused." - else - user << "There is nothing in [O] to put in [src]." - return 0 - - updateUsrDialog() - return 1 - - - -/obj/machinery/smartfridge/proc/accept_check(var/obj/item/O as obj) - if(istype(O,/obj/item/weapon/reagent_containers/food/snacks/grown/) || istype(O,/obj/item/seeds/)) - return 1 - return 0 - -/obj/machinery/smartfridge/proc/load(var/obj/item/O as obj) - if(istype(O.loc,/mob)) - var/mob/M = O.loc - if(!M.unEquip(O)) - usr << "\the [O] is stuck to your hand, you cannot put it in \the [src]" - return - else if(istype(O.loc,/obj/item/weapon/storage)) - var/obj/item/weapon/storage/S = O.loc - S.remove_from_storage(O,src) - - O.loc = src - var/n = O.name - - if(item_quants[n]) - item_quants[n]++ - else - item_quants[n] = 1 - item_quants = sortAssoc(item_quants) - -/obj/machinery/smartfridge/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/smartfridge/attack_ai(mob/user as mob) - return 0 - -/obj/machinery/smartfridge/attack_hand(mob/user as mob) - user.set_machine(src) - interact(user) - -/******************* -* SmartFridge Menu -********************/ - -/obj/machinery/smartfridge/interact(mob/user as mob) - if(stat) - return 0 - - var/dat = "Select an item:
" - - if (contents.len == 0) - dat += "No product loaded!" - else - for (var/O in item_quants) - if(item_quants[O] > 0) - var/N = item_quants[O] - var/itemName = sanitize(O) - dat += "[capitalize(O)]:" - dat += " [N] " - dat += "Vend " - if(N > 5) - dat += "(x5)" - if(N > 10) - dat += "(x10)" - if(N > 25) - dat += "(x25)" - if(N > 1) - dat += "(All)" - - dat += "
" - - dat += "
" - user << browse("[src] supplies[dat]", "window=smartfridge") - onclose(user, "smartfridge") - return dat - -/obj/machinery/smartfridge/Topic(var/href, var/list/href_list) - if(..()) - return - usr.set_machine(src) - - var/N = href_list["vend"] - var/amount = text2num(href_list["amount"]) - - if(item_quants[N] <= 0) // Sanity check, there are probably ways to press the button when it shouldn't be possible. - return - - item_quants[N] = max(item_quants[N] - amount, 0) - - var/i = amount - for(var/obj/O in contents) - if(O.name == N) - O.loc = src.loc - i-- - if(i <= 0) - break - - src.updateUsrDialog() - return - - -// ---------------------------- -// Drying Rack 'smartfridge' -// ---------------------------- -/obj/machinery/smartfridge/drying_rack - name = "drying rack" - icon = 'icons/obj/hydroponics.dmi' - icon_state = "drying_rack_on" - use_power = 1 - idle_power_usage = 5 - active_power_usage = 200 - icon_on = "drying_rack_on" - icon_off = "drying_rack" - var/drying = 0 - -/obj/machinery/smartfridge/drying_rack/interact(mob/user as mob) - var/dat = ..() - if(dat) - dat += "
" - dat += "Toggle Drying " - user << browse("[src] supplies[dat]", "window=smartfridge") - onclose(user, "smartfridge") - -/obj/machinery/smartfridge/drying_rack/Topic(var/href, var/list/href_list) - ..() - if(href_list["dry"]) - toggle_drying() - src.updateUsrDialog() - -/obj/machinery/smartfridge/drying_rack/power_change() - if(powered() && anchored) - stat &= ~NOPOWER - else - stat |= NOPOWER - toggle_drying(1) - update_icon() - -obj/machinery/smartfridge/drying_rack/load() //For updating the filled overlay - ..() - update_icon() - -/obj/machinery/smartfridge/drying_rack/update_icon() - ..() - overlays = 0 - if(drying) - overlays += "drying_rack_drying" - if(contents.len) - overlays += "drying_rack_filled" - -/obj/machinery/smartfridge/drying_rack/process() - ..() - if(drying) - if(rack_dry())//no need to update unless something got dried - update_icon() - -/obj/machinery/smartfridge/drying_rack/accept_check(var/obj/item/O as obj) - if(istype(O,/obj/item/weapon/reagent_containers/food/snacks/)) - var/obj/item/weapon/reagent_containers/food/snacks/S = O - if(S.dried_type) - return 1 - return 0 - -/obj/machinery/smartfridge/drying_rack/proc/toggle_drying(var/forceoff = 0) - if(drying || forceoff) - drying = 0 - use_power = 1 - else - drying = 1 - use_power = 2 - update_icon() - -/obj/machinery/smartfridge/drying_rack/proc/rack_dry() - for(var/obj/item/weapon/reagent_containers/food/snacks/S in contents) - if(S.dried_type == S.type)//if the dried type is the same as the object's type, don't bother creating a whole new item... - S.color = "#ad7257" - S.dry = 1 - S.loc = get_turf(src) - else - var/dried = S.dried_type - new dried(src.loc) - qdel(S) - return 1 - return 0 - -/obj/machinery/smartfridge/drying_rack/emp_act(severity) - ..() - atmos_spawn_air(SPAWN_HEAT, 75) - - -// ---------------------------- -// Bar drink smartfridge -// ---------------------------- -/obj/machinery/smartfridge/drinks - name = "drink showcase" - desc = "A refrigerated storage unit for tasty tasty alcohol." - -/obj/machinery/smartfridge/drinks/accept_check(var/obj/item/O as obj) - if(!istype(O,/obj/item/weapon/reagent_containers) || !O.reagents || !O.reagents.reagent_list.len) - return 0 - if(istype(O,/obj/item/weapon/reagent_containers/glass) || istype(O,/obj/item/weapon/reagent_containers/food/drinks) || istype(O,/obj/item/weapon/reagent_containers/food/condiment)) - return 1 - - -// ------------------------------------- -// Xenobiology Slime-Extract Smartfridge -// ------------------------------------- -/obj/machinery/smartfridge/extract - name = "smart slime extract storage" - desc = "A refrigerated storage unit for slime extracts." - -/obj/machinery/smartfridge/extract/accept_check(var/obj/item/O as obj) - if(istype(O,/obj/item/slime_extract)) - return 1 - if(istype(O,/obj/item/device/slime_scanner)) - return 1 - return 0 - -/obj/machinery/smartfridge/extract/New() - ..() - var/obj/item/device/slime_scanner/I = new /obj/item/device/slime_scanner(src) - load(I) - var/obj/item/device/slime_scanner/T = new /obj/item/device/slime_scanner(src) - load(T) - -// ----------------------------- -// Chemistry Medical Smartfridge -// ----------------------------- -/obj/machinery/smartfridge/chemistry - name = "smart chemical storage" - desc = "A refrigerated storage unit for medicine storage." - var/list/spawn_meds = list(/obj/item/weapon/reagent_containers/pill/inaprovaline = 12,/obj/item/weapon/reagent_containers/pill/antitox = 1, - /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline = 1, /obj/item/weapon/reagent_containers/glass/bottle/antitoxin = 1) - -/obj/machinery/smartfridge/chemistry/New() - ..() - for(var/typekey in spawn_meds) - var/amount = spawn_meds[typekey] - if(isnull(amount)) amount = 1 - while(amount) - var/obj/item/I = new typekey(src) - load(I) - amount-- - -/obj/machinery/smartfridge/chemistry/accept_check(var/obj/item/O as obj) - if(istype(O,/obj/item/weapon/storage/pill_bottle)) - if(O.contents.len) - for(var/obj/item/I in O) - if(!accept_check(I)) - return 0 - return 1 - return 0 - if(!istype(O,/obj/item/weapon/reagent_containers)) - return 0 - if(istype(O,/obj/item/weapon/reagent_containers/pill)) // empty pill prank ok - return 1 - if(!O.reagents || !O.reagents.reagent_list.len) // other empty containers not accepted - return 0 - if(istype(O,/obj/item/weapon/reagent_containers/syringe) || istype(O,/obj/item/weapon/reagent_containers/glass/bottle) || istype(O,/obj/item/weapon/reagent_containers/glass/beaker) || istype(O,/obj/item/weapon/reagent_containers/spray)) - return 1 - return 0 - -// ---------------------------- -// Virology Medical Smartfridge -// ---------------------------- -/obj/machinery/smartfridge/chemistry/virology - name = "smart virus storage" - desc = "A refrigerated storage unit for volatile sample storage." +// ------------------------- +// SmartFridge. Much todo +// ------------------------- +/obj/machinery/smartfridge + name = "smartfridge" + icon = 'icons/obj/vending.dmi' + icon_state = "smartfridge" + layer = 2.9 + density = 1 + anchored = 1 + use_power = 1 + idle_power_usage = 5 + active_power_usage = 100 + flags = NOREACT + var/global/max_n_of_items = 999 // Sorry but the BYOND infinite loop detector doesn't like things over 1000. + var/icon_on = "smartfridge" + var/icon_off = "smartfridge-off" + var/item_quants = list() + +/obj/machinery/smartfridge/power_change() + ..() + update_icon() + +/obj/machinery/smartfridge/update_icon() + if(!stat) + icon_state = icon_on + else + icon_state = icon_off + + + +/******************* +* Item Adding +********************/ + +/obj/machinery/smartfridge/attackby(var/obj/item/O as obj, var/mob/user as mob) + if(default_unfasten_wrench(user, O)) + power_change() + return + if(stat) + return 0 + + if(contents.len >= max_n_of_items) + user << "\The [src] is full." + return 0 + + if(accept_check(O)) + load(O) + user.visible_message("[user] has added \the [O] to \the [src].", "You add \the [O] to \the [src].") + updateUsrDialog() + return 1 + + var/loaded = 0 + + if(istype(O, /obj/item/weapon/storage/bag)) + var/obj/item/weapon/storage/P = O + for(var/obj/G in P.contents) + if(contents.len >= max_n_of_items) + break + if(accept_check(G)) + load(G) + loaded++ + else + user << "\The [src] smartly refuses [O]." + updateUsrDialog() + return 0 + + // this is a little backwards but it avoids duplication. + // this code follows storage items and trays only. + if(loaded) + if(contents.len >= max_n_of_items) + user.visible_message("[user] loads \the [src] with \the [O].", \ + "You fill \the [src] with \the [O].") + else + user.visible_message("[user] loads \the [src] with \the [O].", \ + "You load \the [src] with \the [O].") + if(O.contents.len > 0) + user << "Some items are refused." + else + user << "There is nothing in [O] to put in [src]." + return 0 + + updateUsrDialog() + return 1 + + + +/obj/machinery/smartfridge/proc/accept_check(var/obj/item/O as obj) + if(istype(O,/obj/item/weapon/reagent_containers/food/snacks/grown/) || istype(O,/obj/item/seeds/)) + return 1 + return 0 + +/obj/machinery/smartfridge/proc/load(var/obj/item/O as obj) + if(istype(O.loc,/mob)) + var/mob/M = O.loc + if(!M.unEquip(O)) + usr << "\the [O] is stuck to your hand, you cannot put it in \the [src]" + return + else if(istype(O.loc,/obj/item/weapon/storage)) + var/obj/item/weapon/storage/S = O.loc + S.remove_from_storage(O,src) + + O.loc = src + var/n = O.name + + if(item_quants[n]) + item_quants[n]++ + else + item_quants[n] = 1 + item_quants = sortAssoc(item_quants) + +/obj/machinery/smartfridge/attack_paw(mob/user as mob) + return src.attack_hand(user) + +/obj/machinery/smartfridge/attack_ai(mob/user as mob) + return 0 + +/obj/machinery/smartfridge/attack_hand(mob/user as mob) + user.set_machine(src) + interact(user) + +/******************* +* SmartFridge Menu +********************/ + +/obj/machinery/smartfridge/interact(mob/user as mob) + if(stat) + return 0 + + var/dat = "Select an item:
" + + if (contents.len == 0) + dat += "No product loaded!" + else + for (var/O in item_quants) + if(item_quants[O] > 0) + var/N = item_quants[O] + var/itemName = sanitize(O) + dat += "[capitalize(O)]:" + dat += " [N] " + dat += "Vend " + if(N > 5) + dat += "(x5)" + if(N > 10) + dat += "(x10)" + if(N > 25) + dat += "(x25)" + if(N > 1) + dat += "(All)" + + dat += "
" + + dat += "
" + user << browse("[src] supplies[dat]", "window=smartfridge") + onclose(user, "smartfridge") + return dat + +/obj/machinery/smartfridge/Topic(var/href, var/list/href_list) + if(..()) + return + usr.set_machine(src) + + var/N = href_list["vend"] + var/amount = text2num(href_list["amount"]) + + if(item_quants[N] <= 0) // Sanity check, there are probably ways to press the button when it shouldn't be possible. + return + + item_quants[N] = max(item_quants[N] - amount, 0) + + var/i = amount + for(var/obj/O in contents) + if(O.name == N) + O.loc = src.loc + i-- + if(i <= 0) + break + + src.updateUsrDialog() + return + + +// ---------------------------- +// Drying Rack 'smartfridge' +// ---------------------------- +/obj/machinery/smartfridge/drying_rack + name = "drying rack" + icon = 'icons/obj/hydroponics.dmi' + icon_state = "drying_rack_on" + use_power = 1 + idle_power_usage = 5 + active_power_usage = 200 + icon_on = "drying_rack_on" + icon_off = "drying_rack" + var/drying = 0 + +/obj/machinery/smartfridge/drying_rack/interact(mob/user as mob) + var/dat = ..() + if(dat) + dat += "
" + dat += "Toggle Drying " + user << browse("[src] supplies[dat]", "window=smartfridge") + onclose(user, "smartfridge") + +/obj/machinery/smartfridge/drying_rack/Topic(var/href, var/list/href_list) + ..() + if(href_list["dry"]) + toggle_drying() + src.updateUsrDialog() + +/obj/machinery/smartfridge/drying_rack/power_change() + if(powered() && anchored) + stat &= ~NOPOWER + else + stat |= NOPOWER + toggle_drying(1) + update_icon() + +obj/machinery/smartfridge/drying_rack/load() //For updating the filled overlay + ..() + update_icon() + +/obj/machinery/smartfridge/drying_rack/update_icon() + ..() + overlays = 0 + if(drying) + overlays += "drying_rack_drying" + if(contents.len) + overlays += "drying_rack_filled" + +/obj/machinery/smartfridge/drying_rack/process() + ..() + if(drying) + if(rack_dry())//no need to update unless something got dried + update_icon() + +/obj/machinery/smartfridge/drying_rack/accept_check(var/obj/item/O as obj) + if(istype(O,/obj/item/weapon/reagent_containers/food/snacks/)) + var/obj/item/weapon/reagent_containers/food/snacks/S = O + if(S.dried_type) + return 1 + return 0 + +/obj/machinery/smartfridge/drying_rack/proc/toggle_drying(var/forceoff = 0) + if(drying || forceoff) + drying = 0 + use_power = 1 + else + drying = 1 + use_power = 2 + update_icon() + +/obj/machinery/smartfridge/drying_rack/proc/rack_dry() + for(var/obj/item/weapon/reagent_containers/food/snacks/S in contents) + if(S.dried_type == S.type)//if the dried type is the same as the object's type, don't bother creating a whole new item... + S.color = "#ad7257" + S.dry = 1 + S.loc = get_turf(src) + else + var/dried = S.dried_type + new dried(src.loc) + qdel(S) + return 1 + return 0 + +/obj/machinery/smartfridge/drying_rack/emp_act(severity) + ..() + atmos_spawn_air(SPAWN_HEAT, 75) + + +// ---------------------------- +// Bar drink smartfridge +// ---------------------------- +/obj/machinery/smartfridge/drinks + name = "drink showcase" + desc = "A refrigerated storage unit for tasty tasty alcohol." + +/obj/machinery/smartfridge/drinks/accept_check(var/obj/item/O as obj) + if(!istype(O,/obj/item/weapon/reagent_containers) || !O.reagents || !O.reagents.reagent_list.len) + return 0 + if(istype(O,/obj/item/weapon/reagent_containers/glass) || istype(O,/obj/item/weapon/reagent_containers/food/drinks) || istype(O,/obj/item/weapon/reagent_containers/food/condiment)) + return 1 + + +// ------------------------------------- +// Xenobiology Slime-Extract Smartfridge +// ------------------------------------- +/obj/machinery/smartfridge/extract + name = "smart slime extract storage" + desc = "A refrigerated storage unit for slime extracts." + +/obj/machinery/smartfridge/extract/accept_check(var/obj/item/O as obj) + if(istype(O,/obj/item/slime_extract)) + return 1 + if(istype(O,/obj/item/device/slime_scanner)) + return 1 + return 0 + +/obj/machinery/smartfridge/extract/New() + ..() + var/obj/item/device/slime_scanner/I = new /obj/item/device/slime_scanner(src) + load(I) + var/obj/item/device/slime_scanner/T = new /obj/item/device/slime_scanner(src) + load(T) + +// ----------------------------- +// Chemistry Medical Smartfridge +// ----------------------------- +/obj/machinery/smartfridge/chemistry + name = "smart chemical storage" + desc = "A refrigerated storage unit for medicine storage." + var/list/spawn_meds = list(/obj/item/weapon/reagent_containers/pill/inaprovaline = 12,/obj/item/weapon/reagent_containers/pill/antitox = 1, + /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline = 1, /obj/item/weapon/reagent_containers/glass/bottle/antitoxin = 1) + +/obj/machinery/smartfridge/chemistry/New() + ..() + for(var/typekey in spawn_meds) + var/amount = spawn_meds[typekey] + if(isnull(amount)) amount = 1 + while(amount) + var/obj/item/I = new typekey(src) + load(I) + amount-- + +/obj/machinery/smartfridge/chemistry/accept_check(var/obj/item/O as obj) + if(istype(O,/obj/item/weapon/storage/pill_bottle)) + if(O.contents.len) + for(var/obj/item/I in O) + if(!accept_check(I)) + return 0 + return 1 + return 0 + if(!istype(O,/obj/item/weapon/reagent_containers)) + return 0 + if(istype(O,/obj/item/weapon/reagent_containers/pill)) // empty pill prank ok + return 1 + if(!O.reagents || !O.reagents.reagent_list.len) // other empty containers not accepted + return 0 + if(istype(O,/obj/item/weapon/reagent_containers/syringe) || istype(O,/obj/item/weapon/reagent_containers/glass/bottle) || istype(O,/obj/item/weapon/reagent_containers/glass/beaker) || istype(O,/obj/item/weapon/reagent_containers/spray)) + return 1 + return 0 + +// ---------------------------- +// Virology Medical Smartfridge +// ---------------------------- +/obj/machinery/smartfridge/chemistry/virology + name = "smart virus storage" + desc = "A refrigerated storage unit for volatile sample storage." spawn_meds = list(/obj/item/weapon/reagent_containers/syringe/antiviral = 4, /obj/item/weapon/reagent_containers/glass/bottle/cold = 1, /obj/item/weapon/reagent_containers/glass/bottle/flu_virion = 1, /obj/item/weapon/reagent_containers/glass/bottle/mutagen = 1, /obj/item/weapon/reagent_containers/glass/bottle/plasma = 1, /obj/item/weapon/reagent_containers/glass/bottle/synaptizine = 1) \ No newline at end of file diff --git a/code/modules/food&drinks/recipes/microwave/recipes.dm b/code/modules/food&drinks/recipes/microwave/recipes.dm new file mode 100644 index 00000000000..17c76c10d25 --- /dev/null +++ b/code/modules/food&drinks/recipes/microwave/recipes.dm @@ -0,0 +1,539 @@ + +// see code/datums/recipe.dm + +////////////////////////////////////////////////EGG RECIPE's//////////////////////////////////////////////// + +/datum/recipe/egg/fried + reagents = list("sodiumchloride" = 1, "blackpepper" = 1) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg + ) + result = /obj/item/weapon/reagent_containers/food/snacks/friedegg + +/datum/recipe/egg/boiled + reagents = list("water" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg + ) + result = /obj/item/weapon/reagent_containers/food/snacks/boiledegg + +/datum/recipe/egg/omelette + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/omelette + +/datum/recipe/egg/chocolate + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/chocolatebar, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/chocolateegg + +/datum/recipe/egg/benedict + items = list( + /obj/item/weapon/reagent_containers/food/snacks/friedegg, + /obj/item/weapon/reagent_containers/food/snacks/meatsteak, + /obj/item/weapon/reagent_containers/food/snacks/breadslice, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/benedict + +////////////////////////////////////////////////DONUTS//////////////////////////////////////////////// + +/datum/recipe/donut + reagents = list("flour" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg + ) + result = /obj/item/weapon/reagent_containers/food/snacks/donut/normal + +/datum/recipe/donut/jelly + reagents = list("berryjuice" = 5, "flour" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg + ) + result = /obj/item/weapon/reagent_containers/food/snacks/donut/jelly + +/datum/recipe/donut/jelly/slime + reagents = list("slimejelly" = 5, "flour" = 5) + result = /obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly + +/datum/recipe/donut/jelly/cherry + reagents = list("cherryjelly" = 5, "flour" = 5) + result = /obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly + +/datum/recipe/chaosdonut + reagents = list("frostoil" = 5, "capsaicin" = 5, "flour" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg + ) + result = /obj/item/weapon/reagent_containers/food/snacks/donut/chaos + + +////////////////////////////////////////////////WAFFLES//////////////////////////////////////////////// + +/datum/recipe/waffles + reagents = list("flour" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/waffles + + +/datum/recipe/waffles/soylenviridians + reagents = list("flour" = 15) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/soybeans + ) + result = /obj/item/weapon/reagent_containers/food/snacks/soylenviridians + +/datum/recipe/waffles/soylentgreen + reagents = list("flour" = 15) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/meat/human, + /obj/item/weapon/reagent_containers/food/snacks/meat/human, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/soylentgreen + + +/datum/recipe/waffles/roffle + reagents = list("mushroomhallucinogen" = 5, "flour" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/rofflewaffles + + +////////////////////////////////////////////////DONKPOCCKETS//////////////////////////////////////////////// + +/datum/recipe/donkpocket + reagents = list("flour" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/faggot, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/donkpocket //SPECIAL + proc/warm_up(var/obj/item/weapon/reagent_containers/food/snacks/donkpocket/being_cooked) + being_cooked.warm = 1 + being_cooked.reagents.add_reagent("tricordrazine", 5) + being_cooked.bitesize = 6 + being_cooked.name = "Warm " + being_cooked.name + being_cooked.cooltime() + make_food(var/obj/container as obj) + var/obj/item/weapon/reagent_containers/food/snacks/donkpocket/being_cooked = ..(container) + warm_up(being_cooked) + return being_cooked + +/datum/recipe/donkpocket/warm + reagents = list() //This is necessary since this is a child object of the above recipe and we don't want donk pockets to need flour + items = list( + /obj/item/weapon/reagent_containers/food/snacks/donkpocket + ) + result = /obj/item/weapon/reagent_containers/food/snacks/donkpocket //SPECIAL + make_food(var/obj/container as obj) + var/obj/item/weapon/reagent_containers/food/snacks/donkpocket/being_cooked = locate() in container + if(being_cooked && !being_cooked.warm) + warm_up(being_cooked) + return being_cooked + + +////////////////////////////////////////////////MUFFINS//////////////////////////////////////////////// + +/datum/recipe/muffin + reagents = list("milk" = 5, "flour" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/muffin + +/datum/recipe/muffin/berry + reagents = list("milk" = 5, "flour" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/grown/berries + ) + result = /obj/item/weapon/reagent_containers/food/snacks/muffin/berry + +/datum/recipe/muffin/booberry + reagents = list("milk" = 5, "flour" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/grown/berries, + /obj/item/weapon/ectoplasm + ) + result = /obj/item/weapon/reagent_containers/food/snacks/muffin/booberry + +/datum/recipe/muffin/chawanmushi + reagents = list("water" = 5, "soysauce" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/chanterelle, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/chawanmushi + + + +////////////////////////////////////////////////KEBABS NO REMOVE//////////////////////////////////////////////// + +/datum/recipe/kebab/human + items = list( + /obj/item/stack/rods, + /obj/item/weapon/reagent_containers/food/snacks/meat/human, + /obj/item/weapon/reagent_containers/food/snacks/meat/human, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/human/kebab + +/datum/recipe/kebab/monkey + items = list( + /obj/item/stack/rods, + /obj/item/weapon/reagent_containers/food/snacks/meat/monkey, + /obj/item/weapon/reagent_containers/food/snacks/meat/monkey, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/monkeykebab + +/datum/recipe/kebab/tofu + items = list( + /obj/item/stack/rods, + /obj/item/weapon/reagent_containers/food/snacks/tofu, + /obj/item/weapon/reagent_containers/food/snacks/tofu, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/tofukebab + +////////////////////////////////////////////////FISH//////////////////////////////////////////////// + +/datum/recipe/carpmeat + reagents = list("carpotoxin" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/tofu + ) + result = /obj/item/weapon/reagent_containers/food/snacks/carpmeat/imitation + +/datum/recipe/cubancarp + reagents = list("flour" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/chili, + /obj/item/weapon/reagent_containers/food/snacks/carpmeat, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/cubancarp + +/datum/recipe/fishandchips + items = list( + /obj/item/weapon/reagent_containers/food/snacks/fries, + /obj/item/weapon/reagent_containers/food/snacks/carpmeat, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/fishandchips + +/datum/recipe/fishfingers + reagents = list("flour" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/carpmeat, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/fishfingers + +/datum/recipe/sashimi + reagents = list("soysauce" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/spidereggs, + /obj/item/weapon/reagent_containers/food/snacks/carpmeat, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sashimi + +////////////////////////////////////////////////PIZZA!!!//////////////////////////////////////////////// + +/datum/recipe/pizza/margherita + reagents = list("flour" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margherita + +/datum/recipe/pizza/meat + reagents = list("flour" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/meat, + /obj/item/weapon/reagent_containers/food/snacks/meat, + /obj/item/weapon/reagent_containers/food/snacks/meat, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza + +/datum/recipe/pizza/mushroom + reagents = list("flour" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom, + /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom, + /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom, + /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom, + /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza + +/datum/recipe/pizza/vegetable + reagents = list("flour" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/eggplant, + /obj/item/weapon/reagent_containers/food/snacks/grown/carrot, + /obj/item/weapon/reagent_containers/food/snacks/grown/corn, + /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza + + + +////////////////////////////////////////////////SALADS//////////////////////////////////////////////// + +/datum/recipe/salad/herb + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/vulgaris, + /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/vulgaris, + /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/vulgaris, + /obj/item/weapon/reagent_containers/food/snacks/grown/apple, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/herbsalad + make_food(var/obj/container as obj) + var/obj/item/weapon/reagent_containers/food/snacks/herbsalad/being_cooked = ..(container) + being_cooked.reagents.del_reagent("toxin") + return being_cooked + +/datum/recipe/salad/aesir + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/deus, + /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/deus, + /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/deus, + /obj/item/weapon/reagent_containers/food/snacks/grown/apple/gold, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/aesirsalad + +/datum/recipe/salad/valid + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/vulgaris, + /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/vulgaris, + /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/vulgaris, + /obj/item/weapon/reagent_containers/food/snacks/grown/potato, + /obj/item/weapon/reagent_containers/food/snacks/faggot, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/validsalad + make_food(var/obj/container as obj) + var/obj/item/weapon/reagent_containers/food/snacks/validsalad/being_cooked = ..(container) + being_cooked.reagents.del_reagent("toxin") + return being_cooked + +////////////////////////////////////////////////FOOD ADDITTIONS//////////////////////////////////////////////// + +/datum/recipe/wrap + reagents = list("soysauce" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/friedegg, + /obj/item/weapon/reagent_containers/food/snacks/grown/cabbage, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/wrap + +/datum/recipe/beans + reagents = list("ketchup" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/soybeans, + /obj/item/weapon/reagent_containers/food/snacks/grown/soybeans, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/beans + +/datum/recipe/hotdog + reagents = list("ketchup" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/breadslice, + /obj/item/weapon/reagent_containers/food/snacks/sausage, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/hotdog + +/datum/recipe/meatbun + reagents = list("soysauce" = 5, "flour" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/faggot, + /obj/item/weapon/reagent_containers/food/snacks/grown/cabbage, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/meatbun + +/datum/recipe/sugarcookie + reagents = list("flour" = 5, "sugar" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sugarcookie + +/datum/recipe/boiledspiderleg + reagents = list("water" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/spiderleg, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/boiledspiderleg + +/datum/recipe/spidereggsham + reagents = list("sodiumchloride" = 1) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/spidereggs, + /obj/item/weapon/reagent_containers/food/snacks/spidermeat, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/spidereggsham + +////////////////////////////////////////////////MISC RECIPE's//////////////////////////////////////////////// + +/datum/recipe/cornedbeef + reagents = list("sodiumchloride" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/meat, + /obj/item/weapon/reagent_containers/food/snacks/grown/cabbage, + /obj/item/weapon/reagent_containers/food/snacks/grown/cabbage, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/cornedbeef + +/datum/recipe/wingfangchu + reagents = list("soysauce" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/xenomeat, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/wingfangchu + +/datum/recipe/loadedbakedpotato + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/potato, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/loadedbakedpotato + +/datum/recipe/cheesyfries + items = list( + /obj/item/weapon/reagent_containers/food/snacks/fries, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/cheesyfries + +/datum/recipe/popcorn + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/corn + ) + result = /obj/item/weapon/reagent_containers/food/snacks/popcorn + +/datum/recipe/fortunecookie + reagents = list("flour" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/paper, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/fortunecookie +/datum/recipe/fortunecookie/make_food(var/obj/container as obj) + var/obj/item/weapon/paper/paper = locate() in container + paper.loc = null //prevent deletion + var/obj/item/weapon/reagent_containers/food/snacks/fortunecookie/being_cooked = ..(container) + paper.loc = being_cooked + being_cooked.trash = paper //so the paper is left behind as trash without special-snowflake(TM Nodrak) code ~carn + return being_cooked + +/datum/recipe/meatsteak + reagents = list("sodiumchloride" = 1, "blackpepper" = 1) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/meat + ) + result = /obj/item/weapon/reagent_containers/food/snacks/meatsteak + +/datum/recipe/spacylibertyduff + reagents = list("water" = 5, "vodka" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap, + /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap, + /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/spacylibertyduff + +/datum/recipe/amanitajelly + reagents = list("water" = 5, "vodka" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita, + /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita, + /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/amanitajelly + make_food(var/obj/container as obj) + var/obj/item/weapon/reagent_containers/food/snacks/amanitajelly/being_cooked = ..(container) + being_cooked.reagents.del_reagent("amatoxin") + return being_cooked + +/datum/recipe/enchiladas + items = list( + /obj/item/weapon/reagent_containers/food/snacks/meat, + /obj/item/weapon/reagent_containers/food/snacks/grown/chili, + /obj/item/weapon/reagent_containers/food/snacks/grown/chili, + /obj/item/weapon/reagent_containers/food/snacks/grown/corn, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/enchiladas + +/datum/recipe/stew + reagents = list("water" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, + /obj/item/weapon/reagent_containers/food/snacks/meat, + /obj/item/weapon/reagent_containers/food/snacks/grown/potato, + /obj/item/weapon/reagent_containers/food/snacks/grown/carrot, + /obj/item/weapon/reagent_containers/food/snacks/grown/eggplant, + /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/stew + +/datum/recipe/stewedsoymeat + items = list( + /obj/item/weapon/reagent_containers/food/snacks/soydope, + /obj/item/weapon/reagent_containers/food/snacks/soydope, + /obj/item/weapon/reagent_containers/food/snacks/grown/carrot, + /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/stewedsoymeat + +/datum/recipe/poppypretzel + reagents = list("flour" = 5) + items = list( + /obj/item/seeds/poppyseed, + /obj/item/weapon/reagent_containers/food/snacks/egg, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/poppypretzel + +/datum/recipe/candiedapple + reagents = list("water" = 5, "sugar" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/apple + ) + result = /obj/item/weapon/reagent_containers/food/snacks/candiedapple + +/datum/recipe/sausage + items = list( + /obj/item/weapon/reagent_containers/food/snacks/faggot, + /obj/item/weapon/reagent_containers/food/snacks/meat, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sausage + +/datum/recipe/plumphelmetbiscuit + reagents = list("flour" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/plumphelmet, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/plumphelmetbiscuit + +/datum/recipe/appletart + reagents = list("sugar" = 5, "milk" = 5, "flour" = 15) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/grown/apple/gold, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/appletart + +/datum/recipe/cracker + reagents = list("flour" = 5, "sodiumchloride" = 1) + result = /obj/item/weapon/reagent_containers/food/snacks/cracker diff --git a/code/modules/food&drinks/recipes/microwave/recipes_bread.dm b/code/modules/food&drinks/recipes/microwave/recipes_bread.dm new file mode 100644 index 00000000000..07e15cecdb9 --- /dev/null +++ b/code/modules/food&drinks/recipes/microwave/recipes_bread.dm @@ -0,0 +1,78 @@ + +// see code/datums/recipe.dm + +////////////////////////////////////////////////BREAD//////////////////////////////////////////////// + +/datum/recipe/bread + reagents = list("flour" = 15) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/bread + +/datum/recipe/bread/meat + reagents = list("flour" = 15) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/meat, + /obj/item/weapon/reagent_containers/food/snacks/meat, + /obj/item/weapon/reagent_containers/food/snacks/meat, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/meatbread + +/datum/recipe/bread/xenomeat + reagents = list("flour" = 15) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/xenomeat, + /obj/item/weapon/reagent_containers/food/snacks/xenomeat, + /obj/item/weapon/reagent_containers/food/snacks/xenomeat, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/xenomeatbread + +/datum/recipe/bread/spidermeat + reagents = list("flour" = 15) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/spidermeat, + /obj/item/weapon/reagent_containers/food/snacks/spidermeat, + /obj/item/weapon/reagent_containers/food/snacks/spidermeat, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/spidermeatbread + +/datum/recipe/bread/banana + reagents = list("milk" = 5, "flour" = 15) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/grown/banana, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/bananabread + +/datum/recipe/bread/tofu + reagents = list("flour" = 15) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/tofu, + /obj/item/weapon/reagent_containers/food/snacks/tofu, + /obj/item/weapon/reagent_containers/food/snacks/tofu, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/tofubread + +/datum/recipe/bread/creamcheese + reagents = list("flour" = 15) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/creamcheesebread + +/datum/recipe/bread/baguette + reagents = list("sodiumchloride" = 1, "blackpepper" = 1, "flour" = 10) + result = /obj/item/weapon/reagent_containers/food/snacks/baguette diff --git a/code/modules/food&drinks/recipes/microwave/recipes_burgers.dm b/code/modules/food&drinks/recipes/microwave/recipes_burgers.dm new file mode 100644 index 00000000000..b21eab3ead0 --- /dev/null +++ b/code/modules/food&drinks/recipes/microwave/recipes_burgers.dm @@ -0,0 +1,194 @@ + +// see code/datums/recipe.dm + +////////////////////////////////////////////////BURGERS//////////////////////////////////////////////// + +/datum/recipe/burger/human + make_food(var/obj/container as obj) + var/human_name + var/human_job + for (var/obj/item/weapon/reagent_containers/food/snacks/meat/human/HM in container) + if (!HM.subjectname) + continue + human_name = HM.subjectname + human_job = HM.subjectjob + break + var/lastname_index = findtext(human_name, " ") + if (lastname_index) + human_name = copytext(human_name,lastname_index+1) + + var/obj/item/weapon/reagent_containers/food/snacks/burger/human/HB = ..(container) + HB.name = human_name+HB.name + HB.job = human_job + return HB + + reagents = list("flour" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/meat/human + ) + result = /obj/item/weapon/reagent_containers/food/snacks/burger/human + +/datum/recipe/burger/plain + reagents = list("flour" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/meat //do not place this recipe before /datum/recipe/humanburger + ) + result = /obj/item/weapon/reagent_containers/food/snacks/burger + +/datum/recipe/burger/appendix + reagents = list("flour" = 5) + items = list( + /obj/item/organ/appendix + ) + result = /obj/item/weapon/reagent_containers/food/snacks/burger/appendix + +/datum/recipe/burger/brain + reagents = list("flour" = 5) + items = list( + /obj/item/organ/brain + ) + result = /obj/item/weapon/reagent_containers/food/snacks/burger/brain + +/datum/recipe/burger/xeno + reagents = list("flour" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/xenomeat + ) + result = /obj/item/weapon/reagent_containers/food/snacks/burger/xeno + +/datum/recipe/burger/fish + reagents = list("flour" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/carpmeat + ) + result = /obj/item/weapon/reagent_containers/food/snacks/burger/fish + +/datum/recipe/burger/tofu + reagents = list("flour" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/tofu + ) + result = /obj/item/weapon/reagent_containers/food/snacks/burger/tofu + +/datum/recipe/burger/ghost + reagents = list("flour" = 5) + items = list( + /obj/item/weapon/ectoplasm + ) + result = /obj/item/weapon/reagent_containers/food/snacks/burger/ghost + +/datum/recipe/burger/clown + reagents = list("flour" = 5) + items = list( + /obj/item/clothing/mask/gas/clown_hat, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/burger/clown + +/datum/recipe/burger/mime + reagents = list("flour" = 5) + items = list( + /obj/item/clothing/mask/gas/mime + ) + result = /obj/item/weapon/reagent_containers/food/snacks/burger/mime + +/datum/recipe/burger/red + reagents = list("flour" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/meat, + /obj/item/toy/crayon/red, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/burger/red + +/datum/recipe/burger/orange + reagents = list("flour" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/meat, + /obj/item/toy/crayon/orange, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/burger/orange + +/datum/recipe/burger/yellow + reagents = list("flour" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/meat, + /obj/item/toy/crayon/yellow, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/burger/yellow + +/datum/recipe/burger/green + reagents = list("flour" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/meat, + /obj/item/toy/crayon/green, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/burger/green + +/datum/recipe/burger/blue + reagents = list("flour" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/meat, + /obj/item/toy/crayon/blue, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/burger/blue + +/datum/recipe/burger/purple + reagents = list("flour" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/meat, + /obj/item/toy/crayon/purple, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/burger/purple + +/datum/recipe/burger/spell + reagents = list("flour" = 5) + items = list( + /obj/item/clothing/head/wizard/fake, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/burger/spell + +/datum/recipe/burger/spell + reagents = list("flour" = 5) + items = list( + /obj/item/clothing/head/wizard, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/burger/spell + +/datum/recipe/burger/bigbite + reagents = list("flour" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/meat, + /obj/item/weapon/reagent_containers/food/snacks/meat, + /obj/item/weapon/reagent_containers/food/snacks/meat, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/burger/bigbite + +/datum/recipe/burger/superbite + reagents = list("sodiumchloride" = 5, "blackpepper" = 5, "flour" = 15) + items = list( + /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/grown/tomato, + /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, + /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, + /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + + ) + result = /obj/item/weapon/reagent_containers/food/snacks/burger/superbite + +/datum/recipe/burger/slime + reagents = list("slimejelly" = 5, "flour" = 15) + items = list() + result = /obj/item/weapon/reagent_containers/food/snacks/burger/jelly/slime + +/datum/recipe/burger/jelly + reagents = list("cherryjelly" = 5, "flour" = 15) + items = list() + result = /obj/item/weapon/reagent_containers/food/snacks/burger/jelly/cherry diff --git a/code/modules/food&drinks/recipes/microwave/recipes_cakes.dm b/code/modules/food&drinks/recipes/microwave/recipes_cakes.dm new file mode 100644 index 00000000000..25314c6e22b --- /dev/null +++ b/code/modules/food&drinks/recipes/microwave/recipes_cakes.dm @@ -0,0 +1,110 @@ + +// see code/datums/recipe.dm + +////////////////////////////////////////////////CAKE//////////////////////////////////////////////// + +/datum/recipe/cake/carrot + reagents = list("milk" = 5, "flour" = 15) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/grown/carrot, + /obj/item/weapon/reagent_containers/food/snacks/grown/carrot + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/carrotcake + +/datum/recipe/cake/cheese + reagents = list("milk" = 5, "flour" = 15) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/cheesecake + +/datum/recipe/cake/plain + reagents = list("milk" = 5, "flour" = 15) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/plaincake + +/datum/recipe/cake/birthday + reagents = list("milk" = 5, "flour" = 15) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/clothing/head/cakehat + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/birthdaycake + +/datum/recipe/cake/apple + reagents = list("milk" = 5, "flour" = 15) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/grown/apple, + /obj/item/weapon/reagent_containers/food/snacks/grown/apple, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/applecake + +/datum/recipe/cake/orange + reagents = list("milk" = 5, "flour" = 15) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/grown/citrus/orange, + /obj/item/weapon/reagent_containers/food/snacks/grown/citrus/orange, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/orangecake + +/datum/recipe/cake/lime + reagents = list("milk" = 5, "flour" = 15) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/grown/citrus/lime, + /obj/item/weapon/reagent_containers/food/snacks/grown/citrus/lime, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/limecake + +/datum/recipe/cake/lemon + reagents = list("milk" = 5, "flour" = 15) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/grown/citrus/lemon, + /obj/item/weapon/reagent_containers/food/snacks/grown/citrus/lemon, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/lemoncake + +/datum/recipe/cake/chocolate + reagents = list("milk" = 5, "flour" = 15) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/chocolatebar, + /obj/item/weapon/reagent_containers/food/snacks/chocolatebar, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/chocolatecake + +/datum/recipe/cake/brain + reagents = list("milk" = 5, "flour" = 15) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/organ/brain + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/braincake diff --git a/code/modules/food&drinks/recipes/microwave/recipes_pies.dm b/code/modules/food&drinks/recipes/microwave/recipes_pies.dm new file mode 100644 index 00000000000..c53c67629e5 --- /dev/null +++ b/code/modules/food&drinks/recipes/microwave/recipes_pies.dm @@ -0,0 +1,76 @@ + +// see code/datums/recipe.dm + +////////////////////////////////////////////////PIES//////////////////////////////////////////////// + +/datum/recipe/pie + reagents = list("flour" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/banana, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/pie + +/datum/recipe/pie/meat + reagents = list("flour" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/meat, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/meatpie + +/datum/recipe/pie/tofu + reagents = list("flour" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/tofu, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/tofupie + +/datum/recipe/pie/xemeat + reagents = list("flour" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/xenomeat, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/xemeatpie + +/datum/recipe/pie/cherry + reagents = list("flour" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/cherries, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/cherrypie + +/datum/recipe/pie/berryclafoutis + reagents = list("flour" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/berries, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/berryclafoutis + +/datum/recipe/pie/amanita + reagents = list("flour" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/amanita_pie + +/datum/recipe/pie/plump + reagents = list("flour" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/plumphelmet, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/plump_pie + + +/datum/recipe/pie/apple + reagents = list("flour" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/apple, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/applepie + +/datum/recipe/pie/pumpkin + reagents = list("milk" = 5, "sugar" = 5, "flour" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin, + /obj/item/weapon/reagent_containers/food/snacks/egg, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pumpkinpie diff --git a/code/modules/food&drinks/recipes/microwave/recipes_sandwichtoast.dm b/code/modules/food&drinks/recipes/microwave/recipes_sandwichtoast.dm new file mode 100644 index 00000000000..54b79edd0fa --- /dev/null +++ b/code/modules/food&drinks/recipes/microwave/recipes_sandwichtoast.dm @@ -0,0 +1,82 @@ + +// see code/datums/recipe.dm + +////////////////////////////////////////////////SANDWICHES//////////////////////////////////////////////// + +/datum/recipe/sandwich + items = list( + /obj/item/weapon/reagent_containers/food/snacks/meatsteak, + /obj/item/weapon/reagent_containers/food/snacks/breadslice, + /obj/item/weapon/reagent_containers/food/snacks/breadslice, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/sandwich + +/datum/recipe/sandwich/toasted + items = list( + /obj/item/weapon/reagent_containers/food/snacks/sandwich + ) + result = /obj/item/weapon/reagent_containers/food/snacks/toastedsandwich + +/datum/recipe/sandwich/grilledcheese + items = list( + /obj/item/weapon/reagent_containers/food/snacks/breadslice, + /obj/item/weapon/reagent_containers/food/snacks/breadslice, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/grilledcheese + +/datum/recipe/sandwich/twobread + reagents = list("wine" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/breadslice, + /obj/item/weapon/reagent_containers/food/snacks/breadslice, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/twobread + +/datum/recipe/sandwich/slime + reagents = list("slimejelly" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/breadslice, + /obj/item/weapon/reagent_containers/food/snacks/breadslice, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/jellysandwich/slime + +/datum/recipe/sandwich/cherry + reagents = list("cherryjelly" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/breadslice, + /obj/item/weapon/reagent_containers/food/snacks/breadslice, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/jellysandwich/cherry + +/datum/recipe/sandwich/notasandwich + items = list( + /obj/item/weapon/reagent_containers/food/snacks/breadslice, + /obj/item/weapon/reagent_containers/food/snacks/breadslice, + /obj/item/clothing/mask/fakemoustache, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/notasandwich + +/datum/recipe/sandwich/icecream + reagents = list("ice" = 5, "cream" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/icecream, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/icecreamsandwich + +////////////////////////////////////////////////TOAST//////////////////////////////////////////////// + +/datum/recipe/toast/slime + reagents = list("slimejelly" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/breadslice, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/jelliedtoast/slime + +/datum/recipe/toast/jellied + reagents = list("cherryjelly" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/breadslice, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/jelliedtoast/cherry diff --git a/code/modules/food&drinks/recipes/microwave/recipes_soup.dm b/code/modules/food&drinks/recipes/microwave/recipes_soup.dm new file mode 100644 index 00000000000..655d420ba3b --- /dev/null +++ b/code/modules/food&drinks/recipes/microwave/recipes_soup.dm @@ -0,0 +1,125 @@ + +// see code/datums/recipe.dm + +////////////////////////////////////////////////SOUP//////////////////////////////////////////////// + +/datum/recipe/soup/meatball + reagents = list("water" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/faggot , + /obj/item/weapon/reagent_containers/food/snacks/grown/carrot, + /obj/item/weapon/reagent_containers/food/snacks/grown/potato, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/meatballsoup + +/datum/recipe/soup/vegetable + reagents = list("water" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/carrot, + /obj/item/weapon/reagent_containers/food/snacks/grown/corn, + /obj/item/weapon/reagent_containers/food/snacks/grown/eggplant, + /obj/item/weapon/reagent_containers/food/snacks/grown/potato, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/vegetablesoup + +/datum/recipe/soup/nettle + reagents = list("water" = 10) + items = list( + /obj/item/weapon/grown/nettle, + /obj/item/weapon/reagent_containers/food/snacks/grown/potato, + /obj/item/weapon/reagent_containers/food/snacks/egg, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/nettlesoup + +/datum/recipe/soup/wish + reagents = list("water" = 20) + result= /obj/item/weapon/reagent_containers/food/snacks/wishsoup + +/datum/recipe/soup/hotchili + items = list( + /obj/item/weapon/reagent_containers/food/snacks/meat, + /obj/item/weapon/reagent_containers/food/snacks/grown/chili, + /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/hotchili + +/datum/recipe/soup/coldchili + items = list( + /obj/item/weapon/reagent_containers/food/snacks/meat, + /obj/item/weapon/reagent_containers/food/snacks/grown/icepepper, + /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/coldchili + +/datum/recipe/soup/tomato + reagents = list("water" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, + /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/tomatosoup + +/datum/recipe/soup/milo + reagents = list("water" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/soydope, + /obj/item/weapon/reagent_containers/food/snacks/soydope, + /obj/item/weapon/reagent_containers/food/snacks/tofu, + /obj/item/weapon/reagent_containers/food/snacks/tofu, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/milosoup + +/datum/recipe/soup/blood + reagents = list("blood" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blood, + /obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blood, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/bloodsoup + +/datum/recipe/soup/slime + reagents = list("water" = 10, "slimejelly" = 5) + items = list( + ) + result = /obj/item/weapon/reagent_containers/food/snacks/slimesoup + +/datum/recipe/soup/clownstears + reagents = list("water" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/banana, + /obj/item/weapon/ore/clown, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/clownstears + +/datum/recipe/soup/mystery + reagents = list("water" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/badrecipe, + /obj/item/weapon/reagent_containers/food/snacks/tofu, + /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/mysterysoup + +/datum/recipe/soup/mushroom + reagents = list("water" = 5, "milk" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/chanterelle, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/mushroomsoup + +/datum/recipe/soup/beet + reagents = list("water" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/grown/whitebeet, + /obj/item/weapon/reagent_containers/food/snacks/grown/cabbage, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/beetsoup + +/datum/recipe/soup/monkeysdelight + reagents = list("sodiumchloride" = 1, "blackpepper" = 1, "flour" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/monkeycube, + /obj/item/weapon/reagent_containers/food/snacks/grown/banana, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/monkeysdelight diff --git a/code/modules/food&drinks/recipes/microwave/recipes_spaghetti.dm b/code/modules/food&drinks/recipes/microwave/recipes_spaghetti.dm new file mode 100644 index 00000000000..96ed89e3152 --- /dev/null +++ b/code/modules/food&drinks/recipes/microwave/recipes_spaghetti.dm @@ -0,0 +1,59 @@ + +// see code/datums/recipe.dm + +////////////////////////////////////////////////SPAGHETTI//////////////////////////////////////////////// + +/datum/recipe/spaghetti + reagents = list("flour" = 5) + result= /obj/item/weapon/reagent_containers/food/snacks/spaghetti + +/datum/recipe/spaghetti/boiled + reagents = list("water" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/spaghetti, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/boiledspaghetti + +/datum/recipe/spaghetti/pastatomato + reagents = list("water" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/spaghetti, + /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, + /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/pastatomato + +/datum/recipe/spaghetti/copypasta + items = list( + /obj/item/weapon/reagent_containers/food/snacks/pastatomato, + /obj/item/weapon/reagent_containers/food/snacks/pastatomato, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/copypasta + +/datum/recipe/spaghetti/meatball + reagents = list("water" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/spaghetti, + /obj/item/weapon/reagent_containers/food/snacks/faggot, + /obj/item/weapon/reagent_containers/food/snacks/faggot, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/meatballspaghetti + +/datum/recipe/spaghetti/spesslaw + reagents = list("water" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/spaghetti, + /obj/item/weapon/reagent_containers/food/snacks/faggot, + /obj/item/weapon/reagent_containers/food/snacks/faggot, + /obj/item/weapon/reagent_containers/food/snacks/faggot, + /obj/item/weapon/reagent_containers/food/snacks/faggot, + ) + result = /obj/item/weapon/reagent_containers/food/snacks/spesslaw + +/datum/recipe/spaghetti/eggplantparm + items = list( + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + /obj/item/weapon/reagent_containers/food/snacks/grown/eggplant + ) + result = /obj/item/weapon/reagent_containers/food/snacks/eggplantparm diff --git a/code/modules/food/recipes_microwave.dm b/code/modules/food/recipes_microwave.dm deleted file mode 100644 index a4b8d45ec3a..00000000000 --- a/code/modules/food/recipes_microwave.dm +++ /dev/null @@ -1,1203 +0,0 @@ - -// see code/datums/recipe.dm - -/datum/recipe/friedegg - reagents = list("sodiumchloride" = 1, "blackpepper" = 1) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg - ) - result = /obj/item/weapon/reagent_containers/food/snacks/friedegg - -/datum/recipe/boiledegg - reagents = list("water" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg - ) - result = /obj/item/weapon/reagent_containers/food/snacks/boiledegg - -/datum/recipe/jellydonut - reagents = list("berryjuice" = 5, "flour" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg - ) - result = /obj/item/weapon/reagent_containers/food/snacks/donut/jelly - -/datum/recipe/jellydonut/slime - reagents = list("slimejelly" = 5, "flour" = 5) - result = /obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly - -/datum/recipe/jellydonut/cherry - reagents = list("cherryjelly" = 5, "flour" = 5) - result = /obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly - -/datum/recipe/donut - reagents = list("flour" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg - ) - result = /obj/item/weapon/reagent_containers/food/snacks/donut/normal - -/datum/recipe/burger/human - make_food(var/obj/container as obj) - var/human_name - var/human_job - for (var/obj/item/weapon/reagent_containers/food/snacks/meat/human/HM in container) - if (!HM.subjectname) - continue - human_name = HM.subjectname - human_job = HM.subjectjob - break - var/lastname_index = findtext(human_name, " ") - if (lastname_index) - human_name = copytext(human_name,lastname_index+1) - - var/obj/item/weapon/reagent_containers/food/snacks/burger/human/HB = ..(container) - HB.name = human_name+HB.name - HB.job = human_job - return HB - - reagents = list("flour" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/meat/human - ) - result = /obj/item/weapon/reagent_containers/food/snacks/burger/human - -/datum/recipe/plainburger - reagents = list("flour" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/meat //do not place this recipe before /datum/recipe/humanburger - ) - result = /obj/item/weapon/reagent_containers/food/snacks/burger - -/datum/recipe/appendixburger - reagents = list("flour" = 5) - items = list( - /obj/item/organ/appendix - ) - result = /obj/item/weapon/reagent_containers/food/snacks/burger/appendix - -/datum/recipe/brainburger - reagents = list("flour" = 5) - items = list( - /obj/item/organ/brain - ) - result = /obj/item/weapon/reagent_containers/food/snacks/burger/brain - -/datum/recipe/xenoburger - reagents = list("flour" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/xenomeat - ) - result = /obj/item/weapon/reagent_containers/food/snacks/burger/xeno - -/datum/recipe/fishburger - reagents = list("flour" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/carpmeat - ) - result = /obj/item/weapon/reagent_containers/food/snacks/burger/fish - -/datum/recipe/tofuburger - reagents = list("flour" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/tofu - ) - result = /obj/item/weapon/reagent_containers/food/snacks/burger/tofu - -/datum/recipe/ghostburger - reagents = list("flour" = 5) - items = list( - /obj/item/weapon/ectoplasm - ) - result = /obj/item/weapon/reagent_containers/food/snacks/burger/ghost - -/datum/recipe/clownburger - reagents = list("flour" = 5) - items = list( - /obj/item/clothing/mask/gas/clown_hat, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/burger/clown - -/datum/recipe/mimeburger - reagents = list("flour" = 5) - items = list( - /obj/item/clothing/mask/gas/mime - ) - result = /obj/item/weapon/reagent_containers/food/snacks/burger/mime - -/datum/recipe/waffles - reagents = list("flour" = 10) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/waffles - -/datum/recipe/donkpocket - reagents = list("flour" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/faggot, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/donkpocket //SPECIAL - proc/warm_up(var/obj/item/weapon/reagent_containers/food/snacks/donkpocket/being_cooked) - being_cooked.warm = 1 - being_cooked.reagents.add_reagent("tricordrazine", 5) - being_cooked.bitesize = 6 - being_cooked.name = "Warm " + being_cooked.name - being_cooked.cooltime() - make_food(var/obj/container as obj) - var/obj/item/weapon/reagent_containers/food/snacks/donkpocket/being_cooked = ..(container) - warm_up(being_cooked) - return being_cooked - -/datum/recipe/donkpocket/warm - reagents = list() //This is necessary since this is a child object of the above recipe and we don't want donk pockets to need flour - items = list( - /obj/item/weapon/reagent_containers/food/snacks/donkpocket - ) - result = /obj/item/weapon/reagent_containers/food/snacks/donkpocket //SPECIAL - make_food(var/obj/container as obj) - var/obj/item/weapon/reagent_containers/food/snacks/donkpocket/being_cooked = locate() in container - if(being_cooked && !being_cooked.warm) - warm_up(being_cooked) - return being_cooked - -/datum/recipe/meatbread - reagents = list("flour" = 15) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/meat, - /obj/item/weapon/reagent_containers/food/snacks/meat, - /obj/item/weapon/reagent_containers/food/snacks/meat, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/meatbread - -/datum/recipe/xenomeatbread - reagents = list("flour" = 15) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/xenomeat, - /obj/item/weapon/reagent_containers/food/snacks/xenomeat, - /obj/item/weapon/reagent_containers/food/snacks/xenomeat, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/xenomeatbread - -/datum/recipe/spidermeatbread - reagents = list("flour" = 15) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/spidermeat, - /obj/item/weapon/reagent_containers/food/snacks/spidermeat, - /obj/item/weapon/reagent_containers/food/snacks/spidermeat, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/spidermeatbread - -/datum/recipe/bananabread - reagents = list("milk" = 5, "flour" = 15) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/grown/banana, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/bananabread - -/datum/recipe/omelette - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/omelette - -/datum/recipe/muffin - reagents = list("milk" = 5, "flour" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/muffin - -/datum/recipe/berrymuffin - reagents = list("milk" = 5, "flour" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/grown/berries - ) - result = /obj/item/weapon/reagent_containers/food/snacks/muffin/berry - -/datum/recipe/booberrymuffin - reagents = list("milk" = 5, "flour" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/grown/berries, - /obj/item/weapon/ectoplasm - ) - result = /obj/item/weapon/reagent_containers/food/snacks/muffin/booberry - -/datum/recipe/cornedbeef - reagents = list("sodiumchloride" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/meat, - /obj/item/weapon/reagent_containers/food/snacks/grown/cabbage, - /obj/item/weapon/reagent_containers/food/snacks/grown/cabbage, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/cornedbeef - -/datum/recipe/eggplantparm - items = list( - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - /obj/item/weapon/reagent_containers/food/snacks/grown/eggplant - ) - result = /obj/item/weapon/reagent_containers/food/snacks/eggplantparm - -/datum/recipe/soylenviridians - reagents = list("flour" = 15) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/soybeans - ) - result = /obj/item/weapon/reagent_containers/food/snacks/soylenviridians - -/datum/recipe/soylentgreen - reagents = list("flour" = 15) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/meat/human, - /obj/item/weapon/reagent_containers/food/snacks/meat/human, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/soylentgreen - -/datum/recipe/carrotcake - reagents = list("milk" = 5, "flour" = 15) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/grown/carrot, - /obj/item/weapon/reagent_containers/food/snacks/grown/carrot - ) - result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/carrotcake - -/datum/recipe/cheesecake - reagents = list("milk" = 5, "flour" = 15) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/cheesecake - -/datum/recipe/plaincake - reagents = list("milk" = 5, "flour" = 15) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/plaincake - -/datum/recipe/meatpie - reagents = list("flour" = 10) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/meat, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/meatpie - -/datum/recipe/tofupie - reagents = list("flour" = 10) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/tofu, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/tofupie - -/datum/recipe/xemeatpie - reagents = list("flour" = 10) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/xenomeat, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/xemeatpie - -/datum/recipe/pie - reagents = list("flour" = 10) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/banana, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/pie - -/datum/recipe/cherrypie - reagents = list("flour" = 10) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/cherries, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/cherrypie - -/datum/recipe/berryclafoutis - reagents = list("flour" = 10) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/berries, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/berryclafoutis - -/datum/recipe/wingfangchu - reagents = list("soysauce" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/xenomeat, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/wingfangchu - -/datum/recipe/chaosdonut - reagents = list("frostoil" = 5, "capsaicin" = 5, "flour" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg - ) - result = /obj/item/weapon/reagent_containers/food/snacks/donut/chaos - -/datum/recipe/human/kebab - items = list( - /obj/item/stack/rods, - /obj/item/weapon/reagent_containers/food/snacks/meat/human, - /obj/item/weapon/reagent_containers/food/snacks/meat/human, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/human/kebab - -/datum/recipe/monkeykebab - items = list( - /obj/item/stack/rods, - /obj/item/weapon/reagent_containers/food/snacks/meat/monkey, - /obj/item/weapon/reagent_containers/food/snacks/meat/monkey, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/monkeykebab - -/datum/recipe/tofukebab - items = list( - /obj/item/stack/rods, - /obj/item/weapon/reagent_containers/food/snacks/tofu, - /obj/item/weapon/reagent_containers/food/snacks/tofu, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/tofukebab - -/datum/recipe/tofubread - reagents = list("flour" = 15) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/tofu, - /obj/item/weapon/reagent_containers/food/snacks/tofu, - /obj/item/weapon/reagent_containers/food/snacks/tofu, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/tofubread - -/datum/recipe/loadedbakedpotato - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/potato, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/loadedbakedpotato - -/datum/recipe/cheesyfries - items = list( - /obj/item/weapon/reagent_containers/food/snacks/fries, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/cheesyfries - -/datum/recipe/carpmeat - reagents = list("carpotoxin" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/tofu - ) - result = /obj/item/weapon/reagent_containers/food/snacks/carpmeat/imitation - -/datum/recipe/cubancarp - reagents = list("flour" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/chili, - /obj/item/weapon/reagent_containers/food/snacks/carpmeat, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/cubancarp - -/datum/recipe/popcorn - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/corn - ) - result = /obj/item/weapon/reagent_containers/food/snacks/popcorn - -/datum/recipe/fortunecookie - reagents = list("flour" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/paper, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/fortunecookie -/datum/recipe/fortunecookie/make_food(var/obj/container as obj) - var/obj/item/weapon/paper/paper = locate() in container - paper.loc = null //prevent deletion - var/obj/item/weapon/reagent_containers/food/snacks/fortunecookie/being_cooked = ..(container) - paper.loc = being_cooked - being_cooked.trash = paper //so the paper is left behind as trash without special-snowflake(TM Nodrak) code ~carn - return being_cooked - -/datum/recipe/meatsteak - reagents = list("sodiumchloride" = 1, "blackpepper" = 1) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/meat - ) - result = /obj/item/weapon/reagent_containers/food/snacks/meatsteak - -/datum/recipe/pizzamargherita - reagents = list("flour" = 10) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margherita - -/datum/recipe/meatpizza - reagents = list("flour" = 10) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/meat, - /obj/item/weapon/reagent_containers/food/snacks/meat, - /obj/item/weapon/reagent_containers/food/snacks/meat, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza - -/datum/recipe/mushroompizza - reagents = list("flour" = 10) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom, - /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom, - /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom, - /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom, - /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza - -/datum/recipe/vegetablepizza - reagents = list("flour" = 10) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/eggplant, - /obj/item/weapon/reagent_containers/food/snacks/grown/carrot, - /obj/item/weapon/reagent_containers/food/snacks/grown/corn, - /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza - -/datum/recipe/spacylibertyduff - reagents = list("water" = 5, "vodka" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap, - /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap, - /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/spacylibertyduff - -/datum/recipe/amanitajelly - reagents = list("water" = 5, "vodka" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita, - /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita, - /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/amanitajelly - make_food(var/obj/container as obj) - var/obj/item/weapon/reagent_containers/food/snacks/amanitajelly/being_cooked = ..(container) - being_cooked.reagents.del_reagent("amatoxin") - return being_cooked - -/datum/recipe/meatballsoup - reagents = list("water" = 10) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/faggot , - /obj/item/weapon/reagent_containers/food/snacks/grown/carrot, - /obj/item/weapon/reagent_containers/food/snacks/grown/potato, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/meatballsoup - -/datum/recipe/vegetablesoup - reagents = list("water" = 10) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/carrot, - /obj/item/weapon/reagent_containers/food/snacks/grown/corn, - /obj/item/weapon/reagent_containers/food/snacks/grown/eggplant, - /obj/item/weapon/reagent_containers/food/snacks/grown/potato, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/vegetablesoup - -/datum/recipe/nettlesoup - reagents = list("water" = 10) - items = list( - /obj/item/weapon/grown/nettle, - /obj/item/weapon/reagent_containers/food/snacks/grown/potato, - /obj/item/weapon/reagent_containers/food/snacks/egg, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/nettlesoup - -/datum/recipe/wishsoup - reagents = list("water" = 20) - result= /obj/item/weapon/reagent_containers/food/snacks/wishsoup - -/datum/recipe/hotchili - items = list( - /obj/item/weapon/reagent_containers/food/snacks/meat, - /obj/item/weapon/reagent_containers/food/snacks/grown/chili, - /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/hotchili - -/datum/recipe/coldchili - items = list( - /obj/item/weapon/reagent_containers/food/snacks/meat, - /obj/item/weapon/reagent_containers/food/snacks/grown/icepepper, - /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/coldchili - -/datum/recipe/amanita_pie - reagents = list("flour" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/amanita_pie - -/datum/recipe/plump_pie - reagents = list("flour" = 10) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/plumphelmet, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/plump_pie - -/datum/recipe/spellburger - reagents = list("flour" = 5) - items = list( - /obj/item/clothing/head/wizard/fake, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/burger/spell - -/datum/recipe/spellburger - reagents = list("flour" = 5) - items = list( - /obj/item/clothing/head/wizard, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/burger/spell - -/datum/recipe/bigbiteburger - reagents = list("flour" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/meat, - /obj/item/weapon/reagent_containers/food/snacks/meat, - /obj/item/weapon/reagent_containers/food/snacks/meat, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/burger/bigbite - -/datum/recipe/enchiladas - items = list( - /obj/item/weapon/reagent_containers/food/snacks/meat, - /obj/item/weapon/reagent_containers/food/snacks/grown/chili, - /obj/item/weapon/reagent_containers/food/snacks/grown/chili, - /obj/item/weapon/reagent_containers/food/snacks/grown/corn, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/enchiladas - -/datum/recipe/creamcheesebread - reagents = list("flour" = 15) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/creamcheesebread - -/datum/recipe/monkeysdelight - reagents = list("sodiumchloride" = 1, "blackpepper" = 1, "flour" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/monkeycube, - /obj/item/weapon/reagent_containers/food/snacks/grown/banana, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/monkeysdelight - -/datum/recipe/baguette - reagents = list("sodiumchloride" = 1, "blackpepper" = 1, "flour" = 10) - result = /obj/item/weapon/reagent_containers/food/snacks/baguette - -/datum/recipe/fishandchips - items = list( - /obj/item/weapon/reagent_containers/food/snacks/fries, - /obj/item/weapon/reagent_containers/food/snacks/carpmeat, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/fishandchips - -/datum/recipe/birthdaycake - reagents = list("milk" = 5, "flour" = 15) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/clothing/head/cakehat - ) - result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/birthdaycake - -/datum/recipe/bread - reagents = list("flour" = 15) - result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/bread - -/datum/recipe/sandwich - items = list( - /obj/item/weapon/reagent_containers/food/snacks/meatsteak, - /obj/item/weapon/reagent_containers/food/snacks/breadslice, - /obj/item/weapon/reagent_containers/food/snacks/breadslice, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/sandwich - -/datum/recipe/toastedsandwich - items = list( - /obj/item/weapon/reagent_containers/food/snacks/sandwich - ) - result = /obj/item/weapon/reagent_containers/food/snacks/toastedsandwich - -/datum/recipe/grilledcheese - items = list( - /obj/item/weapon/reagent_containers/food/snacks/breadslice, - /obj/item/weapon/reagent_containers/food/snacks/breadslice, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/grilledcheese - -/datum/recipe/tomatosoup - reagents = list("water" = 10) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, - /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/tomatosoup - -/datum/recipe/rofflewaffles - reagents = list("mushroomhallucinogen" = 5, "flour" = 10) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/rofflewaffles - -/datum/recipe/stew - reagents = list("water" = 10) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, - /obj/item/weapon/reagent_containers/food/snacks/meat, - /obj/item/weapon/reagent_containers/food/snacks/grown/potato, - /obj/item/weapon/reagent_containers/food/snacks/grown/carrot, - /obj/item/weapon/reagent_containers/food/snacks/grown/eggplant, - /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/stew - -/datum/recipe/slimetoast - reagents = list("slimejelly" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/breadslice, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/jelliedtoast/slime - -/datum/recipe/jelliedtoast - reagents = list("cherryjelly" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/breadslice, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/jelliedtoast/cherry - -/datum/recipe/milosoup - reagents = list("water" = 10) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/soydope, - /obj/item/weapon/reagent_containers/food/snacks/soydope, - /obj/item/weapon/reagent_containers/food/snacks/tofu, - /obj/item/weapon/reagent_containers/food/snacks/tofu, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/milosoup - -/datum/recipe/stewedsoymeat - items = list( - /obj/item/weapon/reagent_containers/food/snacks/soydope, - /obj/item/weapon/reagent_containers/food/snacks/soydope, - /obj/item/weapon/reagent_containers/food/snacks/grown/carrot, - /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/stewedsoymeat - -/datum/recipe/spaghetti - reagents = list("flour" = 5) - result= /obj/item/weapon/reagent_containers/food/snacks/spaghetti - -/datum/recipe/boiledspaghetti - reagents = list("water" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/spaghetti, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/boiledspaghetti - -/datum/recipe/pastatomato - reagents = list("water" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/spaghetti, - /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, - /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/pastatomato - -/datum/recipe/copypasta - items = list( - /obj/item/weapon/reagent_containers/food/snacks/pastatomato, - /obj/item/weapon/reagent_containers/food/snacks/pastatomato, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/copypasta - -/datum/recipe/poppypretzel - reagents = list("flour" = 5) - items = list( - /obj/item/seeds/poppyseed, - /obj/item/weapon/reagent_containers/food/snacks/egg, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/poppypretzel - -/datum/recipe/meatballspaghetti - reagents = list("water" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/spaghetti, - /obj/item/weapon/reagent_containers/food/snacks/faggot, - /obj/item/weapon/reagent_containers/food/snacks/faggot, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/meatballspaghetti - -/datum/recipe/spesslaw - reagents = list("water" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/spaghetti, - /obj/item/weapon/reagent_containers/food/snacks/faggot, - /obj/item/weapon/reagent_containers/food/snacks/faggot, - /obj/item/weapon/reagent_containers/food/snacks/faggot, - /obj/item/weapon/reagent_containers/food/snacks/faggot, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/spesslaw - -/datum/recipe/superbiteburger - reagents = list("sodiumchloride" = 5, "blackpepper" = 5, "flour" = 15) - items = list( - /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/grown/tomato, - /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, - /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, - /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - - ) - result = /obj/item/weapon/reagent_containers/food/snacks/burger/superbite - -/datum/recipe/candiedapple - reagents = list("water" = 5, "sugar" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/apple - ) - result = /obj/item/weapon/reagent_containers/food/snacks/candiedapple - -/datum/recipe/applepie - reagents = list("flour" = 10) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/apple, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/applepie - -/datum/recipe/applecake - reagents = list("milk" = 5, "flour" = 15) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/grown/apple, - /obj/item/weapon/reagent_containers/food/snacks/grown/apple, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/applecake - -/datum/recipe/slimeburger - reagents = list("slimejelly" = 5, "flour" = 15) - items = list() - result = /obj/item/weapon/reagent_containers/food/snacks/burger/jelly/slime - -/datum/recipe/jellyburger - reagents = list("cherryjelly" = 5, "flour" = 15) - items = list() - result = /obj/item/weapon/reagent_containers/food/snacks/burger/jelly/cherry - -/datum/recipe/twobread - reagents = list("wine" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/breadslice, - /obj/item/weapon/reagent_containers/food/snacks/breadslice, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/twobread - -/datum/recipe/slimesandwich - reagents = list("slimejelly" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/breadslice, - /obj/item/weapon/reagent_containers/food/snacks/breadslice, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/jellysandwich/slime - -/datum/recipe/cherrysandwich - reagents = list("cherryjelly" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/breadslice, - /obj/item/weapon/reagent_containers/food/snacks/breadslice, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/jellysandwich/cherry - -/datum/recipe/orangecake - reagents = list("milk" = 5, "flour" = 15) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/grown/citrus/orange, - /obj/item/weapon/reagent_containers/food/snacks/grown/citrus/orange, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/orangecake - -/datum/recipe/limecake - reagents = list("milk" = 5, "flour" = 15) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/grown/citrus/lime, - /obj/item/weapon/reagent_containers/food/snacks/grown/citrus/lime, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/limecake - -/datum/recipe/lemoncake - reagents = list("milk" = 5, "flour" = 15) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/grown/citrus/lemon, - /obj/item/weapon/reagent_containers/food/snacks/grown/citrus/lemon, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/lemoncake - -/datum/recipe/chocolatecake - reagents = list("milk" = 5, "flour" = 15) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/chocolatebar, - /obj/item/weapon/reagent_containers/food/snacks/chocolatebar, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/chocolatecake - -/datum/recipe/bloodsoup - reagents = list("blood" = 10) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blood, - /obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blood, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/bloodsoup - -/datum/recipe/slimesoup - reagents = list("water" = 10, "slimejelly" = 5) - items = list( - ) - result = /obj/item/weapon/reagent_containers/food/snacks/slimesoup - -/datum/recipe/clownstears - reagents = list("water" = 10) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/banana, - /obj/item/weapon/ore/clown, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/clownstears - -/datum/recipe/braincake - reagents = list("milk" = 5, "flour" = 15) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/organ/brain - ) - result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/store/braincake - -/datum/recipe/chocolateegg - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/chocolatebar, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/chocolateegg - -/datum/recipe/sausage - items = list( - /obj/item/weapon/reagent_containers/food/snacks/faggot, - /obj/item/weapon/reagent_containers/food/snacks/meat, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/sausage - -/datum/recipe/fishfingers - reagents = list("flour" = 10) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/carpmeat, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/fishfingers - -/datum/recipe/mysterysoup - reagents = list("water" = 10) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/badrecipe, - /obj/item/weapon/reagent_containers/food/snacks/tofu, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/mysterysoup - -/datum/recipe/pumpkinpie - reagents = list("milk" = 5, "sugar" = 5, "flour" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin, - /obj/item/weapon/reagent_containers/food/snacks/egg, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pumpkinpie - -/datum/recipe/plumphelmetbiscuit - reagents = list("flour" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/plumphelmet, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/plumphelmetbiscuit - -/datum/recipe/mushroomsoup - reagents = list("water" = 5, "milk" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/chanterelle, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/mushroomsoup - -/datum/recipe/chawanmushi - reagents = list("water" = 5, "soysauce" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/chanterelle, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/chawanmushi - -/datum/recipe/beetsoup - reagents = list("water" = 10) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/whitebeet, - /obj/item/weapon/reagent_containers/food/snacks/grown/cabbage, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/beetsoup - -/datum/recipe/appletart - reagents = list("sugar" = 5, "milk" = 5, "flour" = 15) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/grown/apple/gold, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/appletart - -/datum/recipe/herbsalad - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/vulgaris, - /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/vulgaris, - /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/vulgaris, - /obj/item/weapon/reagent_containers/food/snacks/grown/apple, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/herbsalad - make_food(var/obj/container as obj) - var/obj/item/weapon/reagent_containers/food/snacks/herbsalad/being_cooked = ..(container) - being_cooked.reagents.del_reagent("toxin") - return being_cooked - -/datum/recipe/aesirsalad - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/deus, - /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/deus, - /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/deus, - /obj/item/weapon/reagent_containers/food/snacks/grown/apple/gold, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/aesirsalad - -/datum/recipe/validsalad - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/vulgaris, - /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/vulgaris, - /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/vulgaris, - /obj/item/weapon/reagent_containers/food/snacks/grown/potato, - /obj/item/weapon/reagent_containers/food/snacks/faggot, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/validsalad - make_food(var/obj/container as obj) - var/obj/item/weapon/reagent_containers/food/snacks/validsalad/being_cooked = ..(container) - being_cooked.reagents.del_reagent("toxin") - return being_cooked - -/datum/recipe/cracker - reagents = list("flour" = 5, "sodiumchloride" = 1) - result = /obj/item/weapon/reagent_containers/food/snacks/cracker - -////////////////////////////FOOD ADDITTIONS/////////////////////////////// - -/datum/recipe/wrap - reagents = list("soysauce" = 10) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/friedegg, - /obj/item/weapon/reagent_containers/food/snacks/grown/cabbage, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/wrap - -/datum/recipe/beans - reagents = list("ketchup" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/soybeans, - /obj/item/weapon/reagent_containers/food/snacks/grown/soybeans, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/beans - -/datum/recipe/benedict - items = list( - /obj/item/weapon/reagent_containers/food/snacks/friedegg, - /obj/item/weapon/reagent_containers/food/snacks/meatsteak, - /obj/item/weapon/reagent_containers/food/snacks/breadslice, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/benedict - -/datum/recipe/hotdog - reagents = list("ketchup" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/breadslice, - /obj/item/weapon/reagent_containers/food/snacks/sausage, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/hotdog - -/datum/recipe/meatbun - reagents = list("soysauce" = 5, "flour" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/faggot, - /obj/item/weapon/reagent_containers/food/snacks/grown/cabbage, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/meatbun - -/datum/recipe/icecreamsandwich - reagents = list("ice" = 5, "cream" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/icecream, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/icecreamsandwich - -/datum/recipe/notasandwich - items = list( - /obj/item/weapon/reagent_containers/food/snacks/breadslice, - /obj/item/weapon/reagent_containers/food/snacks/breadslice, - /obj/item/clothing/mask/fakemoustache, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/notasandwich - -/datum/recipe/sugarcookie - reagents = list("flour" = 5, "sugar" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/sugarcookie - -/datum/recipe/boiledspiderleg - reagents = list("water" = 10) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/spiderleg, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/boiledspiderleg - -/datum/recipe/spidereggsham - reagents = list("sodiumchloride" = 1) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/spidereggs, - /obj/item/weapon/reagent_containers/food/snacks/spidermeat, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/spidereggsham - -/datum/recipe/sashimi - reagents = list("soysauce" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/spidereggs, - /obj/item/weapon/reagent_containers/food/snacks/carpmeat, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/sashimi - -/datum/recipe/redburger - reagents = list("flour" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/meat, - /obj/item/toy/crayon/red, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/burger/red - -/datum/recipe/orangeburger - reagents = list("flour" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/meat, - /obj/item/toy/crayon/orange, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/burger/orange - -/datum/recipe/yellowburger - reagents = list("flour" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/meat, - /obj/item/toy/crayon/yellow, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/burger/yellow - -/datum/recipe/greenburger - reagents = list("flour" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/meat, - /obj/item/toy/crayon/green, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/burger/green - -/datum/recipe/blueburger - reagents = list("flour" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/meat, - /obj/item/toy/crayon/blue, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/burger/blue - -/datum/recipe/purpleburger - reagents = list("flour" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/meat, - /obj/item/toy/crayon/purple, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/burger/purple \ No newline at end of file diff --git a/tgstation.dme b/tgstation.dme index 012a2d4dad3..e7d04f16396 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -414,13 +414,6 @@ #include "code\game\machinery\embedded_controller\airlock_controller.dm" #include "code\game\machinery\embedded_controller\embedded_controller_base.dm" #include "code\game\machinery\embedded_controller\simple_vent_controller.dm" -#include "code\game\machinery\kitchen\gibber.dm" -#include "code\game\machinery\kitchen\icecream_vat.dm" -#include "code\game\machinery\kitchen\juicer.dm" -#include "code\game\machinery\kitchen\microwave.dm" -#include "code\game\machinery\kitchen\monkeyrecycler.dm" -#include "code\game\machinery\kitchen\processor.dm" -#include "code\game\machinery\kitchen\smartfridge.dm" #include "code\game\machinery\pipe\construction.dm" #include "code\game\machinery\pipe\pipe_dispenser.dm" #include "code\game\machinery\telecomms\broadcaster.dm" @@ -852,7 +845,29 @@ #include "code\modules\flufftext\Dreaming.dm" #include "code\modules\flufftext\Hallucination.dm" #include "code\modules\flufftext\TextFilters.dm" -#include "code\modules\food\recipes_microwave.dm" +#include "code\modules\food&drinks\food.dm" +#include "code\modules\food&drinks\food\condiment.dm" +#include "code\modules\food&drinks\food\drinks.dm" +#include "code\modules\food&drinks\food\snacks.dm" +#include "code\modules\food&drinks\food\drinks\bottle.dm" +#include "code\modules\food&drinks\food\drinks\drinkingglass.dm" +#include "code\modules\food&drinks\food\drinks\bottle\robot.dm" +#include "code\modules\food&drinks\food\snacks\meat.dm" +#include "code\modules\food&drinks\kitchen machinery\gibber.dm" +#include "code\modules\food&drinks\kitchen machinery\icecream_vat.dm" +#include "code\modules\food&drinks\kitchen machinery\juicer.dm" +#include "code\modules\food&drinks\kitchen machinery\microwave.dm" +#include "code\modules\food&drinks\kitchen machinery\monkeyrecycler.dm" +#include "code\modules\food&drinks\kitchen machinery\processor.dm" +#include "code\modules\food&drinks\kitchen machinery\smartfridge.dm" +#include "code\modules\food&drinks\recipes\microwave\recipes.dm" +#include "code\modules\food&drinks\recipes\microwave\recipes_bread.dm" +#include "code\modules\food&drinks\recipes\microwave\recipes_burgers.dm" +#include "code\modules\food&drinks\recipes\microwave\recipes_cakes.dm" +#include "code\modules\food&drinks\recipes\microwave\recipes_pies.dm" +#include "code\modules\food&drinks\recipes\microwave\recipes_sandwichtoast.dm" +#include "code\modules\food&drinks\recipes\microwave\recipes_soup.dm" +#include "code\modules\food&drinks\recipes\microwave\recipes_spaghetti.dm" #include "code\modules\hydroponics\biogenerator.dm" #include "code\modules\hydroponics\grown.dm" #include "code\modules\hydroponics\growninedible.dm" @@ -1158,19 +1173,11 @@ #include "code\modules\reagents\syringe_gun.dm" #include "code\modules\reagents\reagent_containers\borghydro.dm" #include "code\modules\reagents\reagent_containers\dropper.dm" -#include "code\modules\reagents\reagent_containers\food.dm" #include "code\modules\reagents\reagent_containers\glass.dm" #include "code\modules\reagents\reagent_containers\hypospray.dm" #include "code\modules\reagents\reagent_containers\pill.dm" #include "code\modules\reagents\reagent_containers\spray.dm" #include "code\modules\reagents\reagent_containers\syringes.dm" -#include "code\modules\reagents\reagent_containers\food\condiment.dm" -#include "code\modules\reagents\reagent_containers\food\drinks.dm" -#include "code\modules\reagents\reagent_containers\food\snacks.dm" -#include "code\modules\reagents\reagent_containers\food\drinks\bottle.dm" -#include "code\modules\reagents\reagent_containers\food\drinks\drinkingglass.dm" -#include "code\modules\reagents\reagent_containers\food\drinks\bottle\robot.dm" -#include "code\modules\reagents\reagent_containers\food\snacks\meat.dm" #include "code\modules\reagents\reagent_containers\glass\bottle.dm" #include "code\modules\reagents\reagent_containers\glass\bottle\robot.dm" #include "code\modules\recycling\conveyor2.dm"