feat(paging): accept [aura:Name] / [form:Name] / [stance:Name] form-name conditionals

Translate non-numeric stance/form/aura conditionals to [stance:N] via
GetShapeshiftFormInfo() before handing the string to RegisterStateDriver.
Lets CoA custom-class users write self-documenting paging strings:

    [aura:Beetle Form]6;1     -- instead of [stance:1]6;1
    [stance:Beetle Form/Wasp Form]9
    [noaura:Beetle Form]2

All three keywords (aura, form, stance) are accepted equivalently when
the value is a non-numeric form name. Numeric values pass through
unchanged. Unresolved names are left as-is so the failure is visible
at parse time.

Re-applies on UPDATE_SHAPESHIFT_FORMS / PLAYER_ENTERING_WORLD so newly
learned forms take effect without a /reload (defers during combat
lockdown to avoid taint).

Bumps Version to 4.4.2-2-g3b02ee4-coa1 so the loaded copy is
identifiable in-game.
This commit is contained in:
2026-05-07 12:42:34 +02:00
parent 57a5cdabdf
commit a32bba6dc0
4 changed files with 220 additions and 2 deletions
+4
View File
@@ -187,6 +187,10 @@ function StateBar:UpdateStates(returnOnly)
UnregisterStateDriver(self, "page")
self:SetAttribute("state-page", "0")
-- CoA: rewrite [aura:Name] / [form:Name] / [stance:Name] -> [stance:N]
if Bartender4.CoATranslateConditionals then
statedriver = Bartender4:CoATranslateConditionals(statedriver)
end
RegisterStateDriver(self, "page", statedriver or "0")
self:SetAttribute("_onstate-assist-help", [[