[1.3] Miscellaneous w MAI+Robots

Started by Haplo, May 16, 2014, 05:54:01 AM

Previous topic - Next topic

Ruisuki


NeoSono


Haplo

Quote from: themadgunman on July 30, 2018, 04:56:48 PM
its a Thingdef error caused by the fact they changed the MeleeAttackVerb syntax i believe, it only occurs after a bot has tried to melee an object so its was annoying to trap, in RPP i  changed Verb_MeleeAttack to Verb_MeleeAttackDamage and it seemed fine
Thank you for the info. I've looked into the other races and I believe the verb definition is an old part from pre b18 that isn't really needed anymore. For now I've fully removed that part. Please let me know if someone has problems without these verbs.
Unfortunately I'm out of town for a few days and can't do anything in the next few days at all, so hopefully these changes I pushed to GitHub are working without problems 8)

Haplo

Downgraded my working mods to 0.19.0
They can be found on GitHub again :D

rawrfisher

#2314
This may as well be a book of random mental discharge on my part

System.Reflection.TargetException: Non-static field requires a target
at System.Reflection.MonoField.GetValue (object) [0x00072] in /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoField.cs:119
at WorkTab.VanillaWorkSettings.GetVanillaPriority (Verse.Pawn,Verse.WorkTypeDef) <IL 0x00043, 0x00098>
at WorkTab.WorkPriorityTracker..ctor (Verse.Pawn,RimWorld.WorkGiverDef) <IL 0x00028, 0x00057>
at WorkTab.PawnPriorityTracker..ctor (Verse.Pawn) <IL 0x00083, 0x002bb>
at WorkTab.PriorityManager.get_Item (Verse.Pawn) <IL 0x00011, 0x0007d>
at WorkTab.Pawn_Extensions.GetPriority (Verse.Pawn,RimWorld.WorkGiverDef,int) <IL 0x0001e, 0x00083>
at WorkTab.Pawn_Extensions/<>c__DisplayClass0_0.<GetPriority>b__0 (RimWorld.WorkGiverDef) <IL 0x0000d, 0x0002c>
at System.Linq.Enumerable/<CreateSelectIterator>c__Iterator10`2<RimWorld.WorkGiverDef, int>.MoveNext () <IL 0x00066, 0x00102>
at System.Linq.Enumerable/<CreateWhereIterator>c__Iterator1D`1<int>.MoveNext () <IL 0x0008f, 0x0015d>
at System.Linq.Enumerable.Any<int> (System.Collections.Generic.IEnumerable`1<int>) <IL 0x00025, 0x0012c>
at WorkTab.Pawn_Extensions.GetPriority (Verse.Pawn,Verse.WorkTypeDef,int) <IL 0x0006b, 0x0017b>
at WorkTab.Pawn_WorkSettings_GetPriority.Prefix (Verse.WorkTypeDef,RimWorld.Pawn_WorkSettings,int&) <IL 0x00009, 0x0004d>
at (wrapper dynamic-method) RimWorld.Pawn_WorkSettings.GetPriority_Patch1 (object,Verse.WorkTypeDef) <IL 0x0000d, 0x0003f>
at RimWorld.Pawn_WorkSettings.WorkIsActive (Verse.WorkTypeDef) [0x00009] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\AI\Pawn_WorkSettings.cs:167
at AIRobot.X2_AIRobot_Pawn_WorkSettings.SetPriority (Verse.WorkTypeDef,int) <IL 0x0001c, 0x00071>
at AIRobot.X2_AIRobot_Pawn_WorkSettings.EnableAndInitialize () <IL 0x00066, 0x001e5>
at AIRobot.X2_AIRobot_Pawn_WorkSettings..ctor (Verse.Pawn) <IL 0x00011, 0x00038>
at AIRobot.X2_Building_AIRobotCreator.CreateRobot (string,Verse.IntVec3,Verse.Map,RimWorld.Faction) <IL 0x00065, 0x0022e>
at AIRobot.X2_Building_AIRobotRechargeStation.Button_SpawnBot () <IL 0x00063, 0x00138>
at Verse.Command_Action.ProcessInput (UnityEngine.Event) [0x0000e] in C:\Dev\RimWorld\Assets\Scripts\Verse\UI\Gizmos\Command_Action.cs:18
at Verse.GizmoGridDrawer.DrawGizmoGrid (System.Collections.Generic.IEnumerable`1<Verse.Gizmo>,single,Verse.Gizmo&) [0x003fe] in C:\Dev\RimWorld\Assets\Scripts\Verse\UI\Gizmos\GizmoGridDrawer.cs:162
at (wrapper dynamic-method) RimWorld.InspectGizmoGrid.DrawInspectGizmoGridFor_Patch0 (System.Collections.Generic.IEnumerable`1<object>,Verse.Gizmo&) <IL 0x00230, 0x007c2>

Verse.Log:Error(String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:78)
Verse.Log:ErrorOnce(String, Int32, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:105)
RimWorld.InspectGizmoGrid:DrawInspectGizmoGridFor_Patch0(IEnumerable`1, Gizmo&)
RimWorld.MainTabWindow_Inspect:DrawInspectGizmos() (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\MainButtons\MainTabWindows\MainTabWindow_Inspect.cs:94)
RimWorld.InspectPaneUtility:ExtraOnGUI(IInspectPane) (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\MainButtons\Inspect\InspectPaneUtility.cs:128)
RimWorld.MainTabWindow_Inspect:ExtraOnGUI() (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\MainButtons\MainTabWindows\MainTabWindow_Inspect.cs:70)
Verse.WindowStack:WindowStackOnGUI() (at C:\Dev\RimWorld\Assets\Scripts\Verse\UI\Windows\WindowStack.cs:169)
RimWorld.UIRoot_Play:UIRootOnGUI() (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\UIRoot_Play.cs:91)
Verse.Root:OnGUI() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\Root\Root.cs:164)


