Make "Explore" and "Goto" agents rather than activities
Explore already is, I think.
common/unit.h:
#define SPECENUM_NAME server_side_agent ... #define SPECENUM_VALUE2 SSA_AUTOEXPLORE #define SPECENUM_VALUE2NAME N_("Autoexplore")
Reply To cazfi
Explore already is, I think. common/unit.h:
Yes, I have somehow missed that the process has started back in 3.1 and bool unit.ai_controlled is replaced by enum unit.ssa_controller. Just seemingly it got stuck in the middle for now.
An idea I have talked about here: make activities that are actually agents a separate category (thus, unit packet ai / unit ai_controlled becomes enum rather than boolean) that also includes autosettling and maybe some more agents in the future (we may even reserve some items for server-side tweaks in the first modified protocol version). It seems probably a bad idea to include requirements on agent controlled units (requirements on "Goto" are likely already rejected), some future version of e.g. explorer agent may use another activity (like, converting in a port), connecting orders have the same mechanics as goto orders but other activities, and just separating agents from activities gives more consistent logic. Surely, some things in the code that depend on current activity mechanics have to be rewritten with this change, but likely nothing too complicated. (Note: I myself have little hope to code it up to 3.2 d3f/npf, so if nobody will do, it sjould be postponed).