RimWorld

RimWorld

Tactics Mode Redux
tile7 18 Jun, 2024 @ 2:57am
Bug
Hi.
Thanks a lot. Great mod.
When replanting trees, after pnat job is finished, the game crashes. All menus are black (with opacity) and there is a clicking sound. Restart has to be done.


Exception in CheckCurrentToilEndOrFail for pawn Tile driver=JobDriver_Replant (toilIndex=9) driver.job=(Replant (Job_191053) A = Thing_MinifiedTree975139 B = Thing_Plant_TreeHarbinger795501 Giver = ThinkNode_QueuedJob [workGiverDef: Replant])
System.NullReferenceException: Object reference not set to an instance of an object
[Ref FA25DDFF]
at RimWorld.MinifiedThing.get_LabelNoCount () [0x00006] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0
at Verse.Thing.get_Label () [0x00025] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0
at Verse.AI.JobDriver_HaulToContainer.GetReport () [0x00078] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0
at Verse.AI.Job.GetReport (Verse.Pawn driverPawn) [0x00007] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0
at TacticsModeRedux.TacticsModeGameComponent.TryDoTacticalAction (Verse.Pawn p, Verse.AI.Job curJob) [0x00036] in <1d95ef13a9e04595a630b5ba5b56e578>:0
at TacticsModeRedux.Patch.Verse_AI_Pawn_JobTracker_CleanupCurrentJob.Prefix (Verse.AI.Pawn_JobTracker __instance) [0x00061] in <1d95ef13a9e04595a630b5ba5b56e578>:0
at Verse.AI.Pawn_JobTracker.CleanupCurrentJob (Verse.AI.JobCondition condition, System.Boolean releaseReservations, System.Boolean cancelBusyStancesSoft, System.Boolean canReturnToPool, System.Nullable`1[T] carryThingAfterJobOverride) [0x00000] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0
- TRANSPILER net.avilmask.rimworld.mod.CommonSense: IEnumerable`1 CommonSense.PutBackToBackpack+Pawn_CleanupCurrentJob_CommonSensePatch:Transpiler(IEnumerable`1 instructions, ILGenerator il, MethodBase mb)
- PREFIX ilyvion.tacticsmoderedux: Void TacticsModeRedux.Patch.Verse_AI_Pawn_JobTracker_CleanupCurrentJob:Prefix(Pawn_JobTracker __instance)
at Verse.AI.Pawn_JobTracker.EndCurrentJob (Verse.AI.JobCondition condition, System.Boolean startNewJob, System.Boolean canReturnToPool) [0x0011c] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0
- TRANSPILER net.pardeike.rimworld.mods.achtung: IEnumerable`1 AchtungMod.Pawn_JobTracker_EndCurrentJob_Patch:Transpiler(IEnumerable`1 instructions)
- PREFIX net.pardeike.rimworld.mods.achtung: Void AchtungMod.Pawn_JobTracker_EndCurrentJob_Patch:Prefix()
- PREFIX net.avilmask.rimworld.mod.CommonSense: Boolean CommonSense.OpportunisticTasks+Pawn_JobTracker_EndCurrentJob_CommonSensePatch:Prefix(Pawn_JobTracker_Crutch __instance, JobCondition condition)
- POSTFIX net.pardeike.rimworld.mods.achtung: Void AchtungMod.Pawn_JobTracker_EndCurrentJob_Patch:Postfix()
at Verse.AI.JobDriver.EndJobWith (Verse.AI.JobCondition condition) [0x00028] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0
at Verse.AI.JobDriver.CheckCurrentToilEndOrFail () [0x00099] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 39)

Exception in JobDriver tick for pawn Tile driver=JobDriver_Replant (toilIndex=9) driver.job=(Replant (Job_191053) A = Thing_MinifiedTree975139 B = Thing_Plant_TreeHarbinger795501 Giver = ThinkNode_QueuedJob [workGiverDef: Replant])
System.NullReferenceException: Object reference not set to an instance of an object
[Ref F9DB9D97]
at RimWorld.MinifiedThing.get_LabelNoCount () [0x00006] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0
at Verse.Thing.get_Label () [0x00025] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0
at Verse.AI.JobDriver_HaulToContainer.GetReport () [0x00078] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0
at Verse.AI.Job.GetReport (Verse.Pawn driverPawn) [0x00007] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0
at TacticsModeRedux.TacticsModeGameComponent.TryDoTacticalAction (Verse.Pawn p, Verse.AI.Job curJob) [0x00036] in <1d95ef13a9e04595a630b5ba5b56e578>:0
at TacticsModeRedux.Patch.Verse_AI_Pawn_JobTracker_CleanupCurrentJob.Prefix (Verse.AI.Pawn_JobTracker __instance) [0x00061] in <1d95ef13a9e04595a630b5ba5b56e578>:0
at Verse.AI.Pawn_JobTracker.CleanupCurrentJob (Verse.AI.JobCondition condition, System.Boolean releaseReservations, System.Boolean cancelBusyStancesSoft, System.Boolean canReturnToPool, System.Nullable`1[T] carryThingAfterJobOverride) [0x00000] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0
- TRANSPILER net.avilmask.rimworld.mod.CommonSense: IEnumerable`1 CommonSense.PutBackToBackpack+Pawn_CleanupCurrentJob_CommonSensePatch:Transpiler(IEnumerable`1 instructions, ILGenerator il, MethodBase mb)
- PREFIX ilyvion.tacticsmoderedux: Void TacticsModeRedux.Patch.Verse_AI_Pawn_JobTracker_CleanupCurrentJob:Prefix(Pawn_JobTracker __instance)
at Verse.AI.Pawn_JobTracker.EndCurrentJob (Verse.AI.JobCondition condition, System.Boolean startNewJob, System.Boolean canReturnToPool) [0x0011c] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0
- TRANSPILER net.pardeike.rimworld.mods.achtung: IEnumerable`1 AchtungMod.Pawn_JobTracker_EndCurrentJob_Patch:Transpiler(IEnumerable`1 instructions)
- PREFIX net.pardeike.rimworld.mods.achtung: Void AchtungMod.Pawn_JobTracker_EndCurrentJob_Patch:Prefix()
- PREFIX net.avilmask.rimworld.mod.CommonSense: Boolean CommonSense.OpportunisticTasks+Pawn_JobTracker_EndCurrentJob_CommonSensePatch:Prefix(Pawn_JobTracker_Crutch __instance, JobCondition condition)
- POSTFIX net.pardeike.rimworld.mods.achtung: Void AchtungMod.Pawn_JobTracker_EndCurrentJob_Patch:Postfix()
at Verse.AI.JobUtility.TryStartErrorRecoverJob (Verse.Pawn pawn, System.String message, System.Exception exception, Verse.AI.JobDriver concreteDriver) [0x0003f] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0
- TRANSPILER net.pardeike.rimworld.mods.achtung: IEnumerable`1 AchtungMod.Errors_To_Warnings_Patch:Transpiler(IEnumerable`1 instructions)
at Verse.AI.JobDriver.CheckCurrentToilEndOrFail () [0x001a2] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0
at Verse.AI.JobDriver.TryActuallyStartNextToil () [0x000ff] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0
at Verse.AI.JobDriver.ReadyForNextToil () [0x00007] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0
at Verse.AI.JobDriver.TryActuallyStartNextToil () [0x00210] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0
at Verse.AI.JobDriver.ReadyForNextToil () [0x00007] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0
at Verse.AI.JobDriver.DriverTick () [0x000c9] in <f0ac5eb9b52e4cc396c70fc9a4ee15e5>:0
- TRANSPILER Krkr.RocketMan.Soyuz: IEnumerable`1 Soyuz.Patches.JobDriver_DriverTick_Patch:Transpiler(IEnumerable`1 instructions, ILGenerator generator)
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 39)