https://git.io/fNAYK

Bots will not activate.

Gonna toy around a bit to try fixing it. Was some issue with work tab after I updated it.


Exception in BreadthFirstTraverse: System.NullReferenceException: Object reference not set to an instance of an object
  at RimWorld.Bill_ProductionWithUft.get_BoundWorker () [0x000f2] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\Thing\Building\WorkTable\Bill_ProductionWithUft.cs:60
  at RimWorld.WorkGiver_DoBill.StartOrResumeBillJob (Verse.Pawn pawn, IBillGiver giver) [0x00103] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\AI\JobGivers\Work\WorkGivers\WorkGiver_DoBill.cs:167
  at RimWorld.WorkGiver_DoBill.JobOnThing (Verse.Pawn pawn, Verse.Thing thing, Boolean forced) [0x000c2] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\AI\JobGivers\Work\WorkGivers\WorkGiver_DoBill.cs:73
  at RimWorld.WorkGiver_Scanner.HasJobOnThing (Verse.Pawn pawn, Verse.Thing t, Boolean forced) [0x00005] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\AI\JobGivers\Work\WorkGiver.cs:93
  at AIRobot.X2_JobGiver_Work+<>c__DisplayClass1_1.<TryIssueJobPackage>b__0 (Verse.Thing t) [0x00000] in <filename unknown>:0
  at Verse.GenClosest+<RegionwiseBFSWorker>c__AnonStorey1.<>m__1 (Verse.Region r) [0x00125] in C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Gen\GenClosest.cs:287
  at Verse.RegionTraverser+BFSWorker.BreadthFirstTraverseWork (Verse.Region root, Verse.RegionEntryPredicate entryCondition, Verse.RegionProcessor regionProcessor, Int32 maxRegions, RegionType traversableRegionTypes) [0x00066] in C:\Dev\RimWorld\Assets\Scripts\Verse\Map\RegionsAndRooms\RegionTraverser.cs:246
  at Verse.RegionTraverser.BreadthFirstTraverse (Verse.Region root, Verse.RegionEntryPredicate entryCondition, Verse.RegionProcessor regionProcessor, Int32 maxRegions, RegionType traversableRegionTypes) [0x0005f] in C:\Dev\RimWorld\Assets\Scripts\Verse\Map\RegionsAndRooms\RegionTraverser.cs:166
