Skip to content

Gastronomy: Pawns cannot eat (conflict with Animal Controls) #844

@drivemed

Description

@drivemed

Describe the bug
What happened?
My pawns cannot eat any food by themselves if a table is set to dining, it doesn't matter if the restaurant is open or not on the cash register option. They can eat at the restaurant if they're allowed on the cash register options, guests also eat at the restaurant without problems. Disabling dining on all tables makes them able to eat again.

To Reproduce
Steps to reproduce the behavior:

  1. Click on a table
  2. Set it for dining
  3. Pawns are unable to eat by themselves

Console log
https://gist.github.com/HugsLibRecordKeeper/dd24880a4e36d33513c798afe28f6481

Error stacktrace
Exception in Verse.AI.ThinkNode_PrioritySorter TryIssueJobPackage: System.NotImplementedException: The method or operation is not implemented.
[Ref CF796F41]
at Gastronomy.Dining.DiningSpot.get_DispensableDef () [0x00000] in :0
at RimWorld.FoodUtility.GetFinalIngestibleDef (Verse.Thing foodSource, System.Boolean harvest) [0x0000a] in <630e2863bc9a4a3493f2eff01e3a9556>:0
at RimWorld.FoodUtility.SpawnedFoodSearchInnerScan (Verse.Pawn eater, Verse.IntVec3 root, System.Collections.Generic.List1[T] searchSet, Verse.AI.PathEndMode peMode, Verse.TraverseParms traverseParams, System.Single maxDistance, System.Predicate1[T] validator) [0x0005b] in <630e2863bc9a4a3493f2eff01e3a9556>:0
at RimWorld.FoodUtility.BestFoodSourceOnMap (Verse.Pawn getter, Verse.Pawn eater, System.Boolean desperate, Verse.ThingDef& foodDef, RimWorld.FoodPreferability maxPref, System.Boolean allowPlant, System.Boolean allowDrug, System.Boolean allowCorpse, System.Boolean allowDispenserFull, System.Boolean allowDispenserEmpty, System.Boolean allowForbidden, System.Boolean allowSociallyImproper, System.Boolean allowHarvest, System.Boolean forceScanWholeMap, System.Boolean ignoreReservations, System.Boolean calculateWantedStackCount, RimWorld.FoodPreferability minPrefOverride, System.Nullable1[T] minNutrition, System.Boolean allowVenerated) [0x00299] in <630e2863bc9a4a3493f2eff01e3a9556>:0 - TRANSPILER net.quicksilverfox.rimworld.mod.animalslogic: List1 AnimalsLogic.AnimalsUseDispenser:BestFoodSourcePatch(IEnumerable`1 instructions)
- POSTFIX Orion.Hospitality: Void Hospitality.Patches.FoodUtility_Patch+BestFoodSourceOnMapPatch:Postfix(Pawn getter, Pawn eater, Boolean desperate, ThingDef foodDef, Thing& __result)
at RimWorld.FoodUtility.TryFindBestFoodSourceFor (Verse.Pawn getter, Verse.Pawn eater, System.Boolean desperate, Verse.Thing& foodSource, Verse.ThingDef& foodDef, System.Boolean canRefillDispenser, System.Boolean canUseInventory, System.Boolean canUsePackAnimalInventory, System.Boolean allowForbidden, System.Boolean allowCorpse, System.Boolean allowSociallyImproper, System.Boolean allowHarvest, System.Boolean forceScanWholeMap, System.Boolean ignoreReservations, System.Boolean calculateWantedStackCount, System.Boolean allowVenerated, RimWorld.FoodPreferability minPrefOverride) [0x0027a] in <630e2863bc9a4a3493f2eff01e3a9556>:0
- PREFIX Orion.Gastronomy: Boolean Gastronomy.Dining._TryBestFoodSourceFor_Patch+TryFindBestFoodSourceFor:Prefix(Pawn getter, Pawn eater, Boolean& __result, Thing& foodSource, ThingDef& foodDef, Boolean& desperate)
- PREFIX cyanobot.toddlers: Void Toddlers.BestFoodSource_Patch:Prefix(Pawn eater, FoodPreferability& minPrefOverride)
- POSTFIX Orion.Hospitality: Void Hospitality.Patches.FoodUtility_Patch+TryFindBestFoodSourceFor_Patch:Postfix(Pawn getter, Pawn eater, Boolean& __result, Thing& foodSource, ThingDef& foodDef, Boolean& desperate)
at RimWorld.JobGiver_GetFood.TryGiveJob (Verse.Pawn pawn) [0x0011d] in <630e2863bc9a4a3493f2eff01e3a9556>:0
- PREFIX OskarPotocki.VFECore: Boolean AnimalBehaviours.VanillaExpandedFramework_JobGiver_GetFood_GetPriority_Patch:StopEatingThings(Pawn pawn)
- PREFIX rimworld.biomes.core: Boolean BiomesCore.Patches.JobGiver_GetFood_TryGiveJob_Patch:Prefix(Job& __result, Pawn pawn, HungerCategory ___minCategory, Single ___maxLevelPercentage, JobGiver_GetFood __instance)
- POSTFIX Orion.Gastronomy: Void Gastronomy.Dining._JobGiver_GetFood_Patch+TryGiveJob:Postfix(Job& __result, Pawn pawn)
at Verse.AI.ThinkNode_JobGiver.TryIssueJobPackage (Verse.Pawn pawn, Verse.AI.JobIssueParams jobParams) [0x00000] in <630e2863bc9a4a3493f2eff01e3a9556>:0
at Verse.AI.ThinkNode_PrioritySorter.TryIssueJobPackage (Verse.Pawn pawn, Verse.AI.JobIssueParams jobParams) [0x000fb] in <630e2863bc9a4a3493f2eff01e3a9556>:0
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Log.Error_Patch4 (string)
Verse.AI.ThinkNode_PrioritySorter:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_Tagger:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_Subtree:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_Conditional:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.AI.Pawn_JobTracker.DetermineNextJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.ThinkTreeDef&,bool)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Glue:AbiFixup<Verse.AI.ThinkResult Verse.AI.Pawn_JobTracker:DetermineNextJob(Verse.ThinkTreeDef&, System.Boolean),Verse.AI.ThinkResult Verse.AI.Pawn_JobTracker.DetermineNextJob_Patch1(Verse.AI.Pawn_JobTracker, Verse.ThinkTreeDef&, System.Boolean)> (Verse.AI.Pawn_JobTracker,Verse.AI.ThinkResult&,Verse.ThinkTreeDef&,bool)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.AI.Pawn_JobTracker.TryFindAndStartJob_Patch1 (Verse.AI.Pawn_JobTracker)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch2 (Verse.AI.Pawn_JobTracker,Verse.AI.JobCondition,bool,bool)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.AI.Pawn_JobTracker.JobTrackerTick_Patch0 (Verse.AI.Pawn_JobTracker)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Pawn.Tick_Patch1 (Verse.Pawn)
Verse.TickList:Tick ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.TickManager.DoSingleTick_Patch3 (Verse.TickManager)
Verse.TickManager:TickManagerUpdate ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Game.UpdatePlay_Patch2 (Verse.Game)
Verse.Root_Play:Update ()

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugThis is a bug in a mod.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions