-
Notifications
You must be signed in to change notification settings - Fork 235
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Assisting engineers track new construction orders #6176
Assisting engineers track new construction orders #6176
Conversation
Just keeping track of this in the new PR.
I see, so the assist order goes away when the pod docks, which is why we need to keep it on a separate unit. I didn't notice because I had somewhat of a bug where you can assign assisters to a pod and then have them start building something, cancel the build order for the pod, have it dock, and the assist order will stay on the pod until the other builders finish their task and check if they can assist the pod again.
Aesthetically, I don't think the pod should be constantly flying around if it's inactive.
You have |
I didn't love the guard cache when I put it in for the pods--maybe it's not a ton of memory, but the principle (replicating a system already being tracked by the engine) doesn't appeal to me (the main reason why I preferred "shoulder pods don't dock while being assisted", though I agree with the aesthetic argument). But I'll cook up these options and somebody with a better idea of the performance situation can make the call. |
Stop was straightforward (just a check in OnStopBuild)--discerning the stop command from a new movement command might be difficult, which is drawing me in more and more into "interrupt pathfinding locks guards to current task". For pods, perhaps an assembly fix is possible? |
Abort navigation now "locks" assisting engineers to their current task. Definitely open to alternatives, but I like this because:
Check it out, I'll work up the other option if you're still interested in it. Edit: after experimenting some more, UEF SACUs (and only UEF SACUs) can properly assist shoulder pods (both theirs and UEF ACU, UEA0003 and UEA0001), but the UEF ACU can only assist UEA0001. |
I think it's best to keep the old assist behavior as it's what people are used to and have built their game skills on (Jip and I have both talked about how we use it frequently). |
Perhaps we should also rename the 'abort navigation' action to something else. |
Been thinking about that. Some variant of "force engineer focus" (with a good tooltip) could work. A little vague, but it's the kind of thing you experiment with anyway. I've def grown less attached to one solution or another as I've worked on this (we'll need the caching infrastructure for pods to work correctly anyway, instead of just half assing it like they are now). I'm arriving at code-finished, I'll make some videos of the different options and put it out for further testing (definitely could be some edge cases lurking) when I do. I think we can also save a large number of function calls* if we link a callback to OnCommandIssued and send a check assisters ping from the UI--aside from the original repair override functionality what we're responding to is always** a result of player input. *At the moment we're relying on On[Start|Stop]Build/Reclaim/Repair, which get called quite a bit |
Assist cache is up! ("code-finished" -> famous last words) I've identified three configurations that will likely be more clear when I get around to making the videos:
Swapping between the above configurations is a few lines of code. *This is where the collision happens--lead unit wanders off to (for example) build a mex, you want to abort navigation when it comes in range, but you left some assisting units behind on a previous task that you would prefer they keep doing. In this situation you either do both (abort navigation for the lead, and summon the assisters), or you have to split it onto two hotkeys. To be demonstrated. |
Videos: Hard focus, engineers can be told to stay put with abort navigation-- Soft focus, engineers will only interrupt for new construction/reclaim/repair orders and are likewise kept in place with abort navigation-- Manual focus, engineers behave as they do now, but the abort navigation hotkey refocuses them on the lead unit-- |
Alright we're at the finish line.
*The only thing missing here is that units won't start assisting the drone if they're given the assist order mid-task (it relies on |
@MrRowey I'm not sure if it already is, but these changes should definitely be on the Game Changes discussion channel on Discord. It's a significant change to the behavior of various units. |
I'll do a write up |
Continuation of #6169 which was accidentally made on the main branch.