RimWorld

RimWorld

Haul Explicitly
This topic has been locked
likeafox  [developer] Nov 4, 2018 @ 2:00am
Bug Reports
New policy: If you think you have found a bug please start a new thread. Include details of the exact circumstances, and error messages, if any.
Last edited by likeafox; Aug 2, 2024 @ 6:40am
< >
Showing 1-15 of 34 comments
groovybluedog Nov 17, 2018 @ 2:29am 
My colonist kept "standing" there, with "cooking simple meal" queued up. Even after drafting and undrafting, the colonist would stand there with a line to the cooker. I've had this happen before because something was marked as don't haul, and allowing haul fixed it straight away, so I suspect it's something similar. This is one of the repeat errors that kept appearing.

The coordinates, according to the inspect tool, belong to a stockpile, an empty space.

My game screenshot: https://i.imgur.com/5S1j9Wk.jpg

I have a save file available too

I'm not a modder, don't understand errors, but tried looking around anyway. I used the search tool with deep inspection into to try and find the recurve bow with the ID 213055. There were none that were immediately obvious. There were 4 on the floor between the standing pawn and the cooking stove but none of those matched. Tried the others on the map. Eventually I noticed my pawn was carrying one, I dropped it, it matched the number, and then the pawn stopped standing and went to the stove. I'm confused why this happened and I'm still not able to read the error and see if it's a problem with Haul Explicitly or something else entirely like Simple Sidearms. I can't figure out a reason. But the pawn did haul it to 80, 0 , 80, which was the most recent error before I dropped the bow, so I'm certain it's the right one. I had the pawn equip it again and it seems to have been okay since.

After feeling pretty good that I figured all of that out myself, I'm still none the wiser on why that happened to an equipped item. I was expecting to find an item that was set to don't haul. Hmm...

Thanks for any time you have to look in to this and give me a pointer as to the cause and sorry if it's nothing to do with your mod!

White started 10 jobs in one tick. newJob=HaulToCell (Job_2316045) A=Thing_Bow_Recurve213055 B=(75, 0, 79) jobGiver=null jobList=(HaulToCell (Job_2316035) A=Thing_Bow_Recurve213055 B=(75, 0, 79)) (HaulToCell (Job_2316036) A=Thing_Bow_Recurve213055 B=(75, 0, 79)) (HaulToCell (Job_2316037) A=Thing_Bow_Recurve213055 B=(75, 0, 79)) (HaulToCell (Job_2316038) A=Thing_Bow_Recurve213055 B=(75, 0, 79)) (HaulToCell (Job_2316039) A=Thing_Bow_Recurve213055 B=(75, 0, 79)) (HaulToCell (Job_2316040) A=Thing_Bow_Recurve213055 B=(75, 0, 79)) (HaulToCell (Job_2316041) A=Thing_Bow_Recurve213055 B=(75, 0, 79)) (HaulToCell (Job_2316042) A=Thing_Bow_Recurve213055 B=(75, 0, 79)) (HaulToCell (Job_2316043) A=Thing_Bow_Recurve213055 B=(75, 0, 79)) (HaulToCell (Job_2316044) A=Thing_Bow_Recurve213055 B=(75, 0, 79)) (HaulToCell (Job_2316045) A=Thing_Bow_Recurve213055 B=(75, 0, 79)) lastJobGiver=Verse.AI.ThinkNode_QueuedJob
Verse.Log:Error(String, Boolean)
Verse.AI.JobUtility:TryStartErrorRecoverJob(Pawn, String, Exception, JobDriver)
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch0(Object, JobCondition, Boolean)
Verse.AI.JobDriver:EndJobWith(JobCondition)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch0(Object, JobCondition, Boolean)
Verse.AI.JobDriver:EndJobWith(JobCondition)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch0(Object, JobCondition, Boolean)
Verse.AI.JobDriver:EndJobWith(JobCondition)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch0(Object, JobCondition, Boolean)
Verse.AI.JobDriver:EndJobWith(JobCondition)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch0(Object, JobCondition, Boolean)
Verse.AI.JobDriver:EndJobWith(JobCondition)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch0(Object, JobCondition, Boolean)
Verse.AI.JobDriver:EndJobWith(JobCondition)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch0(Object, JobCondition, Boolean)
Verse.AI.JobDriver:EndJobWith(JobCondition)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch0(Object, JobCondition, Boolean)
Verse.AI.JobDriver:EndJobWith(JobCondition)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch0(Object, JobCondition, Boolean)
Verse.AI.JobDriver:EndJobWith(JobCondition)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch0(Object, JobCondition, Boolean)
Verse.AI.JobDriver:EndJobWith(JobCondition)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch0(Object, JobCondition, Boolean)
Verse.AI.Pawn_JobTracker:JobTrackerTick()
Verse.Pawn:Tick_Patch1(Object)
Verse.TickList:Tick_Patch2(Object)
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()

======== END OF ERROR ===========

This is my list of mods:

1) HugsLib
2) JecsTools
3) Mod Manager
4) Achtung
5) Allow Tool
6) Better Workbench Management
7) Blueprints
8) Cheat Gun
9) DE Surgeries
10) Defensive Positions
11) Dismiss trader
12) Door Curtains
13) Dubs Mint Menus
14) Dubs Skylights
15) ED Enhanced Options
16) ED Laser Drill
17) ED Reverse Cycle Cooler
18) ED Shields Basic
19) EdB Prepare Carefully
20) Fallout Traits
21) Follow me
22) Genetically Engineered Trait
23) Give me a moment
24) Haul Explicitly
25) Haul to Stack
26) Interaction Bubbles
27) Inventory tab
28) Inwall shelf
29) Let's Trade
30) Linkable Doors
31) Medical Tab
32) Mend and recycle
33) Miniature Nuclear Generator
34) Minify Everything
35) Misc MAI
36) Misc Robots
37) Misc Robots++
38) Miscellaneous Core
39) More planning
40) No default shelf storage
41) Numbers
42) Omni Core Drill
43) One more small shelf
44) Path Avoid B19
45) P-Music
46) Realistic Rooms
47) Recolour Stockpile
48) Regeneration Bay
49) RenameColony
50) ResearchPal
51) RimFridge
52) RimHUD
53) Safe pause
54) Set Up Camp
55) Show Mod Designators
56) Simple Sidearms
57) Simply More Bridges
58) Smart Medicine
59) Snap out
60) Super Soil
61) Tactics Mode
62) TD Enhancement Pack
63) Terraform Rimworld
64) The Rock Trade
65) Therapy
56) Trading Spot
57) Tranquilizer Guns
58) Trap Disable
59) Turn it on and off
60) Wall Light
61) We Had a Trader?
62) Work Tab
63) Mechanical Defense 2 - Base
64) Mechanical Defense 2 - Walls
65) Orbital Trader transponder
66) Change research speed
67) ED Embrasures
67) Signs and memorials
68) Advanced Animal Framework
69) Rimworld Minions
likeafox  [developer] Nov 17, 2018 @ 11:05am 
Thanks groovybluedog, I'm curious what's going on there. It sounds like it might be an incompatability with Haul Explicitly and another one of the mods you're using. I might be able to help if you can provide some additional information.

Here's what you can do:
1. Load up the save game with the broken pawn in it
2. Open the "debug actions menu", and click on the "Toggle job logging" tool, and use the tool on the broken pawn. (this will help give more detailed errors)
3. Unpause the game just long enough for some errors to happen
4. Press ctrl+F12 to publish a detailed error log
5. Paste the link to that log in this thread
Caterpie Dec 31, 2018 @ 2:08am 
I am also having the same issue as groovybluedog,
It seems to happend after playing for a little bit. I followed your instructions and here are the logs.

{LINK REMOVED}

