Bugfix Collection (#11371)

This commit is contained in:
MarinaGryphon
2021-03-04 21:19:10 +01:00
committed by GitHub
parent 8c3ae999ef
commit 2a0ab65e64
20 changed files with 186 additions and 137 deletions
@@ -254,12 +254,11 @@
oilwork(J, CI)
for (var/_R in CI.container.reagents.reagent_volumes)
var/decl/reagent/R = decls_repository.get_decl(_R)
if (istype(R, /decl/reagent/nutriment))
if (ispath(_R, /decl/reagent/nutriment))
CI.max_cookwork += CI.container.reagents.reagent_volumes[_R] *2//Added reagents contribute less than those in food items due to granular form
//Nonfat reagents will soak oil
if (!istype(R, /decl/reagent/nutriment/triglyceride))
if (!ispath(_R, /decl/reagent/nutriment/triglyceride))
CI.max_oil += CI.container.reagents.reagent_volumes[_R] * 0.25
else
CI.max_cookwork += CI.container.reagents.reagent_volumes[_R]
@@ -275,12 +274,11 @@
var/work = 0
if (istype(S) && S.reagents)
for (var/_R in S.reagents.reagent_volumes)
var/decl/reagent/R = decls_repository.get_decl(_R)
if (istype(R, /decl/reagent/nutriment))
if (ispath(_R, /decl/reagent/nutriment))
work += S.reagents.reagent_volumes[_R] *3//Core nutrients contribute much more than peripheral chemicals
//Nonfat reagents will soak oil
if (!istype(R, /decl/reagent/nutriment/triglyceride))
if (!ispath(_R, /decl/reagent/nutriment/triglyceride))
CI.max_oil += S.reagents.reagent_volumes[_R] * 0.35
else
work += S.reagents.reagent_volumes[_R]
@@ -575,15 +573,15 @@
result.kitchen_tag = SA.kitchen_tag
if (SA.meat_amount)
reagent_amount = SA.meat_amount*9 // at a rate of 9 protein per meat
var/decl/reagent/digest_product = victim.get_digestion_product()
var/digest_product_type = victim.get_digestion_product() // DOES NOT RETURN A DECL, RETURNS A PATH
var/list/data
var/meat_name = result.kitchen_tag || victim.name
if(ishuman(victim))
var/mob/living/carbon/human/CH = victim
meat_name = CH.species?.name || meat_name
if(istype(digest_product, /decl/reagent/nutriment/protein))
if(ispath(digest_product_type, /decl/reagent/nutriment/protein))
data = list("[meat_name] meat" = reagent_amount)
result.reagents.add_reagent(victim.get_digestion_product(), reagent_amount, data)
result.reagents.add_reagent(digest_product_type, reagent_amount, data)
if (victim.reagents)
victim.reagents.trans_to(result, victim.reagents.total_volume)
@@ -102,10 +102,9 @@
for (var/obj/item/I in CI.container)
if (I.reagents && I.reagents.total_volume)
for (var/_R in I.reagents.reagent_volumes)
var/decl/reagent/R = decls_repository.get_decl(_R)
if (istype(R, /decl/reagent/nutriment/triglyceride/oil))
if (ispath(_R, /decl/reagent/nutriment/triglyceride/oil))
total_oil += I.reagents.reagent_volumes[_R]
if (R.type != our_oil.type)
if (_R != our_oil.type)
total_removed += I.reagents.reagent_volumes[_R]
I.reagents.remove_reagent(_R, I.reagents.reagent_volumes[_R])
else
@@ -206,8 +205,7 @@
//So for now, restrict to oil only
var/amount = 0
for (var/_R in I.reagents.reagent_volumes)
var/decl/reagent/R = decls_repository.get_decl(_R)
if (istype(R, /decl/reagent/nutriment/triglyceride/oil))
if (ispath(_R, /decl/reagent/nutriment/triglyceride/oil))
var/delta = REAGENTS_FREE_SPACE(oil)
delta = min(delta, I.reagents.reagent_volumes[_R])
oil.add_reagent(_R, delta)
+2 -2
View File
@@ -37,7 +37,7 @@
var/list/reagents // example: = list(/decl/reagent/drink/berryjuice = 5) // do not list same reagent twice
var/list/items // example: = list(/obj/item/crowbar, /obj/item/welder) // place /foo/bar before /foo
var/list/fruit // example: = list("fruit" = 3)
var/decl/reagent/coating = null//Required coating on all items in the recipe. The default value of null explitly requires no coating
var/coating = null//Required coating on all items in the recipe. The default value of null explitly requires no coating
//A value of -1 is permissive and cares not for any coatings
//Any typepath indicates a specific coating that should be present
//Coatings are used for batter, breadcrumbs, beer-batter, colonel's secret coating, etc
@@ -172,7 +172,7 @@
if (coating == -1)
return TRUE //-1 value doesnt care
return !coating || (S.coating.type == coating)
return !coating || (S.coating == coating)
//general version
/decl/recipe/proc/make(var/obj/container as obj)