Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
There is some minor issue that I've encountered which isn't a bug exactly - it is a warning in the startup dev log. Idk if it is important information or not, I just thought I'd let you know.
Possible typo: FoodVariety_NeedDef. Using def type name not preceded by "Of"
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Warning (string)
RimWorld.DefOfHelper:EnsureInitializedInCtor (System.Type)
VarietyMatters.DefOf_VarietyMatters:.cctor ()
System.Reflection.MonoField:SetValue (object,object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Globalization.CultureInfo)
System.Reflection.FieldInfo:SetValue (object,object)
RimWorld.DefOfHelper:BindDefsFor (System.Type)
System.Threading.Tasks.Parallel/<>c__DisplayClass31_0`2<System.Type, object>:<ForEachWorker>b__0 (int)
System.Threading.Tasks.Parallel/<>c__DisplayClass17_0`1<object>:<ForWorker>b__1 ()
System.Threading.Tasks.Task:InnerInvoke ()
System.Threading.Tasks.Task:InnerInvokeWithArg (System.Threading.Tasks.Task)
System.Threading.Tasks.Task/<>c__DisplayClass178_0:<ExecuteSelfReplicating>b__0 (object)
System.Threading.Tasks.Task:InnerInvoke ()
System.Threading.Tasks.Task:Execute ()
System.Threading.Tasks.Task:ExecutionContextCallback (object)
System.Threading.ExecutionContext:RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
System.Threading.Tasks.Task:ExecuteWithThreadLocal (System.Threading.Tasks.Task&)
System.Threading.Tasks.Task:ExecuteEntry (bool)
System.Threading.Tasks.Task:System.Threading.IThreadPoolWorkItem.ExecuteWorkItem ()
System.Threading.ThreadPoolWorkQueue:Dispatch ()
System.Threading._ThreadPoolWaitCallback:PerformWaitCallback ()
I'll fix it next update
Thank you for the good mod.
The problem has been occurring since the last update.
Pawn is not eating at all.
Here is the log:
Exception in Verse.AI.ThinkNode_Priority TryIssueJobPackage: System.NullReferenceException: Object reference not set to an instance of an object
at VarietyMatters.VarietyRecord.GetVarietyRecord (Verse.Pawn trackedPawn) [0x00000] in <8c936639f54746f392dbfc2d223397be>:0
at VarietyMatters.Patch_FoodUtility.Postfix_FoodOptimality (System.Single& __result, Verse.Pawn eater, Verse.Thing foodSource, System.Boolean takingToInventory) [0x00004] in <8c936639f54746f392dbfc2d223397be>:0
at (wrapper dynamic-method) RimWorld.FoodUtility.RimWorld.FoodUtility.FoodOptimality_Patch2(Verse.Pawn,Verse.Thing,Verse.ThingDef,single,bool)
at RimWorld.FoodUtility.SpawnedFoodSearchInnerScan (Verse.Pawn eater, Verse.IntVec3 root, System.Collections.Generic.List`1[T] searchSet, Verse.AI.PathEndMode peMode, Verse.TraverseParms traverseParams, System.Single maxDistance, System.Predicate`1[T] validator) [0x00066] in <cd7169108ea74757aa50c5b33d275c15>:0
at (wrapper dynamic-method) RimWorld.FoodUtility.RimWorld.FoodUtility.BestFoodSourceOnMap_NewTemp_Patch0(Verse.Pawn,Verse.Pawn,bool,Verse.ThingDef&,RimWorld.FoodPreferability,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,RimWorld.FoodPreferability,System.Nullable`1<single>,bool)
at RimWorld.FoodUtility.TryFindBestFoodSourceFor_NewTemp (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) [0x00172] in <cd7169108ea74757aa50c5b33d275c15>:0
at RimWorld.ThinkNode_ConditionalMustKeepLyingDown.Satisfied (Verse.Pawn pawn) [0x000c6] in <cd7169108ea74757aa50c5b33d275c15>:0
at (wrapper dynamic-method) Verse.AI.ThinkNode_Conditional.Verse.AI.ThinkNode_Conditional.TryIssueJobPackage_Patch1(Verse.AI.ThinkNode_Conditional,Verse.Pawn,Verse.AI.JobIssueParams)
at (wrapper dynamic-method) Verse.AI.ThinkNode_Priority.Verse.AI.ThinkNode_Priority.TryIssueJobPackage_Patch1(Verse.AI.ThinkNode_Priority,Verse.Pawn,Verse.AI.JobIssueParams)
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 39)
Exception in Verse.AI.ThinkNode_PrioritySorter TryIssueJobPackage: System.NullReferenceException: Object reference not set to an instance of an object
at VarietyMatters.VarietyRecord.GetVarietyRecord (Verse.Pawn trackedPawn) [0x00000] in <8c936639f54746f392dbfc2d223397be>:0
at VarietyMatters.Patch_FoodUtility.Postfix_FoodOptimality (System.Single& __result, Verse.Pawn eater, Verse.Thing foodSource, System.Boolean takingToInventory) [0x00004] in <8c936639f54746f392dbfc2d223397be>:0
at (wrapper dynamic-method) RimWorld.FoodUtility.RimWorld.FoodUtility.FoodOptimality_Patch2(Verse.Pawn,Verse.Thing,Verse.ThingDef,single,bool)
at RimWorld.FoodUtility.SpawnedFoodSearchInnerScan (Verse.Pawn eater, Verse.IntVec3 root, System.Collections.Generic.List`1[T] searchSet, Verse.AI.PathEndMode peMode, Verse.TraverseParms traverseParams, System.Single maxDistance, System.Predicate`1[T] validator) [0x00066] in <cd7169108ea74757aa50c5b33d275c15>:0
at (wrapper dynamic-method) RimWorld.FoodUtility.RimWorld.FoodUtility.BestFoodSourceOnMap_NewTemp_Patch0(Verse.Pawn,Verse.Pawn,bool,Verse.ThingDef&,RimWorld.FoodPreferability,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,RimWorld.FoodPreferability,System.Nullable`1<single>,bool)
at RimWorld.FoodUtility.TryFindBestFoodSourceFor_NewTemp (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) [0x00172] in <cd7169108ea74757aa50c5b33d275c15>:0
at (wrapper dynamic-method) RimWorld.JobGiver_GetFood.RimWorld.JobGiver_GetFood.TryGiveJob_Patch2(RimWorld.JobGiver_GetFood,Verse.Pawn)
at (wrapper dynamic-method) Verse.AI.ThinkNode_JobGiver.Verse.AI.ThinkNode_JobGiver.TryIssueJobPackage_Patch1(Verse.AI.ThinkNode_JobGiver,Verse.Pawn,Verse.AI.JobIssueParams)
at (wrapper dynamic-method) Verse.AI.ThinkNode_PrioritySorter.Verse.AI.ThinkNode_PrioritySorter.TryIssueJobPackage_Patch1(Verse.AI.ThinkNode_PrioritySorter,Verse.Pawn,Verse.AI.JobIssueParams)
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 39)
I have some colonists with the genetic trait "Robust Digestion", which gives them a 180% nutrition boost from raw food, and also removes the penalties for consuming raw food.
However putting them on a diet of uncooked food makes their variety meter plummet to zero, with all memories being along the lines of "raw food... this isn't variety, it's a survival test", or "too raw for my liking...".
To be fair, everyone with this trait also has an ideoligion that means they hate fruit and vegetables (which all the colony's kids decided to then adopt !), so their variety *is* on the poor side, but we hunt a range of animals and have both duck and chicken eggs, so it feels like it shouldn't bottom out at zero.
I'm not sure of the best mechanic fix for this, maybe some sort of a variety buff to raw food for those with Robust Digestion?
Can you check whether it works as intended for you now for raw foods with the Robust Digestion?
Prior to this is also a warning:
RimWorld then crashes 1-2 seconds after loading my save, which is new, but I'm not sure that's this mod's fault, as it *also* crashes when I remove VarietyMatters from my save! :)
Looks like the crash I mentioned was a false alarm and my save was bugged. Rolling back to my save before last worked fine.
Possibly relevant stack traces below.
31 occurances:
1 occurance:
1 occurance:
8 occurances:
regarding the error logs, it seems like you had another issue with your save, where pawns were deleted, probably because you removed a faction by disabling another mod, you can ignore the logs of my mod since they are just warning you that it couldn't find these pawns anymore
I do have one pawn who loves insect meat (and gets a mood buff from eating it), and seems to be ignoring everything else in favour of its consumption, which I'm guessing is vanilla behaviour.
Thanks again for all the speedy updates and a fantastic mod!
Exception in Verse.AI.ThinkNode_PrioritySorter TryIssueJobPackage: System.NullReferenceException: Object reference not set to an instance of an object
at VarietyMatters.VarietyRecord.AddVarietyRecord (Verse.Pawn pawn) [0x00021] in <ed55664b4ba349bfa1ea24c4138ebdea>:0
at VarietyMatters.VarietyRecord.GetVarietyRecord (Verse.Pawn trackedPawn) [0x0001d] in <ed55664b4ba349bfa1ea24c4138ebdea>:0
at VarietyMatters.Patch_FoodUtility.Postfix_FoodOptimality (System.Single& __result, Verse.Pawn eater, Verse.Thing foodSource, System.Boolean takingToInventory) [0x00004] in <ed55664b4ba349bfa1ea24c4138ebdea>:0
at (wrapper dynamic-method) RimWorld.FoodUtility.RimWorld.FoodUtility.FoodOptimality_Patch4(Verse.Pawn,Verse.Thing,Verse.ThingDef,single,bool)
at (wrapper dynamic-method) RimWorld.FoodUtility.RimWorld.FoodUtility.SpawnedFoodSearchInnerScan_Patch1(Verse.Pawn,Verse.IntVec3,System.Collections.Generic.List`1<Verse.Thing>,Verse.AI.PathEndMode,Verse.TraverseParms,single,System.Predicate`1<Verse.Thing>)
at (wrapper dynamic-method) RimWorld.FoodUtility.RimWorld.FoodUtility.BestFoodSourceOnMap_NewTemp_Patch2(Verse.Pawn,Verse.Pawn,bool,Verse.ThingDef&,RimWorld.FoodPreferability,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,RimWorld.FoodPreferability,System.Nullable`1<single>,bool)
at (wrapper dynamic-method) RimWorld.FoodUtility.RimWorld.FoodUtility.TryFindBestFoodSourceFor_NewTemp_Patch2(Verse.Pawn,Verse.Pawn,bool,Verse.Thing&,Verse.ThingDef&,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,RimWorld.FoodPreferability)
at (wrapper dynamic-method) RimWorld.JobGiver_GetFood.RimWorld.JobGiver_GetFood.TryGiveJob_Patch3(RimWorld.JobGiver_GetFood,Verse.Pawn)
at Verse.AI.ThinkNode_JobGiver.TryIssueJobPackage (Verse.Pawn pawn, Verse.AI.JobIssueParams jobParams) [0x00000] in <cd7169108ea74757aa50c5b33d275c15>:0
at Verse.AI.ThinkNode_PrioritySorter.TryIssueJobPackage (Verse.Pawn pawn, Verse.AI.JobIssueParams jobParams) [0x000fb] in <cd7169108ea74757aa50c5b33d275c15>:0
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch8 (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) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.DetermineNextJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.ThinkTreeDef&)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch2 (Verse.AI.Pawn_JobTracker,Verse.AI.JobCondition,bool,bool)
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.JobTrackerTick_Patch1 (Verse.AI.Pawn_JobTracker)
(wrapper dynamic-method) Verse.Pawn:Verse.Pawn.Tick_Patch2 (Verse.Pawn)
Verse.TickList:Tick ()
(wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch5 (Verse.TickManager)
Verse.TickManager:TickManagerUpdate ()
(wrapper dynamic-method) Verse.Game:Verse.Game.UpdatePlay_Patch2 (Verse.Game)
(wrapper dynamic-method) Verse.Root_Play:Verse.Root_Play.Update_Patch1 (Verse.Root_Play)
... and this:
Jono threw exception in WorkGiver DoctorFeedAnimals: System.NullReferenceException: Object reference not set to an instance of an object
at VarietyMatters.VarietyRecord.AddVarietyRecord (Verse.Pawn pawn) [0x00021] in <ed55664b4ba349bfa1ea24c4138ebdea>:0
at VarietyMatters.VarietyRecord.GetVarietyRecord (Verse.Pawn trackedPawn) [0x0001d] in <ed55664b4ba349bfa1ea24c4138ebdea>:0
at VarietyMatters.Patch_FoodUtility.Postfix_FoodOptimality (System.Single& __result, Verse.Pawn eater, Verse.Thing foodSource, System.Boolean takingToInventory) [0x00004] in <ed55664b4ba349bfa1ea24c4138ebdea>:0
at (wrapper dynamic-method) RimWorld.FoodUtility.RimWorld.FoodUtility.FoodOptimality_Patch4(Verse.Pawn,Verse.Thing,Verse.ThingDef,single,bool)
at (wrapper dynamic-method) RimWorld.FoodUtility.RimWorld.FoodUtility.SpawnedFoodSearchInnerScan_Patch1(Verse.Pawn,Verse.IntVec3,System.Collections.Generic.List`1<Verse.Thing>,Verse.AI.PathEndMode,Verse.TraverseParms,single,System.Predicate`1<Verse.Thing>)
at (wrapper dynamic-method) RimWorld.FoodUtility.RimWorld.FoodUtility.BestFoodSourceOnMap_NewTemp_Patch2(Verse.Pawn,Verse.Pawn,bool,Verse.ThingDef&,RimWorld.FoodPreferability,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,RimWorld.FoodPreferability,System.Nullable`1<single>,bool)
at (wrapper dynamic-method) RimWorld.FoodUtility.RimWorld.FoodUtility.TryFindBestFoodSourceFor_NewTemp_Patch2(Verse.Pawn,Verse.Pawn,bool,Verse.Thing&,Verse.ThingDef&,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,RimWorld.FoodPreferability)
at (wrapper dynamic-method) RimWorld.FoodUtility.RimWorld.FoodUtility.TryFindBestFoodSourceFor_NewTemp_Patch2(Verse.Pawn,Verse.Pawn,bool,Verse.Thing&,Verse.ThingDef&,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,RimWorld.FoodPreferability)
at RimWorld.WorkGiver_FeedPatient.TryFindBestFoodSourceFor (Verse.Pawn pawn, Verse.Pawn patient, Verse.Thing& foodSource, Verse.ThingDef& foodDef) [0x00012] in <cd7169108ea74757aa50c5b33d275c15>:0
at RimWorld.WorkGiver_FeedPatient.HasJobOnThing (Verse.Pawn pawn, Verse.Thing t, System.Boolean forced) [0x000bb] in <cd7169108ea74757aa50c5b33d275c15>:0
at RimWorld.JobGiver_Work+<>c__DisplayClass3_1.<TryIssueJobPackage>b__0 (Verse.Thing t) [0x00013] in <cd7169108ea74757aa50c5b33d275c15>:0
at Verse.GenClosest+<>c__DisplayClass2_0.<ClosestThingReachable>b__0 (Verse.Thing t) [0x00034] in <cd7169108ea74757aa50c5b33d275c15>:0
at Verse.GenClosest.<ClosestThing_Global>g__Process|5_0 (Verse.Thing t, Verse.GenClosest+<>c__DisplayClass5_0& ) [0x00047] in <cd7169108ea74757aa50c5b33d275c15>:0
at Verse.GenClosest.ClosestThing_Global (Verse.IntVec3 center, System.Collections.IEnumerable searchSet, System.Single maxDistance, System.Predicate`1[T] validator, System.Func`2[T,TResult] priorityGetter) [0x0008d] in <cd7169108ea74757aa50c5b33d275c15>:0
at Verse.GenClosest.ClosestThingReachable (Verse.IntVec3 root, Verse.Map map, Verse.ThingRequest thingReq, Verse.AI.PathEndMode peMode, Verse.TraverseParms traverseParams, System.Single maxDistance, System.Predicate`1[T] validator, System.Collections.Generic.IEnumerable`1[T] customGlobalSearchSet, System.Int32 searchRegionsMin, System.Int32 searchRegionsMax, System.Boolean forceAllowGlobalSearch, Verse.RegionType traversableRegionTypes, System.Boolean ignoreEntirelyForbiddenRegions) [0x0014c] in <cd7169108ea74757aa50c5b33d275c15>:0
at (wrapper dynamic-method) RimWorld.JobGiver_Work.RimWorld.JobGiver_Work.TryIssueJobPackage_Patch1(RimWorld.JobGiver_Work,Verse.Pawn,Verse.AI.JobIssueParams)
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch8 (string)
(wrapper dynamic-method) RimWorld.JobGiver_Work:RimWorld.JobGiver_Work.TryIssueJobPackage_Patch1 (RimWorld.JobGiver_Work,Verse.Pawn,Verse.AI.JobIssueParams)
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) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.DetermineNextJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.ThinkTreeDef&)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch2 (Verse.AI.Pawn_JobTracker,Verse.AI.JobCondition,bool,bool)
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.JobTrackerTick_Patch1 (Verse.AI.Pawn_JobTracker)
(wrapper dynamic-method) Verse.Pawn:Verse.Pawn.Tick_Patch2 (Verse.Pawn)
Verse.TickList:Tick ()
(wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch5 (Verse.TickManager)
Verse.TickManager:TickManagerUpdate ()
(wrapper dynamic-method) Verse.Game:Verse.Game.UpdatePlay_Patch2 (Verse.Game)
(wrapper dynamic-method) Verse.Root_Play:Verse.Root_Play.Update_Patch1 (Verse.Root_Play)
The latter appears to be from trying to feed animals at an animal hospital bed, improperly triggering a check on the animal's nonexistent variety need?