Hope you fix this soon, I love this mod!
Last edited by Caterpie; Dec 31, 2018 @ 2:20am
likeafox  [developer] Jan 14, 2019 @ 11:35pm 
I've run stress tests with all the mods you listed loaded, but unfortunately I've still been unable to reproduce this bug. If anyone can send me a save file where this issue is currently happening, that'd be immensely helpful with solving this.
Caterpie Jan 16, 2019 @ 8:12pm 
I'll make sure to message you if it happends to me again. Thank you for responding and helping out with it! It seems to be pretty rare so thats a good thing I guess :P
TGC Jan 21, 2019 @ 3:26am 
https://gist.github.com/HugsLibRecordKeeper/9c47e6ff670f80c6b257cfd5f86a0712
There are stockpile with chunks allowed and stonecutting table with do forewer cut chunks.
Pawn freeze at hauling chunk. Chunk has no haul marker!
If I mark chunk as haulable pawn unfreeze, haul chunk to stockpile (why?), then haul it to stonecutting table.
Freeze did not happen when stonecutting task paused or chunks not allowed at stockpile.
Last edited by TGC; Jan 21, 2019 @ 3:27am
TGC Jan 21, 2019 @ 4:10am 
It was conflict with CommonSense's haul before craft option.
likeafox  [developer] Jan 21, 2019 @ 2:45pm 
TGC, thanks for letting me know of the incompatibility. That sounds like something that may be fixable from the Haul Explicitly end so I'll have a look at that today.
Last edited by likeafox; Jan 21, 2019 @ 2:46pm
likeafox  [developer] Jan 22, 2019 @ 3:24am 
TGC, I've published an update that I think will resolve the issue you were having with Common Sense. Please try it out to confirm. You may need to restart steam for the mod to successfully update to the latest version.
Last edited by likeafox; Jan 22, 2019 @ 3:26am
TGC Jan 22, 2019 @ 8:16pm 
Yes, works now.

At some time I get another error. May be this method need nullchecks.

Exception ticking Серый (at (149, 0, 176)): System.NullReferenceException: Object reference not set to an instance of an object
at HaulExplicitly.HaulablesUtilities.HasHaulabilityToggled (Verse.Thing) <0x00024>
at HaulExplicitly.HaulablesUtilities.IsAHaulableSetToHaulable (Verse.Thing) <0x00060>
at HaulExplicitly.HaulAIUtility_PawnCanAutomaticallyHaulFast_Patch.Prefix (Verse.Pawn,Verse.Thing,bool,bool&) <0x00025>
at (wrapper dynamic-method) Verse.AI.HaulAIUtility.PawnCanAutomaticallyHaulFast_Patch1 (Verse.Pawn,Verse.Thing,bool) <0x00067>
at Verse.AI.Pawn_JobTracker.TryOpportunisticJob (Verse.AI.Job) <0x00600>
at (wrapper dynamic-method) Verse.AI.Pawn_JobTracker.StartJob_Patch3 (object,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool) <0x00bd3>
at Verse.AI.Pawn_JobTracker.TryFindAndStartJob () <0x00245>
at (wrapper dynamic-method) Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch2 (object,Verse.AI.JobCondition,bool) <0x004e5>
at Verse.AI.Pawn_JobTracker.JobTrackerTick () <0x002fc>
at (wrapper dynamic-method) Verse.Pawn.Tick_Patch2 (object) <0x001f3>
at Verse.TickList.Tick () <0x00487>

Verse.Log:Error(String, Boolean)
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()
Last edited by TGC; Jan 22, 2019 @ 8:16pm
likeafox  [developer] Jan 23, 2019 @ 3:09pm 
That message indicates an actual problem. It's a regression caused by the last update. I'll fix it. Thanks for reporting.
Last edited by likeafox; Jan 23, 2019 @ 3:50pm
BlakeIrons Apr 18, 2019 @ 3:33pm 
It appears that haul explicitly interfers with whatthehack. With both mods loaded, pawns will not, under any circumstances, haul a downed mechanoid to a table.
Ender Aug 14, 2019 @ 10:03pm 
When I added this at the end of my mod list it makes it so that you can't perform actions on pawns (eg. draft)
likeafox  [developer] Aug 14, 2019 @ 11:44pm 
Hi Nepgear, the only change you made was to add Haul Explicitly? Did you get any error messages? What is the mod list you are running? What exactly is the behaviour you're experiencing? Are the buttons appearing and you're unable to click them, or do no buttons appear at all?
Last edited by likeafox; Aug 15, 2019 @ 12:02am
Ender Aug 15, 2019 @ 1:54pm 
Yes, the only change I made was adding Haul Explicitly to the end of my mod list. The buttons just don't appear. Oddly enough it does appear when some groups of pawns are selected, but not all. This is the error that occurs when I select a pawn.