Verse.Log:Error(String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:78)
Verse.RegionTraverser:BreadthFirstTraverse(Region, RegionEntryPredicate, RegionProcessor, Int32, RegionType) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Map\RegionsAndRooms\RegionTraverser.cs:170)
Verse.GenClosest:RegionwiseBFSWorker(IntVec3, Map, ThingRequest, PathEndMode, TraverseParms, Predicate`1, Func`2, Int32, Int32, Single, Int32&, RegionType, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Gen\GenClosest.cs:300)
Verse.GenClosest:ClosestThingReachable(IntVec3, Map, ThingRequest, PathEndMode, TraverseParms, Single, Predicate`1, IEnumerable`1, Int32, Int32, Boolean, RegionType, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Gen\GenClosest.cs:107)
AIRobot.X2_JobGiver_Work:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_PrioritySorter:TryIssueJobPackage(Pawn, JobIssueParams) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\ThinkNodes\ControlFlow\ThinkNode_Controls.cs:176)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\ThinkNodes\ControlFlow\ThinkNode_Controls.cs:18)
Verse.AI.ThinkNode_Conditional:TryIssueJobPackage(Pawn, JobIssueParams) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\ThinkNodes\ControlFlow\ThinkNode_Conditionals.cs:25)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\ThinkNodes\ControlFlow\ThinkNode_Controls.cs:18)
Verse.AI.Pawn_JobTracker:DetermineNextJob_Patch1(Object, ThinkTreeDef&)
Verse.AI.Pawn_JobTracker:CheckForJobOverride() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:456)
Verse.AI.<DoRecipeWork>c__AnonStorey1:<>m__1() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\DoBill\Toils_Recipe.cs:159)
Verse.AI.JobDriver:DriverTick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:345)
Verse.AI.Pawn_JobTracker:JobTrackerTick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:131)
Verse.Pawn:Tick_Patch1(Object)
AIRobot.X2_AIRobot:Tick()
Verse.TickList:Tick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Ticking\TickList.cs:125)
Verse.TickManager:DoSingleTick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Ticking\TickManager.cs:303)
Verse.TickManager:TickManagerUpdate() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Ticking\TickManager.cs:267)
Verse.Game:UpdatePlay() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Game.cs:512)
Verse.Root_Play:Update() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\Root\Root_Play.cs:99)


Randomly popped up but dont know for sure what the trigger was.  My guess was a crafting bot trying to resume a job it was working on

On misc incidents is it possible for the rescue pods to be empty?


