QA day-1 bug bash: weak fix, push/pull, popup canvas, +2 cards
Reported bugs from day-1 QA on the staging branch:
Reported bugs from day-1 QA on the staging branch:
-
Unlock Token Picker rendered as a vertical 1-char-wide column over the main menu (same nested-canvas RT-not-stretching bug we hit on the EA disclaimer popup). Fix: explicit canvas RT stretch in UnlockPickerUI.BuildOverlay. Defensive same-fix applied to DifficultyUnlockPopup and EscapeMenu so we don’t get burned by the same pattern again.
-
Mana Surge should exhaust, Overclock should not. Swapped exhaust flags + descriptions on both cards in CardDatabase.
-
Barrier “gives 8 shield” but actually gave 12 in Mid stance. Cause: CardData.GetFormattedDescription had stance notes for frontBonusDamage, midBonusDamage, midBonusBlock, backBonusBlock — but NOT for midBonusShield. Added the missing branch. Same fix benefits Frost Nova, Arcane Shield, Cleansing Arc, Pulse — all of which had the same silent bonus.
-
Weak reduced damage by ~10% instead of 50%. Five sites in CombatEnemy were applying weak as
* 0.75fto base damage BEFORE distance and damage multipliers, then rounding. Now: full damage chain first, then 0.5x at the end if Weak is on. A 28-damage telegraph with Weak correctly shows 14 now. -
Push/pull flipped enemy attack TYPE on Mixed-pattern enemies. Fixed in two places:
- CombatEnemy.DetermineIntent now writes
telegraphedAttackTypeLabelwhen the intent fires. Once locked, push/pull doesn’t change it until the next turn re-rolls. - EnemyUI.GetAttackTypeLabel reads the locked label first, falls
back to the live-distance computation only if no label is set yet.
Also: out-of-range melee enemies used to flip to Advance with a
flat
baseDamage - 2. Now they stay attacking with the per-pattern distance multiplier (so a melee at FAR does ~0 damage if damageMultiplierAtFar is 0, but stays a melee attack — never silently flips to ranged).
- CombatEnemy.DetermineIntent now writes
-
Bleed not stacking on EMP Walker (no log message). Code review showed bleed has no immunity, but shield absorption could explain it. Added a diagnostic log line so the next repro tells us whether the bleed was eaten by shield, blocked, or never queued. If user sees this again, the log will pinpoint the cause.
-
New content: Staff push/pull cards. Force Pulse (1-cost, 6 dmg + push 1, single target, Uncommon) gives Staff a reliable single- target push to complement the existing AoE Telekinetic Push. Gravity Well (1-cost, 6 dmg + pull 1, single target, Uncommon) gives Staff its first pull card. Card count 140 -> 142.
Card reference xlsx regenerated.
Co-Authored-By: Claude Opus 4.7 (1M context) [email protected]
Commit 2a39c3e by astafford8488.