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);
}
}
}