ResolveActiveSeason() auto-detected the active MythicPlusSeason as the
highest-StartTimeEvent row of the highest expansion. In Midnight that row is
season 122, a placeholder with zero MythicPlusSeasonRewardLevels rows, while the
real Season 1 content season is 117 (reward-level table 233-272, consistent with
the resolved display season 34). Picking 122 made GetVaultRewardLevelCap() and
GetVaultActivityTierId() return 0, so the Great Vault reward level was left
UNCAPPED (a +18 key granted a +18-scaled vault item instead of the retail +10
cap) and the wrong season id was reported to the client.
Verified against the 69299 client DB2 (MythicPlusSeason, MythicPlusSeasonReward-
Levels, MythicPlusSeasonTrackedMap/TrackedAffix, DisplaySeason, KeystoneAffix):
season 122/118 carry no reward levels; 117 = Midnight S1, 120 = Midnight S2
(vault 305-318, matching the community mythicpl.us S2 tables).
Auto-detect now considers only seasons that carry reward-level rows (a live
vault-granting season always does), falling back to the previous unfiltered scan
only when the DB2 has no reward-level data at all (stripped/older client). This
keeps the active season a real content season and consistent with the display
season on both the live snapshot (-> 117) and the newer S2 snapshot (-> 120).
Affix rotation and dungeon pool were checked against the same DB2 and are already
correct (both DB2-derived; affix set {9,10,147,148,158,160,162,165} matches
TrackedAffix for display season 34 exactly).