another fix for mergeables
This commit is contained in:
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
|
// 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/.
|
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
|
using Verse.AI;
|
||||||
|
|
||||||
namespace PerformanceFish.JobSystem;
|
namespace PerformanceFish.JobSystem;
|
||||||
|
|
||||||
public class WorkGiver_MergeOptimization : ClassWithFishPatches
|
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 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 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)
|
if (t.GetSlotGroup() is null)
|
||||||
|
{
|
||||||
RemoveFromListerMergeables(t);
|
RemoveFromListerMergeables(t);
|
||||||
|
__result = null;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void RemoveFromListerMergeables(Thing t)
|
private static void RemoveFromListerMergeables(Thing t)
|
||||||
|
|||||||
Reference in New Issue
Block a user