Failed to find Verse.PawnKindDef named GrenadierDestructive. There are 155 defs of this type loaded.
Verse.Log:Error(String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:78)
Verse.DefDatabase`1:GetNamed(String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Defs\Databases\DefDatabase.cs:166)
Verse.PawnKindDef:Named(String) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Defs\DefTypes\PawnKindDef.cs:348)
ArtefactFound.Building_Artefact:SpawnSetup_Part2()
Verse.LongEventHandler:ExecuteToExecuteWhenFinished() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\LongEventHandler.cs:489)
Verse.LongEventHandler:ExecuteWhenFinished(Action) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\LongEventHandler.cs:290)
ArtefactFound.Building_Artefact:SpawnSetup(Map, Boolean)
Verse.GenSpawn:Spawn_Patch1(Thing, IntVec3, Map, Rot4, WipeMode, Boolean)
Verse.GenSpawn:Spawn(Thing, IntVec3, Map, WipeMode) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Gen\Placement\GenSpawn.cs:31)
Verse.GenSpawn:Spawn(ThingDef, IntVec3, Map, WipeMode) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Gen\Placement\GenSpawn.cs:26)
ArtefactFound.IncidentWorker_ArtefactFound:TryExecuteWorker(IncidentParms)
RimWorld.IncidentWorker:TryExecute(IncidentParms) (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\Defs\DefTypes\IncidentDef.cs:279)
RimWorld.Storyteller:TryFire(FiringIncident) (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\Game\Storyteller\Storyteller.cs:119)
RimWorld.Storyteller:StorytellerTick() (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\Game\Storyteller\Storyteller.cs:110)
Verse.TickManager:DoSingleTick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Ticking\TickManager.cs:340)
Verse.TickManager:TickManagerUpdate() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Ticking\TickManager.cs:267)
Verse.Game:UpdatePlay() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Game.cs:512)
Verse.Root_Play:Update() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\Root\Root_Play.cs:99)


More mental waste from my end.  Trying to get output log but hugs lib keeps timing out..
Professional jerk
Want something broken let me know

Fluffy (l2032)

Haplo, is it possible the robots' pawn.workSettings is null? That would explain at least the first error...

rawrfisher

Error 1 is one that breaks the mod error 2 is a pest and error 3 is just some trivial item
Professional jerk
Want something broken let me know

Haplo

Sorry, I'm a few days not really available, so can't really look into it.
But @Fluffy:
I'm not 100% sure without access to my code.. But I have done something with the workSettings, yes.
--> from the errors: AIRobot.X2_AIRobot_Pawn_WorkSettings.SetPriority
--> Looks like I've used a modified worksetting variant, so the worksetting itself shouldn't be null...

I'll look into it as soon as I can (though it still may take me until monday, maybe..  :( )
The third error is the easiest: An oversight from my side in the changed code of the Artefact code



rawrfisher

#2318
I have returned to add more work to your load

System.NullReferenceException: Object reference not set to an instance of an object
at AIRobot.X2_Building_AIRobotRechargeStation.Button_CallBotForShutdown () <IL 0x0008a, 0x00194>
at AIRobot.X2_Building_AIRobotRechargeStation.Notify_CallBotForShutdown () <IL 0x00002, 0x0001c>
at AIRobot.X2_Building_AIRobotRechargeStation.Button_CallAllBotsForShutdown () <IL 0x00030, 0x000e4>
at Verse.Command_Action.ProcessInput (UnityEngine.Event) [0x0000e] in C:\Dev\RimWorld\Assets\Scripts\Verse\UI\Gizmos\Command_Action.cs:18
at Verse.GizmoGridDrawer.DrawGizmoGrid (System.Collections.Generic.IEnumerable`1<Verse.Gizmo>,single,Verse.Gizmo&) [0x003fe] in C:\Dev\RimWorld\Assets\Scripts\Verse\UI\Gizmos\GizmoGridDrawer.cs:162
at (wrapper dynamic-method) RimWorld.InspectGizmoGrid.DrawInspectGizmoGridFor_Patch0 (System.Collections.Generic.IEnumerable`1<object>,Verse.Gizmo&) <IL 0x00230, 0x007c2>

Verse.Log:Error(String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:78)
Verse.Log:ErrorOnce(String, Int32, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:105)
RimWorld.InspectGizmoGrid:DrawInspectGizmoGridFor_Patch0(IEnumerable`1, Gizmo&)
RimWorld.MainTabWindow_Inspect:DrawInspectGizmos() (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\MainButtons\MainTabWindows\MainTabWindow_Inspect.cs:94)
RimWorld.InspectPaneUtility:ExtraOnGUI(IInspectPane) (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\MainButtons\Inspect\InspectPaneUtility.cs:128)
RimWorld.MainTabWindow_Inspect:ExtraOnGUI() (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\MainButtons\MainTabWindows\MainTabWindow_Inspect.cs:70)
Verse.WindowStack:WindowStackOnGUI() (at C:\Dev\RimWorld\Assets\Scripts\Verse\UI\Windows\WindowStack.cs:169)
RimWorld.UIRoot_Play:UIRootOnGUI() (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\UI\UIRoot_Play.cs:91)
Verse.Root:OnGUI() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\Root\Root.cs:164)


https://git.io/fNjH9
Professional jerk
Want something broken let me know

Haplo

So, I pushed a few changes to GitHub:
- Now robots don't despawn anymore when they want to recharge.
  --> The despawn was the problem with the unfinished work item.
  --> This may still occure if you deactivate the robots, as there they still despawn.. maybe..
