diff --git a/code/datums/recipe.dm b/code/datums/recipe.dm index 460a13f7b7a..23af6093efa 100644 --- a/code/datums/recipe.dm +++ b/code/datums/recipe.dm @@ -76,7 +76,7 @@ checklist = items.Copy() // You should really trust Copy if(istype(container, /obj/machinery)) var/obj/machinery/machine = container - for(var/obj/O in (machine.contents - machine.component_parts)) + for(var/obj/O in ((machine.contents - machine.component_parts) - machine.circuit)) if(istype(O,/obj/item/weapon/reagent_containers/food/snacks/grown)) continue // Fruit is handled in check_fruit(). var/found = 0 @@ -110,7 +110,7 @@ var/obj/result_obj = new result(container) if(istype(container, /obj/machinery)) var/obj/machinery/machine = container - for (var/obj/O in ((machine.contents-result_obj)-machine.component_parts)) + for (var/obj/O in ((machine.contents-result_obj - machine.component_parts) - machine.circuit)) O.reagents.trans_to_obj(result_obj, O.reagents.total_volume) qdel(O) else @@ -128,7 +128,7 @@ var/obj/result_obj = new result(container) if(istype(container, /obj/machinery)) var/obj/machinery/machine = container - for (var/obj/O in ((machine.contents-result_obj)-machine.component_parts)) + for (var/obj/O in ((machine.contents-result_obj - machine.component_parts) - machine.circuit)) if (O.reagents) O.reagents.del_reagent("nutriment") O.reagents.update_total() diff --git a/code/game/machinery/kitchen/microwave.dm b/code/game/machinery/kitchen/microwave.dm index 100135d389a..7f82a34f1c1 100644 --- a/code/game/machinery/kitchen/microwave.dm +++ b/code/game/machinery/kitchen/microwave.dm @@ -116,7 +116,7 @@ user << "It's dirty!" return 1 else if(is_type_in_list(O,acceptable_items)) - if (contents.len>=(max_n_of_items + component_parts.len)) //Adds component_parts to the maximum number of items. + if (contents.len>=(max_n_of_items + component_parts.len + 1)) //Adds component_parts to the maximum number of items. The 1 is from the circuit user << "This [src] is full of ingredients, you cannot put more." return 1 if(istype(O, /obj/item/stack) && O:get_amount() > 1) // This is bad, but I can't think of how to change it @@ -179,7 +179,7 @@ var/list/items_counts = new var/list/items_measures = new var/list/items_measures_p = new - for (var/obj/O in (contents-component_parts)) + for (var/obj/O in ((contents - component_parts) - circuit)) var/display_name = O.name if (istype(O,/obj/item/weapon/reagent_containers/food/snacks/egg)) items_measures[display_name] = "egg" @@ -239,7 +239,7 @@ if(stat & (NOPOWER|BROKEN)) return start() - if (reagents.total_volume==0 && !(locate(/obj) in (contents-component_parts))) //dry run + if (reagents.total_volume==0 && !(locate(/obj) in ((contents - component_parts) - circuit))) //dry run if (!wzhzhzh(10)) abort() return @@ -301,7 +301,7 @@ return 1 /obj/machinery/microwave/proc/has_extra_item() - for (var/obj/O in (contents-component_parts)) + for (var/obj/O in ((contents - component_parts) - circuit)) if ( \ !istype(O,/obj/item/weapon/reagent_containers/food) && \ !istype(O, /obj/item/weapon/grown) \ @@ -362,7 +362,7 @@ /obj/machinery/microwave/proc/fail() var/obj/item/weapon/reagent_containers/food/snacks/badrecipe/ffuu = new(src) var/amount = 0 - for (var/obj/O in (contents-ffuu)-component_parts) + for (var/obj/O in (((contents - ffuu) - component_parts) - circuit)) amount++ if (O.reagents) var/id = O.reagents.get_master_reagent_id()