and tons of these, and tons of

GUI Error: You are pushing more GUIClips than you are popping. Make sure they are balanced.
(Filename: Line: 580)
< >
Showing 1-15 of 16 comments
ilyvion  [developer] 18 Jun, 2024 @ 3:51am 
Thank you, I'll get it fixed ASAP.
ilyvion  [developer] 18 Jun, 2024 @ 3:54am 
In the meantime you can (temporarily?) turn off the "Show a message when a tactical pause happens" setting to avoid the issue.
tile7 18 Jun, 2024 @ 4:00am 
It cannot be turned off. Green arrow is not clickable.
and Jobs To Always Pause After... that is applied to all pawns?
tile7 18 Jun, 2024 @ 4:32am 
Anothe idea. If doable.
Dont know if you are familiar with Achtung mod.
It has an option to force a job on a multiple tiles. Like, harvest whole plot. Or deconstruct whole wall.
It would make sence for Redux not to pause ater each tile is handled, but only after whole job is finished.
ilyvion  [developer] 18 Jun, 2024 @ 4:43am 
Originally posted by tile7:
It cannot be turned off. Green arrow is not clickable.

I don't know how to fix that for you; certainly works for me: https://www.youtube.com/watch?v=-rLtMV64phY

Originally posted by tile7:
and Jobs To Always Pause After... that is applied to all pawns?

