From bc6294baa9d1de6e3a884389abdd83405c7dcdb3 Mon Sep 17 00:00:00 2001
From: timothyteakettle <59849408+timothyteakettle@users.noreply.github.com>
Date: Thu, 9 Apr 2020 01:10:34 +0100
Subject: [PATCH 01/19] i too, like food quality.
---
code/datums/components/crafting/craft.dm | 12 ++++++++++++
code/modules/food_and_drinks/food.dm | 8 ++++++--
code/modules/food_and_drinks/food/snacks.dm | 4 ++++
.../food_and_drinks/kitchen_machinery/processor.dm | 4 +++-
4 files changed, 25 insertions(+), 3 deletions(-)
diff --git a/code/datums/components/crafting/craft.dm b/code/datums/components/crafting/craft.dm
index 9b19cd0106..64bde5da29 100644
--- a/code/datums/components/crafting/craft.dm
+++ b/code/datums/components/crafting/craft.dm
@@ -201,6 +201,18 @@
var/atom/movable/I = new R.result (get_turf(user.loc))
I.CheckParts(parts, R)
if(isitem(I))
+ if(istype(I, /obj/item/reagent_containers/food))
+ var/obj/item/reagent_containers/food/food_result = I
+ var/total_quality = 0
+ var/total_items = 0
+ for(var/obj/item/ingredient in parts)
+ var/obj/item/reagent_containers/food/food_ingredient = ingredient
+ total_items += 1
+ total_quality += food_ingredient.food_quality
+ if(total_items == 0)
+ food_result.adjust_food_quality(50)
+ else
+ food_result.adjust_food_quality(total_quality / total_items)
user.put_in_hands(I)
if(send_feedback)
SSblackbox.record_feedback("tally", "object_crafted", 1, I.type)
diff --git a/code/modules/food_and_drinks/food.dm b/code/modules/food_and_drinks/food.dm
index 2af24080cb..b1df946e34 100644
--- a/code/modules/food_and_drinks/food.dm
+++ b/code/modules/food_and_drinks/food.dm
@@ -16,6 +16,7 @@
resistance_flags = FLAMMABLE
var/foodtype = NONE
var/last_check_time
+ var/food_quality = 50
/obj/item/reagent_containers/food/Initialize(mapload)
. = ..()
@@ -23,6 +24,9 @@
pixel_x = rand(-5, 5)
pixel_y = rand(-5, 5)
+/obj/item/reagent_containers/food/proc/adjust_food_quality(new_quality)
+ food_quality = min(new_quality,100)
+
/obj/item/reagent_containers/food/proc/checkLiked(var/fraction, mob/M)
if(last_check_time + 50 < world.time)
if(ishuman(M))
@@ -32,11 +36,11 @@
to_chat(H,"What the hell was that thing?!")
H.adjust_disgust(25 + 30 * fraction)
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "toxic_food", /datum/mood_event/disgusting_food)
- else if(foodtype & H.dna.species.disliked_food)
+ else if((foodtype & H.dna.species.disliked_food) || food_quality <= 30)
to_chat(H,"That didn't taste very good...")
H.adjust_disgust(11 + 15 * fraction)
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "gross_food", /datum/mood_event/gross_food)
- else if(foodtype & H.dna.species.liked_food)
+ else if((foodtype & H.dna.species.liked_food) || food_quality >= 70)
to_chat(H,"I love this taste!")
H.adjust_disgust(-5 + -2.5 * fraction)
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "fav_food", /datum/mood_event/favorite_food)
diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm
index 0b277e328b..177dba0b86 100644
--- a/code/modules/food_and_drinks/food/snacks.dm
+++ b/code/modules/food_and_drinks/food/snacks.dm
@@ -296,6 +296,10 @@ All foods are distributed among various categories. Use common sense.
var/obj/item/result
if(cooked_type)
result = new cooked_type(T)
+ //if the result is food, set its food quality to the original food item's quality
+ if(istype(result, /obj/item/reagent_containers/food))
+ var/obj/item/reagent_containers/food/food_output = result
+ food_output.adjust_food_quality(food_quality)
if(istype(M))
initialize_cooked_food(result, M.efficiency)
else
diff --git a/code/modules/food_and_drinks/kitchen_machinery/processor.dm b/code/modules/food_and_drinks/kitchen_machinery/processor.dm
index 3fa188fb94..113378fbb4 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/processor.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/processor.dm
@@ -28,8 +28,10 @@
/obj/machinery/processor/proc/process_food(datum/food_processor_process/recipe, atom/movable/what)
if (recipe.output && loc && !QDELETED(src))
+ var/obj/item/reagent_containers/food/food_input = what
for(var/i = 0, i < rating_amount, i++)
- new recipe.output(drop_location())
+ var/obj/item/reagent_containers/food/food_output = new recipe.output(drop_location())
+ food_output.adjust_food_quality(food_input.food_quality) //output quality equals input quality for the food processor
if (ismob(what))
var/mob/themob = what
themob.gib(TRUE,TRUE,TRUE)
From 792be6e1464484f3e1c691a0d96b3a1b664ea619 Mon Sep 17 00:00:00 2001
From: timothyteakettle <59849408+timothyteakettle@users.noreply.github.com>
Date: Thu, 9 Apr 2020 01:36:15 +0100
Subject: [PATCH 02/19] more food quality
---
code/modules/food_and_drinks/food.dm | 2 +-
code/modules/food_and_drinks/food/customizables.dm | 4 ++++
code/modules/food_and_drinks/food/snacks_bread.dm | 4 ++++
.../modules/food_and_drinks/kitchen_machinery/deep_fryer.dm | 6 ++++++
code/modules/reagents/chemistry/reagents/toxin_reagents.dm | 2 +-
5 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/code/modules/food_and_drinks/food.dm b/code/modules/food_and_drinks/food.dm
index b1df946e34..de41d2dd23 100644
--- a/code/modules/food_and_drinks/food.dm
+++ b/code/modules/food_and_drinks/food.dm
@@ -25,7 +25,7 @@
pixel_y = rand(-5, 5)
/obj/item/reagent_containers/food/proc/adjust_food_quality(new_quality)
- food_quality = min(new_quality,100)
+ food_quality = clamp(new_quality,0,100)
/obj/item/reagent_containers/food/proc/checkLiked(var/fraction, mob/M)
if(last_check_time + 50 < world.time)
diff --git a/code/modules/food_and_drinks/food/customizables.dm b/code/modules/food_and_drinks/food/customizables.dm
index bd20ad8d69..0e2bdc63c8 100644
--- a/code/modules/food_and_drinks/food/customizables.dm
+++ b/code/modules/food_and_drinks/food/customizables.dm
@@ -20,6 +20,7 @@
var/list/ingredients = list()
var/ingredients_placement = INGREDIENTS_FILL
var/customname = "custom"
+ var/total_quality = 0 //quality of all ingredients added together
/obj/item/reagent_containers/food/snacks/customizable/examine(mob/user)
. = ..()
@@ -56,6 +57,9 @@
S.reagents.trans_to(src,min(S.reagents.total_volume, 15)) //limit of 15, we don't want our custom food to be completely filled by just one ingredient with large reagent volume.
foodtype |= S.foodtype
update_snack_overlays(S)
+ //quality of customised food is average of the ingredient's qualities
+ total_quality += S.food_quality
+ food_quality = total_quality / length(ingredients)
to_chat(user, "You add the [I.name] to the [name].")
update_name(S)
else
diff --git a/code/modules/food_and_drinks/food/snacks_bread.dm b/code/modules/food_and_drinks/food/snacks_bread.dm
index 204e5ce455..11eedcd363 100644
--- a/code/modules/food_and_drinks/food/snacks_bread.dm
+++ b/code/modules/food_and_drinks/food/snacks_bread.dm
@@ -247,18 +247,22 @@ GLOBAL_LIST_INIT(frying_bad_chems, list(
add_atom_colour(rgb(166,103,54), FIXED_COLOUR_PRIORITY)
name = "lightly-fried [name]"
desc = "[desc] It's been lightly fried in a deep fryer."
+ adjust_food_quality(food_quality - 5)
if(16 to 49)
add_atom_colour(rgb(103,63,24), FIXED_COLOUR_PRIORITY)
name = "fried [name]"
desc = "[desc] It's been fried, increasing its tastiness value by [rand(1, 75)]%."
+ adjust_food_quality(food_quality - 10)
if(50 to 59)
add_atom_colour(rgb(63,23,4), FIXED_COLOUR_PRIORITY)
name = "deep-fried [name]"
desc = "[desc] Deep-fried to perfection."
+ adjust_food_quality(food_quality) //we shouldn't punish perfection in the fried arts
if(60 to INFINITY)
add_atom_colour(rgb(33,19,9), FIXED_COLOUR_PRIORITY)
name = "the physical manifestation of the very concept of fried foods"
desc = "A heavily-fried...something. Who can tell anymore?"
+ adjust_food_quality(0) //good job, you're truly the best cook.
filling_color = color
foodtype |= FRIED
diff --git a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
index 1215dd7ecb..2cd17a9020 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
@@ -104,6 +104,12 @@ God bless America.
else if(!frying && user.transferItemToLoc(I, src))
to_chat(user, "You put [I] into [src].")
frying = new/obj/item/reagent_containers/food/snacks/deepfryholder(src, I)
+ //setup food quality for item depending on if it's edible or not
+ if(istype(I, /obj/item/reagent_containers/food))
+ /obj/item/reagent_containers/food/original_food = I
+ frying.adjust_food_quality(I.food_quality) //food quality remains unchanged until degree of frying is calculated
+ else
+ frying.food_quality = 10 //inedible fried item has low quality
icon_state = "fryer_on"
fry_loop.start()
diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm
index 305d12b3c5..bd79ed5fb8 100644
--- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm
@@ -506,7 +506,7 @@
taste_description = "awful cooking"
/datum/reagent/toxin/condensed_cooking_oil/on_mob_life(mob/living/carbon/M)
- if(prob(15))
+ if(prob(5))
M.vomit()
else
if(prob(40))
From a90f3d9d2b87ebb3dee16120153b807f7d2e367a Mon Sep 17 00:00:00 2001
From: timothyteakettle <59849408+timothyteakettle@users.noreply.github.com>
Date: Thu, 9 Apr 2020 01:46:47 +0100
Subject: [PATCH 03/19] woops
---
code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
index 2cd17a9020..3e22070c00 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
@@ -106,8 +106,8 @@ God bless America.
frying = new/obj/item/reagent_containers/food/snacks/deepfryholder(src, I)
//setup food quality for item depending on if it's edible or not
if(istype(I, /obj/item/reagent_containers/food))
- /obj/item/reagent_containers/food/original_food = I
- frying.adjust_food_quality(I.food_quality) //food quality remains unchanged until degree of frying is calculated
+ var/obj/item/reagent_containers/food/original_food = I
+ frying.adjust_food_quality(original_food.food_quality) //food quality remains unchanged until degree of frying is calculated
else
frying.food_quality = 10 //inedible fried item has low quality
icon_state = "fryer_on"
From 20d41720305375d654f9ac4bc675c4dcd8631e43 Mon Sep 17 00:00:00 2001
From: timothyteakettle <59849408+timothyteakettle@users.noreply.github.com>
Date: Thu, 9 Apr 2020 02:10:00 +0100
Subject: [PATCH 04/19] more quality
---
code/modules/food_and_drinks/kitchen_machinery/gibber.dm | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
index 5117439049..4b5c7d34ad 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
@@ -14,6 +14,7 @@
var/gibtime = 40 // Time from starting until meat appears
var/meat_produced = 0
var/ignore_clothing = FALSE
+ var/meat_quality = 35 //food_quality of meat produced
/obj/machinery/gibber/Initialize()
@@ -23,8 +24,10 @@
/obj/machinery/gibber/RefreshParts()
gibtime = 40
meat_produced = 0
+ meat_quality = 35 // unupgraded this means quality is 50, and max upgraded it is 95
for(var/obj/item/stock_parts/matter_bin/B in component_parts)
meat_produced += B.rating
+ meat_quality += B.rating * 15
for(var/obj/item/stock_parts/manipulator/M in component_parts)
gibtime -= 5 * M.rating
if(M.rating >= 2)
@@ -182,6 +185,7 @@
for (var/i=1 to meat_produced)
var/obj/item/reagent_containers/food/snacks/meat/slab/newmeat = new typeofmeat
newmeat.name = "[sourcename] [newmeat.name]"
+ newmeat.food_quality = meat_quality
if(istype(newmeat))
newmeat.subjectname = sourcename
newmeat.reagents.add_reagent (/datum/reagent/consumable/nutriment, sourcenutriment / meat_produced) // Thehehe. Fat guys go first
From d985ea8c848b08ab878b50e72f9ae5602eddf74a Mon Sep 17 00:00:00 2001
From: timothyteakettle <59849408+timothyteakettle@users.noreply.github.com>
Date: Thu, 9 Apr 2020 02:51:32 +0100
Subject: [PATCH 05/19] more quality
---
code/datums/components/butchering.dm | 9 ++++++++-
.../modules/reagents/chemistry/reagents/food_reagents.dm | 6 ++++++
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/code/datums/components/butchering.dm b/code/datums/components/butchering.dm
index 06169f64bf..1477f7cbc5 100644
--- a/code/datums/components/butchering.dm
+++ b/code/datums/components/butchering.dm
@@ -69,6 +69,9 @@
H.apply_status_effect(/datum/status_effect/neck_slice)
/datum/component/butchering/proc/Butcher(mob/living/butcher, mob/living/meat)
+ var/meat_quality = 30 + (bonus_modifier/10) //increases through quality of butchering tool, and through if it was butchered in the kitchen or not
+ if(istype(get_area(butcher), /area/crew_quarters/kitchen))
+ meat_quality = meat_quality + 20
var/turf/T = meat.drop_location()
var/final_effectiveness = effectiveness - meat.butcher_difficulty
var/bonus_chance = max(0, (final_effectiveness - 100) + bonus_modifier) //so 125 total effectiveness = 25% extra chance
@@ -83,7 +86,11 @@
if(butcher)
to_chat(butcher, "You harvest some extra [initial(bones.name)] from [meat]!")
for(var/i in 1 to 2)
- new bones (T)
+ var/butcher_item = new bones (T)
+ if(istype(butcher_item, /obj/item/reagent_containers/food))
+ var/obj/item/reagent_containers/food/butcher_food = butcher_item
+ butcher_food.adjust_food_quality(meat_quality)
+
else
new bones (T)
meat.butcher_results.Remove(bones) //in case you want to, say, have it drop its results on gib
diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm
index fa30609c54..c555609992 100644
--- a/code/modules/reagents/chemistry/reagents/food_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm
@@ -777,6 +777,12 @@
can_synth = FALSE
pH = 6.1
+/datum/reagent/consumable/secretsauce/reaction_obj(obj/O, reac_volume)
+ //splashing any amount above or equal to 1u of secret sauce onto a piece of food turns its quality to 100
+ if(reac_volume >= 1 && istype(O, /obj/item/reagent_containers/food))
+ var/obj/item/reagent_containers/food/splashed_food = O
+ splashed_food.adjust_food_quality(100)
+
/datum/reagent/consumable/char
name = "Char"
description = "Essence of the grill. Has strange properties when overdosed."
From 7fba81f36e4ebe2862e9676292cce25726fb7e4e Mon Sep 17 00:00:00 2001
From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com>
Date: Thu, 9 Apr 2020 13:32:02 +0100
Subject: [PATCH 06/19] people are more picky about food
---
code/modules/food_and_drinks/food.dm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/code/modules/food_and_drinks/food.dm b/code/modules/food_and_drinks/food.dm
index de41d2dd23..beaf5ed1ba 100644
--- a/code/modules/food_and_drinks/food.dm
+++ b/code/modules/food_and_drinks/food.dm
@@ -40,9 +40,9 @@
to_chat(H,"That didn't taste very good...")
H.adjust_disgust(11 + 15 * fraction)
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "gross_food", /datum/mood_event/gross_food)
- else if((foodtype & H.dna.species.liked_food) || food_quality >= 70)
+ else if((foodtype & H.dna.species.liked_food & food_quality >= 50) || food_quality >= 70) //you like food of high quality, and food of regular quality you have a preference for
to_chat(H,"I love this taste!")
- H.adjust_disgust(-5 + -2.5 * fraction)
+ H.adjust_disgust(-5 + (-2.5 * food_quality/50) + -2.5 * fraction)
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "fav_food", /datum/mood_event/favorite_food)
else
if(foodtype & H.dna.species.toxic_food)
From 97dcb9ed846241fa63a0e2303c846ea850cd4f42 Mon Sep 17 00:00:00 2001
From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com>
Date: Thu, 9 Apr 2020 14:50:11 +0100
Subject: [PATCH 07/19] fried garbage is now better
---
.../food_and_drinks/food/snacks_bread.dm | 20 +++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/code/modules/food_and_drinks/food/snacks_bread.dm b/code/modules/food_and_drinks/food/snacks_bread.dm
index 11eedcd363..a04766be5d 100644
--- a/code/modules/food_and_drinks/food/snacks_bread.dm
+++ b/code/modules/food_and_drinks/food/snacks_bread.dm
@@ -185,6 +185,7 @@
icon = 'icons/obj/food/food.dmi'
icon_state = ""
bitesize = 2
+ var/fried_garbage = FALSE //did you really fry a fire extinguisher?
GLOBAL_VAR_INIT(frying_hardmode, TRUE)
GLOBAL_VAR_INIT(frying_bad_chem_add_volume, TRUE)
@@ -215,21 +216,13 @@ GLOBAL_LIST_INIT(frying_bad_chems, list(
item_flags = fried.item_flags
obj_flags = fried.obj_flags
- if(istype(fried, /obj/item/reagent_containers/food/snacks))
+ if(istype(fried, /obj/item/reagent_containers/food))
fried.reagents.trans_to(src, fried.reagents.total_volume)
qdel(fried)
else
fried.forceMove(src)
trash = fried
- if(!istype(fried, /obj/item/reagent_containers/food) && GLOB.frying_hardmode && GLOB.frying_bad_chems.len)
- var/R = rand(1, GLOB.frying_bad_chems.len)
- var/bad_chem = GLOB.frying_bad_chems[R]
- var/bad_chem_amount = GLOB.frying_bad_chems[bad_chem]
- if(GLOB.frying_bad_chem_add_volume)
- reagents.maximum_volume += bad_chem_amount + 2 //Added room for condensed cooking oil
- reagents.add_reagent(bad_chem, bad_chem_amount)
- //All fried inedible items also get condensed cooking oil added, which induces minor vomiting and heart damage
- reagents.add_reagent(/datum/reagent/toxin/condensed_cooking_oil, 2)
+ fried_garbage = TRUE
/obj/item/reagent_containers/food/snacks/deepfryholder/Destroy()
if(trash)
@@ -237,6 +230,13 @@ GLOBAL_LIST_INIT(frying_bad_chems, list(
. = ..()
/obj/item/reagent_containers/food/snacks/deepfryholder/On_Consume(mob/living/eater)
+ if(fried_garbage && GLOB.frying_hardmode && GLOB.frying_bad_chems.len)
+ var/R = rand(1, GLOB.frying_bad_chems.len)
+ var/bad_chem = GLOB.frying_bad_chems[R]
+ var/bad_chem_amount = GLOB.frying_bad_chems[bad_chem]
+ eater.reagents.add_reagent(bad_chem, bad_chem_amount)
+ //All fried inedible items also get condensed cooking oil added, which induces minor vomiting and heart damage
+ eater.reagents.add_reagent(/datum/reagent/toxin/condensed_cooking_oil, 2)
if(trash)
QDEL_NULL(trash)
..()
From 47be942c92e8e6bf9ba584bb9bcf2c4e3d96c809 Mon Sep 17 00:00:00 2001
From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com>
Date: Thu, 9 Apr 2020 15:29:10 +0100
Subject: [PATCH 08/19] more quality
---
code/modules/food_and_drinks/food/snacks.dm | 11 +++++++++--
.../food_and_drinks/kitchen_machinery/microwave.dm | 4 +++-
.../food_and_drinks/kitchen_machinery/processor.dm | 5 ++++-
code/modules/food_and_drinks/recipes/food_mixtures.dm | 1 -
4 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm
index 177dba0b86..92f8d104a6 100644
--- a/code/modules/food_and_drinks/food/snacks.dm
+++ b/code/modules/food_and_drinks/food/snacks.dm
@@ -162,6 +162,13 @@ All foods are distributed among various categories. Use common sense.
else
. += "[src] was bitten multiple times!"
+ //examine text for quality
+ if(food_quality >= 70)
+ . += "It is of a high quality."
+ else
+ if(food_quality <= 30)
+ . += "It is of a low quality."
+
/obj/item/reagent_containers/food/snacks/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/storage))
@@ -291,7 +298,7 @@ All foods are distributed among various categories. Use common sense.
else
S.reagents.add_reagent(r_id, amount)
-/obj/item/reagent_containers/food/snacks/microwave_act(obj/machinery/microwave/M)
+/obj/item/reagent_containers/food/snacks/microwave_act(obj/machinery/microwave/M, var/quality_increase)
var/turf/T = get_turf(src)
var/obj/item/result
if(cooked_type)
@@ -299,7 +306,7 @@ All foods are distributed among various categories. Use common sense.
//if the result is food, set its food quality to the original food item's quality
if(istype(result, /obj/item/reagent_containers/food))
var/obj/item/reagent_containers/food/food_output = result
- food_output.adjust_food_quality(food_quality)
+ food_output.adjust_food_quality(food_quality + quality_increase)
if(istype(M))
initialize_cooked_food(result, M.efficiency)
else
diff --git a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm
index 2adff414e8..9edcaf083c 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm
@@ -19,6 +19,7 @@
var/broken = 0 // 0, 1 or 2 // How broken is it???
var/max_n_of_items = 10
var/efficiency = 0
+ var/quality_increase = 5 // how much do we increase the quality of microwaved items
var/datum/looping_sound/microwave/soundloop
var/list/ingredients = list() // may only contain /atom/movables
@@ -48,6 +49,7 @@
efficiency += M.rating
for(var/obj/item/stock_parts/matter_bin/M in component_parts)
max_n_of_items = 10 * M.rating
+ quality_increase = M.rating * 5
break
/obj/machinery/microwave/examine(mob/user)
@@ -308,7 +310,7 @@
var/metal = 0
for(var/obj/item/O in ingredients)
- O.microwave_act(src)
+ O.microwave_act(src, quality_increase)
if(O.custom_materials?.len)
metal += O.custom_materials[SSmaterials.GetMaterialRef(/datum/material/iron)]
diff --git a/code/modules/food_and_drinks/kitchen_machinery/processor.dm b/code/modules/food_and_drinks/kitchen_machinery/processor.dm
index 113378fbb4..9a3df0a92b 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/processor.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/processor.dm
@@ -14,10 +14,13 @@
var/processing = FALSE
var/rating_speed = 1
var/rating_amount = 1
+ var/quality_increase = 5
/obj/machinery/processor/RefreshParts()
+ quality_increase = 0
for(var/obj/item/stock_parts/matter_bin/B in component_parts)
rating_amount = B.rating
+ quality_increase += B.rating * 5
for(var/obj/item/stock_parts/manipulator/M in component_parts)
rating_speed = M.rating
@@ -31,7 +34,7 @@
var/obj/item/reagent_containers/food/food_input = what
for(var/i = 0, i < rating_amount, i++)
var/obj/item/reagent_containers/food/food_output = new recipe.output(drop_location())
- food_output.adjust_food_quality(food_input.food_quality) //output quality equals input quality for the food processor
+ food_output.adjust_food_quality(food_input.food_quality + quality_increase)
if (ismob(what))
var/mob/themob = what
themob.gib(TRUE,TRUE,TRUE)
diff --git a/code/modules/food_and_drinks/recipes/food_mixtures.dm b/code/modules/food_and_drinks/recipes/food_mixtures.dm
index c15c1cd2f5..ec96a4537c 100644
--- a/code/modules/food_and_drinks/recipes/food_mixtures.dm
+++ b/code/modules/food_and_drinks/recipes/food_mixtures.dm
@@ -8,7 +8,6 @@
parts |= reqs
//////////////////////////////////////////FOOD MIXTURES////////////////////////////////////
-
/datum/chemical_reaction/tofu
name = "Tofu"
id = "tofu"
From 7fe5bb71d7c3ee7fe513af5b4cef001515aa7ead Mon Sep 17 00:00:00 2001
From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com>
Date: Thu, 9 Apr 2020 16:07:45 +0100
Subject: [PATCH 09/19] more quality
---
code/datums/components/butchering.dm | 14 ++++++++------
.../food_and_drinks/kitchen_machinery/gibber.dm | 2 +-
2 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/code/datums/components/butchering.dm b/code/datums/components/butchering.dm
index 1477f7cbc5..5c295b28cc 100644
--- a/code/datums/components/butchering.dm
+++ b/code/datums/components/butchering.dm
@@ -75,6 +75,7 @@
var/turf/T = meat.drop_location()
var/final_effectiveness = effectiveness - meat.butcher_difficulty
var/bonus_chance = max(0, (final_effectiveness - 100) + bonus_modifier) //so 125 total effectiveness = 25% extra chance
+ var/list/butchered_items = list()
for(var/V in meat.butcher_results)
var/obj/bones = V
var/amount = meat.butcher_results[bones]
@@ -86,20 +87,21 @@
if(butcher)
to_chat(butcher, "You harvest some extra [initial(bones.name)] from [meat]!")
for(var/i in 1 to 2)
- var/butcher_item = new bones (T)
- if(istype(butcher_item, /obj/item/reagent_containers/food))
- var/obj/item/reagent_containers/food/butcher_food = butcher_item
- butcher_food.adjust_food_quality(meat_quality)
+ butchered_items += new bones (T)
else
- new bones (T)
+ butchered_items += new bones (T)
meat.butcher_results.Remove(bones) //in case you want to, say, have it drop its results on gib
for(var/V in meat.guaranteed_butcher_results)
var/obj/sinew = V
var/amount = meat.guaranteed_butcher_results[sinew]
for(var/i in 1 to amount)
- new sinew (T)
+ butchered_items += new sinew (T)
meat.guaranteed_butcher_results.Remove(sinew)
+ for(var/butchered_item in butchered_items)
+ if(istype(butchered_item, /obj/item/reagent_containers/food))
+ var/obj/item/reagent_containers/food/butchered_meat = butchered_item
+ butchered_meat.food_quality = meat_quality
if(butcher)
meat.visible_message("[butcher] butchers [meat].")
ButcherEffects(meat)
diff --git a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
index 4b5c7d34ad..f6cd44ace1 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
@@ -185,7 +185,6 @@
for (var/i=1 to meat_produced)
var/obj/item/reagent_containers/food/snacks/meat/slab/newmeat = new typeofmeat
newmeat.name = "[sourcename] [newmeat.name]"
- newmeat.food_quality = meat_quality
if(istype(newmeat))
newmeat.subjectname = sourcename
newmeat.reagents.add_reagent (/datum/reagent/consumable/nutriment, sourcenutriment / meat_produced) // Thehehe. Fat guys go first
@@ -211,6 +210,7 @@
skin.forceMove(loc)
skin.throw_at(pick(nearby_turfs),meat_produced,3)
for (var/i=1 to meat_produced)
+ allmeat[i].adjust_food_quality(meat_quality)
var/obj/item/meatslab = allmeat[i]
meatslab.forceMove(loc)
meatslab.throw_at(pick(nearby_turfs),i,3)
From cfec83b8a24962a675e7a9421c2bf68945b36b38 Mon Sep 17 00:00:00 2001
From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com>
Date: Thu, 9 Apr 2020 18:38:29 +0100
Subject: [PATCH 10/19] what if butchering didnt suck!
---
code/datums/components/butchering.dm | 4 ++--
code/modules/food_and_drinks/kitchen_machinery/gibber.dm | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/code/datums/components/butchering.dm b/code/datums/components/butchering.dm
index 5c295b28cc..cb9652e0db 100644
--- a/code/datums/components/butchering.dm
+++ b/code/datums/components/butchering.dm
@@ -69,9 +69,9 @@
H.apply_status_effect(/datum/status_effect/neck_slice)
/datum/component/butchering/proc/Butcher(mob/living/butcher, mob/living/meat)
- var/meat_quality = 30 + (bonus_modifier/10) //increases through quality of butchering tool, and through if it was butchered in the kitchen or not
+ var/meat_quality = 50 + (bonus_modifier/10) //increases through quality of butchering tool, and through if it was butchered in the kitchen or not
if(istype(get_area(butcher), /area/crew_quarters/kitchen))
- meat_quality = meat_quality + 20
+ meat_quality = meat_quality + 10
var/turf/T = meat.drop_location()
var/final_effectiveness = effectiveness - meat.butcher_difficulty
var/bonus_chance = max(0, (final_effectiveness - 100) + bonus_modifier) //so 125 total effectiveness = 25% extra chance
diff --git a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
index f6cd44ace1..c94aba95b4 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
@@ -184,6 +184,7 @@
for (var/i=1 to meat_produced)
var/obj/item/reagent_containers/food/snacks/meat/slab/newmeat = new typeofmeat
+ newmeat.adjust_food_quality(meat_quality)
newmeat.name = "[sourcename] [newmeat.name]"
if(istype(newmeat))
newmeat.subjectname = sourcename
@@ -210,7 +211,6 @@
skin.forceMove(loc)
skin.throw_at(pick(nearby_turfs),meat_produced,3)
for (var/i=1 to meat_produced)
- allmeat[i].adjust_food_quality(meat_quality)
var/obj/item/meatslab = allmeat[i]
meatslab.forceMove(loc)
meatslab.throw_at(pick(nearby_turfs),i,3)
From 1ffea14ee88288e99c24ab97436f03252a0ff0be Mon Sep 17 00:00:00 2001
From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com>
Date: Thu, 9 Apr 2020 19:53:14 +0100
Subject: [PATCH 11/19] makes descriptions work
---
code/modules/food_and_drinks/food/snacks.dm | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm
index 92f8d104a6..889ec42185 100644
--- a/code/modules/food_and_drinks/food/snacks.dm
+++ b/code/modules/food_and_drinks/food/snacks.dm
@@ -153,6 +153,12 @@ All foods are distributed among various categories. Use common sense.
/obj/item/reagent_containers/food/snacks/examine(mob/user)
. = ..()
+ if(food_quality >= 70)
+ . += "It is of a high quality."
+ else
+ if(food_quality <= 30)
+ . += "It is of a low quality."
+
if(bitecount == 0)
return
else if(bitecount == 1)
@@ -162,13 +168,6 @@ All foods are distributed among various categories. Use common sense.
else
. += "[src] was bitten multiple times!"
- //examine text for quality
- if(food_quality >= 70)
- . += "It is of a high quality."
- else
- if(food_quality <= 30)
- . += "It is of a low quality."
-
/obj/item/reagent_containers/food/snacks/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/storage))
From 951732c36132490ac7b6e9f0813b1149300bac7d Mon Sep 17 00:00:00 2001
From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com>
Date: Thu, 9 Apr 2020 20:12:02 +0100
Subject: [PATCH 12/19] make secret sauce work on customizables
---
code/modules/reagents/chemistry/reagents/food_reagents.dm | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm
index c555609992..cf6c3789ec 100644
--- a/code/modules/reagents/chemistry/reagents/food_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm
@@ -782,7 +782,11 @@
if(reac_volume >= 1 && istype(O, /obj/item/reagent_containers/food))
var/obj/item/reagent_containers/food/splashed_food = O
splashed_food.adjust_food_quality(100)
-
+ // if it's a customisable food, we need to edit its total quality too, to prevent its quality resetting from adding more ingredients!
+ if(istype(O, obj/item/reagent_containers/food/customizable))
+ var/obj/item/reagent_containers/food/customizable/splashed_custom_food = O
+ splashed_custom_food.total_quality += 10000
+r
/datum/reagent/consumable/char
name = "Char"
description = "Essence of the grill. Has strange properties when overdosed."
From 4c4e11037522b6eb04dd635b6d354145bedb3d4a Mon Sep 17 00:00:00 2001
From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com>
Date: Thu, 9 Apr 2020 20:16:55 +0100
Subject: [PATCH 13/19] imagine making it compile
---
code/modules/reagents/chemistry/reagents/food_reagents.dm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm
index cf6c3789ec..654d69a599 100644
--- a/code/modules/reagents/chemistry/reagents/food_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm
@@ -783,8 +783,8 @@
var/obj/item/reagent_containers/food/splashed_food = O
splashed_food.adjust_food_quality(100)
// if it's a customisable food, we need to edit its total quality too, to prevent its quality resetting from adding more ingredients!
- if(istype(O, obj/item/reagent_containers/food/customizable))
- var/obj/item/reagent_containers/food/customizable/splashed_custom_food = O
+ if(istype(O, /obj/item/reagent_containers/food/snacks/customizable))
+ var/obj/item/reagent_containers/food/snacks/customizable/splashed_custom_food = O
splashed_custom_food.total_quality += 10000
r
/datum/reagent/consumable/char
From ea8d43281ebf2c788cfe43446854810598de504d Mon Sep 17 00:00:00 2001
From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com>
Date: Fri, 10 Apr 2020 03:21:06 +0100
Subject: [PATCH 14/19] swap & for &&
woops
Co-Authored-By: Lin
---
code/modules/food_and_drinks/food.dm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/code/modules/food_and_drinks/food.dm b/code/modules/food_and_drinks/food.dm
index beaf5ed1ba..203eb3eef6 100644
--- a/code/modules/food_and_drinks/food.dm
+++ b/code/modules/food_and_drinks/food.dm
@@ -40,7 +40,7 @@
to_chat(H,"That didn't taste very good...")
H.adjust_disgust(11 + 15 * fraction)
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "gross_food", /datum/mood_event/gross_food)
- else if((foodtype & H.dna.species.liked_food & food_quality >= 50) || food_quality >= 70) //you like food of high quality, and food of regular quality you have a preference for
+ else if(((foodtype & H.dna.species.liked_food) && food_quality >= 50) || food_quality >= 70) //you like food of high quality, and food of regular quality you have a preference for
to_chat(H,"I love this taste!")
H.adjust_disgust(-5 + (-2.5 * food_quality/50) + -2.5 * fraction)
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "fav_food", /datum/mood_event/favorite_food)
@@ -52,4 +52,4 @@
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "breakfast", /datum/mood_event/breakfast)
last_check_time = world.time
-#undef STOP_SERVING_BREAKFAST
\ No newline at end of file
+#undef STOP_SERVING_BREAKFAST
From e02439396266570b1e64fe2d4b41148c2c0a5526 Mon Sep 17 00:00:00 2001
From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com>
Date: Mon, 13 Apr 2020 17:12:40 +0100
Subject: [PATCH 15/19] secret sauce doesn't give a second moodlet because
that's dumb
---
code/modules/reagents/chemistry/reagents/food_reagents.dm | 3 ---
1 file changed, 3 deletions(-)
diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm
index 654d69a599..b3ca6a720d 100644
--- a/code/modules/reagents/chemistry/reagents/food_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm
@@ -32,8 +32,6 @@
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "quality_drink", /datum/mood_event/quality_verygood)
if (DRINK_FANTASTIC)
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "quality_drink", /datum/mood_event/quality_fantastic)
- if (FOOD_AMAZING)
- SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "quality_food", /datum/mood_event/amazingtaste)
return ..()
/datum/reagent/consumable/nutriment
@@ -772,7 +770,6 @@
nutriment_factor = 2 * REAGENTS_METABOLISM
color = "#792300"
taste_description = "indescribable"
- quality = FOOD_AMAZING
taste_mult = 100
can_synth = FALSE
pH = 6.1
From f821d33f44e7403976bd78169486acd54fe72f2d Mon Sep 17 00:00:00 2001
From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com>
Date: Fri, 17 Apr 2020 01:32:42 +0100
Subject: [PATCH 16/19] change clamp to CLAMP
requested change, and i don't plan on subtypes with different effects based on food quality
Co-Authored-By: Ghom <42542238+Ghommie@users.noreply.github.com>
---
code/modules/food_and_drinks/food.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/modules/food_and_drinks/food.dm b/code/modules/food_and_drinks/food.dm
index 203eb3eef6..1342b1fcbf 100644
--- a/code/modules/food_and_drinks/food.dm
+++ b/code/modules/food_and_drinks/food.dm
@@ -25,7 +25,7 @@
pixel_y = rand(-5, 5)
/obj/item/reagent_containers/food/proc/adjust_food_quality(new_quality)
- food_quality = clamp(new_quality,0,100)
+ food_quality = CLAMP(new_quality,0,100)
/obj/item/reagent_containers/food/proc/checkLiked(var/fraction, mob/M)
if(last_check_time + 50 < world.time)
From aa6d6883e310d241c2152b56b46ae1d3e1f4b0b3 Mon Sep 17 00:00:00 2001
From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com>
Date: Fri, 17 Apr 2020 01:34:46 +0100
Subject: [PATCH 17/19] remove a random 'r'
---
code/modules/reagents/chemistry/reagents/food_reagents.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm
index b3ca6a720d..b94ea9601e 100644
--- a/code/modules/reagents/chemistry/reagents/food_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm
@@ -783,7 +783,7 @@
if(istype(O, /obj/item/reagent_containers/food/snacks/customizable))
var/obj/item/reagent_containers/food/snacks/customizable/splashed_custom_food = O
splashed_custom_food.total_quality += 10000
-r
+
/datum/reagent/consumable/char
name = "Char"
description = "Essence of the grill. Has strange properties when overdosed."
From a4cc54781f381e9fb9c1d1192d60cff660756ad1 Mon Sep 17 00:00:00 2001
From: timothyteakettle <59849408+timothyteakettle@users.noreply.github.com>
Date: Fri, 17 Apr 2020 01:45:15 +0100
Subject: [PATCH 18/19] implements isfood helper
---
code/__DEFINES/is_helpers.dm | 2 ++
code/datums/components/butchering.dm | 2 +-
code/datums/components/crafting/craft.dm | 2 +-
code/modules/food_and_drinks/food/snacks.dm | 2 +-
code/modules/food_and_drinks/food/snacks_bread.dm | 2 +-
code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm | 2 +-
code/modules/reagents/chemistry/reagents/food_reagents.dm | 2 +-
7 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm
index 55bfcaff79..d961d6ac79 100644
--- a/code/__DEFINES/is_helpers.dm
+++ b/code/__DEFINES/is_helpers.dm
@@ -240,6 +240,8 @@ GLOBAL_LIST_INIT(pointed_types, typecacheof(list(
#define isgun(A) (istype(A, /obj/item/gun))
+#define isfood(A) (istype(A, /obj/item/reagent_containers/food))
+
//Assemblies
#define isassembly(O) (istype(O, /obj/item/assembly))
diff --git a/code/datums/components/butchering.dm b/code/datums/components/butchering.dm
index cb9652e0db..e5625dee6a 100644
--- a/code/datums/components/butchering.dm
+++ b/code/datums/components/butchering.dm
@@ -99,7 +99,7 @@
butchered_items += new sinew (T)
meat.guaranteed_butcher_results.Remove(sinew)
for(var/butchered_item in butchered_items)
- if(istype(butchered_item, /obj/item/reagent_containers/food))
+ if(isfood(butchered_item))
var/obj/item/reagent_containers/food/butchered_meat = butchered_item
butchered_meat.food_quality = meat_quality
if(butcher)
diff --git a/code/datums/components/crafting/craft.dm b/code/datums/components/crafting/craft.dm
index 64bde5da29..a5333499dd 100644
--- a/code/datums/components/crafting/craft.dm
+++ b/code/datums/components/crafting/craft.dm
@@ -201,7 +201,7 @@
var/atom/movable/I = new R.result (get_turf(user.loc))
I.CheckParts(parts, R)
if(isitem(I))
- if(istype(I, /obj/item/reagent_containers/food))
+ if(isfood(I))
var/obj/item/reagent_containers/food/food_result = I
var/total_quality = 0
var/total_items = 0
diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm
index 889ec42185..6274a70d0e 100644
--- a/code/modules/food_and_drinks/food/snacks.dm
+++ b/code/modules/food_and_drinks/food/snacks.dm
@@ -303,7 +303,7 @@ All foods are distributed among various categories. Use common sense.
if(cooked_type)
result = new cooked_type(T)
//if the result is food, set its food quality to the original food item's quality
- if(istype(result, /obj/item/reagent_containers/food))
+ if(isfood(result))
var/obj/item/reagent_containers/food/food_output = result
food_output.adjust_food_quality(food_quality + quality_increase)
if(istype(M))
diff --git a/code/modules/food_and_drinks/food/snacks_bread.dm b/code/modules/food_and_drinks/food/snacks_bread.dm
index a04766be5d..777fd3875c 100644
--- a/code/modules/food_and_drinks/food/snacks_bread.dm
+++ b/code/modules/food_and_drinks/food/snacks_bread.dm
@@ -216,7 +216,7 @@ GLOBAL_LIST_INIT(frying_bad_chems, list(
item_flags = fried.item_flags
obj_flags = fried.obj_flags
- if(istype(fried, /obj/item/reagent_containers/food))
+ if(isfood(fried))
fried.reagents.trans_to(src, fried.reagents.total_volume)
qdel(fried)
else
diff --git a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
index 3e22070c00..e42ad07c26 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
@@ -105,7 +105,7 @@ God bless America.
to_chat(user, "You put [I] into [src].")
frying = new/obj/item/reagent_containers/food/snacks/deepfryholder(src, I)
//setup food quality for item depending on if it's edible or not
- if(istype(I, /obj/item/reagent_containers/food))
+ if(isfood(I))
var/obj/item/reagent_containers/food/original_food = I
frying.adjust_food_quality(original_food.food_quality) //food quality remains unchanged until degree of frying is calculated
else
diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm
index b94ea9601e..ba0b3ea37d 100644
--- a/code/modules/reagents/chemistry/reagents/food_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm
@@ -776,7 +776,7 @@
/datum/reagent/consumable/secretsauce/reaction_obj(obj/O, reac_volume)
//splashing any amount above or equal to 1u of secret sauce onto a piece of food turns its quality to 100
- if(reac_volume >= 1 && istype(O, /obj/item/reagent_containers/food))
+ if(reac_volume >= 1 && isfood(O))
var/obj/item/reagent_containers/food/splashed_food = O
splashed_food.adjust_food_quality(100)
// if it's a customisable food, we need to edit its total quality too, to prevent its quality resetting from adding more ingredients!
From 9d312d7fef6d54cd63aef7b1bbfbd450bf853fb0 Mon Sep 17 00:00:00 2001
From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com>
Date: Fri, 17 Apr 2020 13:59:48 +0100
Subject: [PATCH 19/19] small refactor to some stuff
quality_increase no longer passed to microwave_act because it's defined in obj/machinery/microwave
deepfryer code uses adjust_food_quality in a place where it didn't before
---
code/modules/food_and_drinks/food/snacks.dm | 4 ++--
code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm | 2 +-
code/modules/food_and_drinks/kitchen_machinery/microwave.dm | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm
index 6274a70d0e..7b914e2e2f 100644
--- a/code/modules/food_and_drinks/food/snacks.dm
+++ b/code/modules/food_and_drinks/food/snacks.dm
@@ -297,7 +297,7 @@ All foods are distributed among various categories. Use common sense.
else
S.reagents.add_reagent(r_id, amount)
-/obj/item/reagent_containers/food/snacks/microwave_act(obj/machinery/microwave/M, var/quality_increase)
+/obj/item/reagent_containers/food/snacks/microwave_act(obj/machinery/microwave/M)
var/turf/T = get_turf(src)
var/obj/item/result
if(cooked_type)
@@ -305,7 +305,7 @@ All foods are distributed among various categories. Use common sense.
//if the result is food, set its food quality to the original food item's quality
if(isfood(result))
var/obj/item/reagent_containers/food/food_output = result
- food_output.adjust_food_quality(food_quality + quality_increase)
+ food_output.adjust_food_quality(food_quality + M.quality_increase)
if(istype(M))
initialize_cooked_food(result, M.efficiency)
else
diff --git a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
index e42ad07c26..0a3d172bb0 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
@@ -109,7 +109,7 @@ God bless America.
var/obj/item/reagent_containers/food/original_food = I
frying.adjust_food_quality(original_food.food_quality) //food quality remains unchanged until degree of frying is calculated
else
- frying.food_quality = 10 //inedible fried item has low quality
+ frying.adjust_food_quality(10) //inedible fried item has low quality
icon_state = "fryer_on"
fry_loop.start()
diff --git a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm
index 9edcaf083c..3b0ae52578 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm
@@ -310,7 +310,7 @@
var/metal = 0
for(var/obj/item/O in ingredients)
- O.microwave_act(src, quality_increase)
+ O.microwave_act(src)
if(O.custom_materials?.len)
metal += O.custom_materials[SSmaterials.GetMaterialRef(/datum/material/iron)]