System.NullReferenceException: Object reference not set to an instance of an object
at HaulExplicitly.HaulExplicitly.GetManager (Verse.Map) <0x00036>
at HaulExplicitly.Command_Cancel_HaulExplicitly.RelevantToThing (Verse.Thing) <0x0002b>
at HaulExplicitly.GizmoUtility/<GetHaulExplicitlyGizmos>d__0.MoveNext () <0x000c9>
at HaulExplicitly.ThingWithComps_GetGizmos_Patch/<Postfix>d__0.MoveNext () <0x001fa>
at RWBYRemnant.HarmonyPatch.GetGizmos_PostFix (Verse.Pawn_EquipmentTracker,System.Collections.Generic.IEnumerable`1<Verse.Gizmo>&) <0x00715>

Interestingly enough, the error does not occur when I create a new game. Something must be missing when I load a save game that didn't have the mod in it. Here's the mod list

Core
Mod Manager
HugsLib
JecsTools
Blood Pack
Death Rattle
Death Rattle - Comatose
Transport Downed Pawns
Humanoid Alien Races 2.0
[1.0] DE Surgeries
[KV] Show Hair With Hats or Hide All Hats - 1.0
Dragonian Race
Dragonian Race Apparel Patch
Oni of the Rim
Kurin, The Three Tailed Fox
Kurin, a bad translation
Kijin Race
Slither Race
[1.0] DE Surgeries - Dragonian Race patch
[1.0] DE Surgeries - Oni Race patch
[1.0] DE Surgeries - Kurin Race patch
[1.0] DE Surgeries - Kijin patch
Androids
NewRatkinPlus
[FGO]Fate Grand Order - Styles Apparel Pack
[Uru] Rim Seraph hair (1.0)
[Uru] VOCALOID Hair (1.0)
[Uru] Touhou Hair (1.0)
RimNGE
Draggable Corners
Ooka Miko[1.0]
Ponytail is Kawaii
The Zerg!
RWBY World of Remnant
Halo - Weapons [1.0]
Simple Stockpile Presets
Pharmacist
[FSF] Complex Jobs
ResearchPal
Work Tab
Blueprints
Heat Map
Fluffy Breakdowns
RT Fuse
Harvest Organs Post Mortem - 4.1 [1.0]
RT Solar Flare Shield
RT Power Switch
MoreMonstergirls
gloomy_dress
gloomy_hair
[L] House Maid Nukos
[SS]Lovely Hair Style
[SS]Maid Project
Kijin - Maid Project Apparel Patch
Kijin - Maid Project Apparel Patch (converted for regular girl pawns)
My Cute Ear
[1.0]Lost Forest
A Dog Said... Animal Prosthetics
Girls' frontline Apparel Pack
[GF]Girls' Frontline Styles - 404 Team
Sometimes Raids Go Wrong
Rimcolle
WM Hydroponics with lamps
Wall Light
Pawn Rules
RimHUD
Recipe icons
[WD] Partially-Passable Wind Turbines 1.0
[Beta]Anime Hair
[NL] Facial Animation - WIP
Yamato Main Gun大和炮
More Harvest Designators!
[WD] Antibiotics And Painkillers 1.0
ameiro anime hairs for 1.0
Lolidrop's hairshop
EdB Prepare Carefully
[1.0]Kan Colle hair style (Female)
Real Ruins
Haul Explicitly
< >
Showing 1-15 of 34 comments
Per page: 1530 50