RimWorld

RimWorld

Tree Chopping Speed Stat
Frostiken 24 Nov, 2023 @ 11:50am
Alpha Mythology minor incompatability
There's an imcompatability between Tree Chopping Speed Stat mod and Mythology, and it revolves entirely around the Kappa creature.

The Kappa creature doesn't have Tree Chopping Speed assigned to it, when it tries to go help with harvesting, you get these errors spit out at you. Now, the Kappa *did* go and harvest plants, so I don't think it actually harmed anything, but I reloaded my save and as long as the Kappa is part of my colony, these errors spit out. Deleting/ Releasing it before harvest time stops them from triggering.

I'm not sure how much of an error it is. But if I'm reading this error correctly, it's basically trying to send the Kappa to harvest, and referencing the Tree Chopping Speed (which also covers plant harvesting)

Note that this error was from a TEST ENVIRONMENT. The only mods running are:

Harmony
Visual Exceptions
HugsLib
Vanilla Framework
Alpha Mythology
Tree Chopping Speed Stat

I was able to duplicate this by just using dev mode to train a Kappa, grow some crops, and then begin harvesting.

I assume Tree Chopping just never intended to account for creatures harvesting crops.

Exception in Verse.AI.ThinkNode_Tagger TryIssueJobPackage: System.NullReferenceException: Object reference not set to an instance of an object at TreeChopSpeed.PlantUtility_PawnWillingToCutPlant_Job.Prefix (System.Boolean& __result, Verse.Thing plant, Verse.Pawn pawn) [0x0001d] in <28f4f5e0ae6f43f99d54582fb73986cd>:0 at (wrapper dynamic-method) RimWorld.PlantUtility.RimWorld.PlantUtility.PawnWillingToCutPlant_Job_Patch1(Verse.Thing,Verse.Pawn) at RimWorld.WorkGiver_GrowerHarvest.HasJobOnCell (Verse.Pawn pawn, Verse.IntVec3 c, System.Boolean forced) [0x00095] in <cd7169108ea74757aa50c5b33d275c15>:0 at RimWorld.WorkGiver_GrowerHarvest.JobOnCell (Verse.Pawn pawn, Verse.IntVec3 c, System.Boolean forced) [0x0005a] in <cd7169108ea74757aa50c5b33d275c15>:0 at AnimalBehaviours.JobGiver_Harvest.TryIssueJobPackage (Verse.Pawn pawn, Verse.AI.JobIssueParams jobParams) [0x006a1] in <b5daf1036c9b4a0c87d62cf7fba01b4b>:0 at (wrapper dynamic-method) Verse.AI.ThinkNode_Priority.Verse.AI.ThinkNode_Priority.TryIssueJobPackage_Patch0(Verse.AI.ThinkNode_Priority,Verse.Pawn,Verse.AI.JobIssueParams) UnityEngine.StackTraceUtility:ExtractStackTrace () (wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch1 (string) (wrapper dynamic-method) Verse.AI.ThinkNode_Priority:Verse.AI.ThinkNode_Priority.TryIssueJobPackage_Patch0 (Verse.AI.ThinkNode_Priority,Verse.Pawn,Verse.AI.JobIssueParams) Verse.AI.ThinkNode_Tagger:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams) (wrapper dynamic-method) Verse.AI.ThinkNode_Priority:Verse.AI.ThinkNode_Priority.TryIssueJobPackage_Patch0 (Verse.AI.ThinkNode_Priority,Verse.Pawn,Verse.AI.JobIssueParams) Verse.AI.ThinkNode_Conditional:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams) (wrapper dynamic-method) Verse.AI.ThinkNode_Priority:Verse.AI.ThinkNode_Priority.TryIssueJobPackage_Patch0 (Verse.AI.ThinkNode_Priority,Verse.Pawn,Verse.AI.JobIssueParams) Verse.AI.ThinkNode_ChancePerHour:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams) (wrapper dynamic-method) Verse.AI.ThinkNode_Priority:Verse.AI.ThinkNode_Priority.TryIssueJobPackage_Patch0 (Verse.AI.ThinkNode_Priority,Verse.Pawn,Verse.AI.JobIssueParams) Verse.AI.ThinkNode_Conditional:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams) (wrapper dynamic-method) Verse.AI.ThinkNode_Priority:Verse.AI.ThinkNode_Priority.TryIssueJobPackage_Patch0 (Verse.AI.ThinkNode_Priority,Verse.Pawn,Verse.AI.JobIssueParams) (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.DetermineNextJob_Patch0 (Verse.AI.Pawn_JobTracker,Verse.ThinkTreeDef&) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () Verse.AI.Pawn_JobTracker:EndCurrentJob (Verse.AI.JobCondition,bool,bool) Verse.AI.Pawn_JobTracker:JobTrackerTick () Verse.Pawn:Tick () (wrapper dynamic-method) Verse.TickList:Verse.TickList.Tick_Patch0 (Verse.TickList) (wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch2 (Verse.TickManager) Verse.TickManager:TickManagerUpdate () (wrapper dynamic-method) Verse.Game:Verse.Game.UpdatePlay_Patch0 (Verse.Game) (wrapper dynamic-method) Verse.Root_Play:Verse.Root_Play.Update_Patch0 (Verse.Root_Play)