diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index deca054d322..62c744f16a9 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -889,7 +889,7 @@ desc = "A kitchen and restaurant equipment vendor" product_ads = "Mm, food stuffs!;Food and food accessories.;Get your plates!;You like forks?;I like forks.;Woo, utensils.;You don't really need these..." icon_state = "dinnerware" - products = list(/obj/item/weapon/storage/bag/tray = 8,/obj/item/weapon/kitchen/utensil/fork = 6,/obj/item/weapon/kitchenknife = 3,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass = 8,/obj/item/clothing/suit/apron/chef = 2,/obj/item/weapon/reagent_containers/food/condiment/pack/ketchup = 5,/obj/item/weapon/reagent_containers/food/condiment/pack/hotsauce = 5,/obj/item/weapon/reagent_containers/glass/bowl = 10) + products = list(/obj/item/weapon/storage/bag/tray = 8,/obj/item/weapon/kitchen/utensil/fork = 6,/obj/item/weapon/kitchenknife = 3,/obj/item/weapon/kitchen/rollingpin = 2,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass = 8,/obj/item/clothing/suit/apron/chef = 2,/obj/item/weapon/reagent_containers/food/condiment/pack/ketchup = 5,/obj/item/weapon/reagent_containers/food/condiment/pack/hotsauce = 5,/obj/item/weapon/reagent_containers/glass/bowl = 10) contraband = list(/obj/item/weapon/kitchen/rollingpin = 2, /obj/item/weapon/kitchenknife/butcher = 2) /obj/machinery/vending/sovietsoda diff --git a/code/game/objects/items/latexballoon.dm b/code/game/objects/items/latexballoon.dm index 3b10f1fb0bb..8b39e7e64eb 100644 --- a/code/game/objects/items/latexballoon.dm +++ b/code/game/objects/items/latexballoon.dm @@ -55,5 +55,5 @@ var/obj/item/weapon/tank/T = W blow(T, user) return - if (is_sharp(W) || is_hot(W)) + if (is_sharp(W) || is_hot(W) || is_pointed(W)) burst() diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 379ce34d2cd..3ff9456b926 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -8,6 +8,7 @@ var/global/list/datum/stack_recipe/rod_recipes = list ( \ desc = "Some rods. Can be used for building, or something." singular_name = "metal rod" icon_state = "rods" + item_state = "rods" flags = CONDUCT w_class = 3.0 force = 9.0 diff --git a/code/modules/crafting/table.dm b/code/modules/crafting/table.dm index ce689f657e4..2b052102cb7 100644 --- a/code/modules/crafting/table.dm +++ b/code/modules/crafting/table.dm @@ -7,7 +7,7 @@ interact(usr) /obj/structure/table/proc/check_contents(datum/table_recipe/R) - check_table(R) + check_table() main_loop: for(var/A in R.reqs) for(var/B in table_contents) @@ -20,18 +20,19 @@ return 0 return 1 -/obj/structure/table/proc/check_table(datum/table_recipe/R) +/obj/structure/table/proc/check_table() table_contents = list() for(var/obj/item/I in loc) if(istype(I, /obj/item/stack)) var/obj/item/stack/S = I table_contents[I.type] += S.amount else + if(istype(I, /obj/item/weapon/reagent_containers)) + var/obj/item/weapon/reagent_containers/RC = I + if(RC.flags & OPENCONTAINER) + for(var/datum/reagent/A in RC.reagents.reagent_list) + table_contents[A.type] += A.volume table_contents[I.type] += 1 - for(var/obj/item/weapon/reagent_containers/RC in loc) - if((RC.flags & OPENCONTAINER) || (R && (RC.type in R.reqs))) - for(var/datum/reagent/A in RC.reagents.reagent_list) - table_contents[A.type] += A.volume /obj/structure/table/proc/check_tools(mob/user, datum/table_recipe/R) if(!R.tools.len) @@ -56,7 +57,7 @@ return !i /obj/structure/table/proc/construct_item(mob/user, datum/table_recipe/R) - check_table(R) + check_table() if(check_contents(R) && check_tools(user, R)) if(do_after(user, R.time)) if(!check_contents(R) || !check_tools(user, R)) @@ -125,7 +126,9 @@ for(var/B in Deletion) for(var/A in R.parts) if(istype(B, A)) - continue deletion_loop + if(R.parts[A] > 0) + R.parts[A]-- + continue deletion_loop Deletion.Remove(B) qdel(B) diff --git a/code/modules/food&drinks/kitchen machinery/microwave.dm b/code/modules/food&drinks/kitchen machinery/microwave.dm index 62760d54686..907fe0d80f8 100644 --- a/code/modules/food&drinks/kitchen machinery/microwave.dm +++ b/code/modules/food&drinks/kitchen machinery/microwave.dm @@ -1,6 +1,6 @@ /obj/machinery/microwave - name = "microwave" - desc = "Keeps hot things hot and cold things hot." + name = "microwave oven" + desc = "Cooks and boils stuff." icon = 'icons/obj/kitchen.dmi' icon_state = "mw" layer = 2.9 @@ -219,7 +219,7 @@ return start() - if (prob(max(microwavepower*5,dirty*5))) + if (prob(max(microwavepower*5/efficiency-5,dirty*5))) //a clean unupgraded microwave on lowest power has no risk of failure muck_start() if (!microwaving(4)) muck_finish() @@ -259,7 +259,7 @@ if (stat & (NOPOWER|BROKEN)) return 0 use_power(500) - sleep(12-2*microwavepower) // standard power means sleep(10). The higher the power, the faster the cooking + sleep(max(14-2*microwavepower-2*efficiency,2)) // standard power means sleep(10). The higher the power and the better the efficiency, the faster the cooking return 1 /obj/machinery/microwave/proc/has_extra_item()