From f6b0f57e89f89646fc47f7ef32c062f0a516c7e0 Mon Sep 17 00:00:00 2001 From: phil235 Date: Sat, 7 Feb 2015 20:10:11 +0100 Subject: [PATCH] last fixes I hope: tiny change to latexballoon (b/c I reorganized is_sharp proc already, so why not) some fixes suggested by razharas in table.dm Renamed microwave to microwave oven. Adding efficiency effect (upgrading the machine) Adding rolling pins to the kitchen vending machine (so the two cooks don't fight. --- code/game/machinery/vending.dm | 2 +- code/game/objects/items/latexballoon.dm | 2 +- code/game/objects/items/stacks/rods.dm | 1 + code/modules/crafting/table.dm | 19 +++++++++++-------- .../kitchen machinery/microwave.dm | 8 ++++---- 5 files changed, 18 insertions(+), 14 deletions(-) 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()