Three tester-reported bugs in one pass:
1. Multi-round aura icon was missing because AURA_APPLY/AURA_CHANGE
wire param 0 (AbilityID — used by the client to look up the spell
icon) carried the parent cast ability instead of the actual aura
ability. When a wrapper ability applies a sub-aura via
AuraBattlePetAbilityID, the cast ability has no icon and the slot
came up blank. Use AuraBattlePetAbilityID when set, fall back to
the cast ability ID otherwise. Stored on the aura so AURA_CHANGE
and AURA_CANCEL ticks pick up the same ID.
2. Weather auras (Call Darkness etc.) were landing on the casting
pet with a turn counter instead of in the middle environment slot.
Root cause: BuildEffectActionMap's weather label match was an
exact string set ("weatherState"/"WeatherState"/"weatherAura"/
"WeatherAura"). Labels like "WeatherStateID" missed the weather
bucket and fell into the "State" substring branch, so the parent
ability never got into _weatherAbilityIDs and IsWeatherAbility
returned false at runtime. Replace with a case-insensitive
"weather" substring check that runs before the State/etc. checks.
3. Wild battles where the player captured the only opponent did not
credit DEFEATBATTLEPET quest objectives because the captured pet
stayed alive (Health > 0). Capture removes the pet from play just
like a kill, so credit it too.
Also raise GenerateWildTeamInput's "no available abilities" log from
DEBUG to WARN ("battlepet" channel) so the next time a tester sees a
wild pet idle, the species ID and ability slots show up in the log
without needing to flip the global log level.
Fix WarbandScenePlacementFilterReq layout to match client metadata.
Fix all parent index fields to be unsigned as required by DB2 loader.
Update warband group limit from 5 to 20 (retail 11.1+).