FAForever / fa

Lua code for FAF
221 stars 228 forks source link

Assisting engineers track new construction orders #6169

Closed clyfordv closed 1 month ago

clyfordv commented 1 month ago

Additions:

  1. When an engineer with assisting engineers starts a new construction in the middle of working on another, the assisting engineers will immediately switch to the new construction instead of staying on the old.
  2. Engineers assisting UEF shoulder pods will now assist construction initated by the shoulder pods.
  3. Assist orders for UEF shoulder pods are "sticky"--when the shoulder pod attaches to storage, the assist orders are transferred to the parent unit, and then transferred back when it detaches.
clyfordv commented 1 month ago

Looking for feedback on num 3--I'm a little skeptical of the implementation, but in practice it's very smooth.

MostLostNoob commented 1 month ago
  1. When an engineer with assisting engineers starts a new construction in the middle of working on another, the assisting engineers will immediately switch to the new construction instead of staying on the old.

This seems like it could be troublesome as there will end up being orphaned unfinished structures since all the builders, even assisting ones, moved on to another project before the first/original was finished.

If ordering all assisting engineers to switch from the first/original project to the new project could be accomplished via hovering over the lead/main engineer & then using a key bind, then that might be a compromise as it will still be in the hands of the player if they want to change which project takes priority.

lL1l1 commented 1 month ago

Also assisting engineers don't cancel/retarget reclaim orders, even though they seemingly should since they immediately start assisting in reclaiming.

clyfordv commented 1 month ago

The motivation for "sticky" pod orders is that A. I see people potentially getting a lot more use out of shoulder pods as independent actors if other engineers (but really mostly kennel pods) can assist them properly and B. it's a pain to send a shoulder pod off to build Template X, assign some kennel pods to assist, then have those assist orders disappear as soon as construction is complete and the shoulder pod redocks.

Another solution is giving the shoulder pod an assist order to the base station instead of the (silent) "AssistCommander" order they get now--that just prevents it from docking, and is arguably much cleaner in that it's visible to the player and doesn't involve any backend processing.

clyfordv commented 1 month ago

Accidentally did this on the main branch, closing and remaking.