Yes; in the original mod the mod author had decided and hard coded this list; I made it configurable instead, but it applies globally to any mod in tactics mode, yes.

Originally posted by tile7:
It would make sence for Redux not to pause ater each tile is handled, but only after whole job is finished.

So you want this mod to add support for not pausing while a pawn is doing Achtung forced jobs? I can probably make that happen.
ilyvion  [developer] 18 Jun, 2024 @ 4:47am 
Oh yeah, I've released a new version that should hopefully fix the issue you were having with the tree planting job. Make sure it's version 0.2.1 you're using before reporting it as not fixed.
tile7 18 Jun, 2024 @ 5:23am 
Whoa.. I also dont see anything below Jobs To Always Pause After.

I'll try different load order. No problems in other mods. But still not clickable for me.

"So you want this mod to add support for not pausing while a pawn is doing Achtung forced jobs? I can probably make that happen."

-- yes. Those pauses make no sense. Great.

Sure, getting new version now.
tile7 18 Jun, 2024 @ 5:31am 
Error solved, still cannot click anything. Only box with number. I'll try again different load order. Any recomendations? Though it doesnt seem like a mod for which load order matters.

Thanks a lot.
ilyvion  [developer] 18 Jun, 2024 @ 5:32am 
Originally posted by tile7:
Whoa.. I also dont see anything below Jobs To Always Pause After.

I'll try different load order. No problems in other mods. But still not clickable for me.

Yeah, it's probably a mod incompatibility of some sort. I can look into it if you figure out what's causing it, or you could send me your modlist and I can attempt to debug it that way.
ilyvion  [developer] 18 Jun, 2024 @ 5:55am 
I got it to happen on my end too, a fix for the job list being empty should be in the next version 👍
tile7 18 Jun, 2024 @ 6:23am 
No, thanks. I have around 200 mostly QoL mods. You will spend a lot ot time on it. Besides, it works now. I'll figure it out somehow.
ilyvion  [developer] 18 Jun, 2024 @ 9:15pm 
I've released a new version now that should fix the issue with the jobs to always pause list, and which does not pause between Achtung's forced work jobs.
tile7 19 Jun, 2024 @ 1:40am 
Everything working now, including clicking. Thanks a lot. Great mod. How do we promote this thing?
tile7 3 Oct, 2024 @ 11:41pm 
Hi.
Can you show me printscreen of Achtung settings? I tried moving mod all over the list, but cannot see any Achtung settings. And Redux continues to pause after every forced job (or to be more precise, in example during harvesting it pauses after several cells are done, but during sowing, after every cell).
ilyvion  [developer] 4 Oct, 2024 @ 4:08am 
Originally posted by tile7:
Hi.
Can you show me printscreen of Achtung settings? I tried moving mod all over the list, but cannot see any Achtung settings

Yeah, so it turns out that while I added the functionality, I made a mistake when I made the release, and the Achtung integration was never released. So I've just made a new release that includes the Achtung integration. Sorry about that. 😅
< >
Showing 1-15 of 16 comments
Per page: 1530 50