- I did some code changes that will (hopefully) prevent the other errors
-The incident was updated and should now work correctly

Also I've changed the assembly numbers of all mods to 0.19.0.
-> This is something I often neglect to update :)

rawrfisher

#2320
Could you put up a video of the new behavior?
Just confirmed that the changes messed up ++ too
had an ER bot making clothing >.>

https://git.io/fAvov
Hauler bot was tending to wounded patients this time lol
Its not generating errors just extremely odd behavior that could be exploited
Also this is on an exsisting save game will update if things change


JobDriver threw exception in initAction for pawn Hauling Bot 21 driver=JobDriver_ChatWithPrisoner (toilIndex=1) driver.job=(PrisonerAttemptRecruit (Job_1614382) A=Thing_Human168567) lastJobGiver=AIRobot.X2_JobGiver_Work
System.NullReferenceException: Object reference not set to an instance of an object
  at RimWorld.Toils_Interpersonal+<WaitToBeAbleToInteract>c__AnonStorey2.<>m__0 () [0x0000c] in C:\Dev\RimWorld\Assets\Scripts\RimWorld\AI\JobDrivers\Prisoner\Toils_Interpersonal.cs:120
  at Verse.AI.JobDriver.TryActuallyStartNextToil () [0x0022f] in C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:461
Verse.Log:Error(String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:78)
Verse.AI.JobUtility:TryStartErrorRecoverJob(Pawn, String, Exception, JobDriver) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobUtility.cs:22)
Verse.AI.JobDriver:TryActuallyStartNextToil() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:465)
Verse.AI.JobDriver:ReadyForNextToil() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:364)
Verse.AI.JobDriver:Notify_PatherArrived() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:593)
Verse.AI.Pawn_PathFollower:PatherArrived() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pathing\Pawn_PathFollower.cs:428)
Verse.AI.Pawn_PathFollower:StartPath_Patch0(Object, LocalTargetInfo, PathEndMode)
RimWorld.<GotoPrisoner>c__AnonStorey1:<>m__0() (at C:\Dev\RimWorld\Assets\Scripts\RimWorld\AI\JobDrivers\Prisoner\Toils_Interpersonal.cs:88)
Verse.AI.JobDriver:TryActuallyStartNextToil() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:461)
Verse.AI.JobDriver:ReadyForNextToil() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\JobDrivers\JobDriver.cs:364)
Verse.AI.Pawn_JobTracker:StartJob_Patch1(Object, Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:521)
Verse.AI.Pawn_JobTracker:EndCurrentJob(JobCondition, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:393)
Verse.AI.Pawn_JobTracker:JobTrackerTick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:120)
Verse.Pawn:Tick_Patch1(Object)
AIRobot.X2_AIRobot:Tick()
Verse.TickList:Tick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Ticking\TickList.cs:125)
Verse.TickManager:DoSingleTick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Ticking\TickManager.cs:303)
Verse.TickManager:TickManagerUpdate() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Ticking\TickManager.cs:267)
Verse.Game:UpdatePlay() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Game.cs:512)
Verse.Root_Play:Update() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\Root\Root_Play.cs:99)

Looked up and saw this error

Another update:  What the hack's mechanoid platforms are able to regenerate the missing parts of the bots if they go to em to charge.
I think its always been this way since they were made into mechanoids but still


