In terms of speeding things up, is there a way of knowing when the agent has all the mission bonus characteristics? If so you could cut a bit shorter by selecting the first agent it gets to that has all the correct bonuses.
It does. Or I'm assuming it can. ....might actually be a few hiccups on the macro level. Might be easier with or require a plug-in helper but let's not side-track on that yet.
Talk out the logic us humans would use here. We "see" the bonuses on the agent in question:


For the first, the first character that has "Heroic" is the one we go with.
For the second, the first that has "Elemental" but not a negative.
- Remember any with bonus and negatives and fall back on them?
For the third, the first that has BOTH bonuses.
- Remember the first that had ONE bonus and fall back to it.
In all cases, if one isn't found - be tracking Success % and use the highest.
That would work. Assuming we can "see" the bonus. Will try to see what's possible.
EDIT: Initial tests are mixed.
122 ~ 1.1.1.1.2.1.1.17.2.7.1.2.2.2 ~ TRUE ~ TRUE ~ FALSE ~ Cautious ~ OW_ALL_MinionAttributeLabels ~ Label
125 ~ 1.1.1.1.2.1.1.17.2.7.1.2.3.2 ~ TRUE ~ TRUE ~ FALSE ~ Shaman ~ OW_ALL_MinionAttributeLabels ~ Label
/echo ${Window[OverseerWnd].Child[OW_ALL_MinionInfoArea].FirstChild.Next.Child[OW_ALL_MinionsBonusAttributes].FirstChild.Next.Child[OW_ALL_MinionAttributeLabels].Text}
/echo ${Window[OverseerWnd].Child[OW_ALL_MinionInfoArea].FirstChild.Next.Child[OW_ALL_MinionsBonusAttributes].FirstChild.Next.Next.Child[OW_ALL_MinionAttributeLabels].Text}
This outputs "Cautious" and "Shaman".
However we can't tell the difference between Active, Enabled, Green, Grey, anything.
So! We can build the list of the bonuses and negatives. But not know when a certain agent has applied to it.
Where to go from here:
- Plugin support to help. Definitely possible.
- Hard-coded list of agents/bonuses. Can be done but requires keeping in sync with EQ
- Dynamically updated list of agents/bonuses. Can walk the [Agents] tab periodically, on-demand, or on each change --- and extract the list of agents and their abilities
My day is nearing to a close - but given there's not much more to this silly "game" - might as well look deeper into this.