One of the features in this new command system is a collection of functions contained within the namespace ActionableBots.
This is basically a 'filtering' system that takes command line arguments and returns a list of appropriate bots.
Currently, the list contains the following filters:
Code:
enum ABType {
ABT_None = 0,
ABT_Target,
ABT_ByName,
ABT_OwnerGroup,
ABT_BotGroup,
ABT_TargetGroup,
ABT_NamesGroup,
ABT_HealRotation,
ABT_HealRotationMembers,
ABT_HealRotationTargets,
ABT_Spawned,
ABT_All
};
Not all commands use these filters..nor do those using them allow the use of all filters.
But, it does provide a somewhat standardized approach and facilitates changes rather well.
One of the cases where this approach is really nice is in '
^follow'
Any of the allowed filters can be made to follow a single target.
In particular, a single bot 'byname' can be made to follow another bot in the same group. This eliminates 'bot clumping' while traveling.
(This particular command also has a 'reset' option that will return 'selected' bots to their default follow assignments.)