Exception ticking Hauling Bot 41 (at (236, 0, 140)): System.ArgumentException: SplitOff with count <= 0
Parameter name: count
at Verse.Thing.SplitOff (int) [0x0010c] in C:\Dev\RimWorld\Assets\Scripts\Verse\Thing\Thing.cs:1117
at Verse.ThingWithComps.SplitOff (int) [0x00003] in C:\Dev\RimWorld\Assets\Scripts\Verse\Thing\ThingWithComps.cs:418
at Verse.ThingOwner.TryDrop (Verse.Thing,Verse.IntVec3,Verse.Map,Verse.ThingPlaceMode,int,Verse.Thing&,System.Action`2<Verse.Thing, int>,System.Predicate`1<Verse.IntVec3>) [0x000ce] in C:\Dev\RimWorld\Assets\Scripts\Verse\Thing\ThingOwner\ThingOwner.cs:536
at Verse.ThingOwner.TryDrop (Verse.Thing,Verse.ThingPlaceMode,int,Verse.Thing&,System.Action`2<Verse.Thing, int>,System.Predicate`1<Verse.IntVec3>) [0x00059] in C:\Dev\RimWorld\Assets\Scripts\Verse\Thing\ThingOwner\ThingOwner.cs:502
at Meals_On_Wheels.Food_TryMakePreToilReservations_Patch.Prefix (Verse.AI.JobDriver,bool&) <IL 0x0009f, 0x0020c>
at (wrapper dynamic-method) RimWorld.JobDriver_FoodFeedPatient.TryMakePreToilReservations_Patch1 (object,bool) <IL 0x0000a, 0x00047>
at (wrapper dynamic-method) Verse.AI.Pawn_JobTracker.StartJob_Patch1 (object,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool) <IL 0x00321, 0x00af4>
at Verse.AI.Pawn_JobTracker.TryFindAndStartJob () [0x000e2] in C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:521
at Verse.AI.Pawn_JobTracker.EndCurrentJob (Verse.AI.JobCondition,bool) [0x00198] in C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:393
at Verse.AI.Pawn_JobTracker.JobTrackerTick () [0x00147] in C:\Dev\RimWorld\Assets\Scripts\Verse\AI\Pawn_JobTracker.cs:120
at (wrapper dynamic-method) Verse.Pawn.Tick_Patch1 (object) <IL 0x000c2, 0x00235>
at AIRobot.X2_AIRobot.Tick () <IL 0x0005c, 0x0013f>
at Verse.TickList.Tick () [0x001aa] in C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Ticking\TickList.cs:125

Verse.Log:Error(String, Boolean) (at C:\Dev\RimWorld\Assets\Scripts\Verse\Utility\Debug\Log\Log.cs:78)
Verse.TickList:Tick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Ticking\TickList.cs:137)
Verse.TickManager:DoSingleTick() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Ticking\TickManager.cs:303)
Verse.TickManager:TickManagerUpdate() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Ticking\TickManager.cs:267)
Verse.Game:UpdatePlay() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Game\Game.cs:512)
Verse.Root_Play:Update() (at C:\Dev\RimWorld\Assets\Scripts\Verse\Global\Root\Root_Play.cs:99)


Never seen this type of error before
Just noticed the trigger for the second one and its bots trying to feed patients.  Never seen it in this form but I think just removing meals on wheels will fix it until they are compatible again.  Its always been hit and miss with that mod and my load order lol
Professional jerk
Want something broken let me know

DrOzon

Cleaning bot started tending to animals and finishing off creatures? Lmao funny bug

https://gist.github.com/HugsLibRecordKeeper/c956f923f40c3f3d5988e75923221575

[attachment deleted due to age]

Haplo

Ok, it looks like the new JobDriver is crap. :-\
I'll revert it when I'm home..

For the new behaviour:
It is just, that the Robot will not automatically despawn for recharging.
It will just stay over the recharge station instead of despawning into it.
It will still despawn if you deactivate the Robot.

rawrfisher

#2323
Well it did lead to some comical situations.  Now if only rescuing was considered more of a priority then sleeping -_-

I noticed something disturbingly stupid as well.
Seems tyran has it setup so an active robot adds to colony wealth and in my base I have 6 robots active and they add almost 100k to the wealth when active
Professional jerk
Want something broken let me know

Haplo

I've fixed the work-settings problem. It should now work correctly.

@rawrfisher:
For the wealth: I've reduced the robot value to 10, so that they don't really add to the wealth anymore. The stations remain expensive. :D

@Fluffy:
I'm currently not sure about the worksettings: I'm using a modified worksettings --> It uses Shadowing of SetPriority and reflection, so that I can modify the priorities manually. This is most likely something that causes problems for your own reflection code..