another fix for mergeables

This commit is contained in:
bbradson
2022-10-26 20:37:29 +02:00
parent 407e09e474
commit fbe078f389
3 changed files with 8 additions and 1 deletions
Binary file not shown.
Binary file not shown.
@@ -3,6 +3,8 @@
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
using Verse.AI;
namespace PerformanceFish.JobSystem;
public class WorkGiver_MergeOptimization : ClassWithFishPatches
@@ -12,10 +14,15 @@ public class WorkGiver_MergeOptimization : ClassWithFishPatches
public override string Description => "Removes mergeables from ListerMergeables if they no longer qualify as mergeable when trying to check for a merging job on them. Vanilla RimWorld just fails and keeps them in";
public override MethodBase TargetMethodInfo => AccessTools.Method(typeof(WorkGiver_Merge), nameof(WorkGiver_Merge.JobOnThing));
public static void Prefix(Thing t)
public static bool Prefix(Thing t, ref Job? __result)
{
if (t.GetSlotGroup() is null)
{
RemoveFromListerMergeables(t);
__result = null;
return false;
}
return true;
}
private static void RemoveFromListerMergeables(Thing t)