From f4c6dc1e346cf77fa17f51b681ca25c2e8a0158d Mon Sep 17 00:00:00 2001 From: Sn1p3rr3c0n Date: Fri, 3 Mar 2023 13:47:33 +0100 Subject: [PATCH] fixed bug regarding meals introduced with #684 in #685 --- .../SAL3/Tools/ProjectSAL_Utilities.cs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Source/ProjectRimFactory/SAL3/Tools/ProjectSAL_Utilities.cs b/Source/ProjectRimFactory/SAL3/Tools/ProjectSAL_Utilities.cs index 419ea4b7..e352842e 100644 --- a/Source/ProjectRimFactory/SAL3/Tools/ProjectSAL_Utilities.cs +++ b/Source/ProjectRimFactory/SAL3/Tools/ProjectSAL_Utilities.cs @@ -16,19 +16,23 @@ static class ProjectSAL_Utilities /// public static Thing CalculateDominantIngredient(RecipeDef RecipeDef, List ingredients) { - if (!ingredients.NullOrEmpty()) + //Get Things that are Stuff + var stuffs = ingredients.Where(t => t.def.IsStuff).ToList(); + + if (!ingredients.NullOrEmpty() && stuffs.Any()) { if (RecipeDef.productHasIngredientStuff) { - return ingredients[0]; + return stuffs[0]; } if (RecipeDef.products.Any((ThingDefCountClass x) => x.thingDef.MadeFromStuff)) { - return ingredients.Where((Thing x) => x.def.IsStuff).RandomElementByWeight((Thing x) => x.stackCount); + return stuffs.Where((Thing x) => x.def.IsStuff).RandomElementByWeight((Thing x) => x.stackCount); } - return ingredients.RandomElementByWeight((Thing x) => x.stackCount); + return stuffs.RandomElementByWeight((Thing x) => x.stackCount); ; } - return null; + //Return steel instead of Null to prevent null ref in some cases + return ThingMaker.MakeThing(ThingDefOf.Steel); } } }