Closed Sn1p3rr3c0n closed 1 year ago
For the Distance Case The issue here is that the CanReach Patch Tells the Pawn that i can Reach the Item in question. (so far so good) But then the Patches that actually make use of the Advanced IO Pot choose not to use them (ups..) --> We need to detect if the Path to the DSU Is Blocked and then force pawns to use the Advanced IO Ports instead of selecting the shorter path
All issues described in this Ticket should have been resolved.
One thing to note is that the Current Implementation of the CanReach Patch does not support the JobDriver_HaulToTransporter
This is Caused as the CanReach Check is Performed Differently for this case-
Here the Check is if the Position of the Item can reach the Transporter
One Interesting side effect of those changes is that the Performance of the CanReach Patch has been significantly improved.
Note: The pink line indicates ~0.5ms
Regardless of if it was needed or not, CanReach
takes a significant amount of time to run
Note: The purple line indicates ~0.06ms The pink line indicates ~0.5ms
You can clearly see at what point the patch was no longer required and the associated load falling off dramatically. Additionally the spikes are much lower now
The Issue occurs if a User wants to use the Advanced IO Ports while having the access to the DSU Blocked (No path to the DSU). To allow Pathing they need to activate the CanReach Patch. Then in some cases the Pathing will fail.
There are currently two Scenarios in which I can reproduce that issue.
General Requirements
Standing Drafted
seems to not occur for Food
What Happens If the Pawn is standing still when it is undrafted the Pathing will fail. If the pawn is moving when it is undrafted the Pathing will work in most cases
Distance Case
What Happens The Pathing to Items contained in the DSU will constantly fail. Note a standalone Pawn that is closer to a Advanced IO Port then the DSU will not have any issues except the
Standing Drafted
SenarioRelated Warning: