I believe I worked out that AC is a loss when used during TP phase, break-even when used with SA/TA (stacked, so JA only takes 1 second delay), break-even for DE/Evis, and a gain when stacked with Exenterator (and I'd assume also a gain with SB/Mercy/Rudra/Mandalic, though I haven't checked).
What I'd do is have gear sets:
WS-Exenterator-Normal
WS-Exenterator-SA
WS-Exenterator-TA
WS-Exenterator-AC
WS-Exenterator-SATA
WS-Exenterator-SAAC
WS-Exenterator-TAAC
WS-Exenterator-SATAAC
Then:
Code
<if spell="Sneak Attack">
<var cmd="set SAActive Yes" />
<equip when="precast" set="%Spell" />
</if>
<elseif spell="Trick Attack">
<var cmd="set TAActive Yes" />
<equip when="precast" set="%Spell" />
</elseif>
<elseif spell="Assassin's Charge">
<var cmd="set ACActive Yes" />
<equip when="precast" set="%Spell" />
</elseif>
...
<if type="Weaponskill">
<var cmd="set WSTag -" />
<if mode="OR" BuffActive="Sneak Attack" advanced='"$SAActive"="Yes"'>
<var cmd="set WSTag $WSTagSA" />
</if>
<if mode="OR" BuffActive="Trick Attack" advanced='"$TAActive"="Yes"'>
<var cmd="set WSTag $WSTagTA" />
</if>
<if mode="OR" BuffActive="Assassin's Charge" advanced='"$ACActive"="Yes"'>
<var cmd="set WSTag $WSTagAC" />
</if>
<if advanced='"$WSTag"="-"'>
<var cmd="set WSTag -Normal" />
</if>
<equip when="precast" set="WS-%Spell$WSTag" />
<var cmd="set SAActive No" />
<var cmd="set TAActive No" />
<var cmd="set ACActive No" />
</if>
Note: The reason for the variables for SA/TA/AC being active rather than just checking BuffActive is that I've found that it takes a second after the JA is initially used before it registers as being active for a BuffActive check. Normally that doesn't matter, but it certainly affects thf stacking its JAs. So if I did SA+WS, I'd only swap into WS gear, not SA+WS gear.
The code also needs to check for those variables and reset them to No periodically, but the logic flow of that is a little more complicated.