== Tooltip root-cause fix ==

Tooltip was anchoring to canvas BOTTOM-LEFT (0,0) but ScreenPointToLocalPointInRectangle returns local coords relative to the canvas’s CENTER pivot (0.5, 0.5). The math was applying center- relative coords to a bottom-left anchor, so the tooltip landed at negative coords (down-and-left, off-screen) — exactly what the user reported. Previous attempt only changed the pivot, didn’t fix the anchor. Now anchor is (0.5, 0.5) — coordinate systems align, tooltip sits centered horizontally just below the cursor with auto-flip when near the bottom edge.

== Victory transition flash root-cause ==

Path: Continue click -> ReturnToMap -> DestroyAllCombatUI -> SceneTransitioner.LoadScene. The 0.28s fade-out animation starts at alpha=0, so during those 0.28s the screen is NOT covered. Combat UI is already torn down, scene hasn’t loaded — empty Unity scene flashes through.

Fix: new SceneTransitioner.CoverNow() snaps alpha to 1 instantly. Called BEFORE DestroyAllCombatUI in ReturnToMap, ReturnToMainMenu, and TryAgainSameClass. LoadSceneRoutine detects alpha is already 1 and skips its redundant fade-out, going straight to the async load. No more flash.

== Card balance + thematic fixes ==

  • Caltrops + Trap: new forceMeleeDamage card flag — when true, the damage label reads “melee” regardless of weapon. Both cards belong to the Bow (ranged) class but thematically fire when an enemy walks INTO them at close range; melee damage type is correct. DamagePreview also honors the override for distance multiplier scaling.

  • Knockback Round: removed backBonus armor (3) — was a leftover from early tuning, didn’t fit the card’s offensive identity.

  • Steady Shot: replaced backBonus armor (3) with new backBonusDamage field (3). Patient-shooter archetype now scales DAMAGE in Back stance, not block. New CardData.backBonusDamage field added; full plumbing through Create(), GetFormattedDescription stance note, CombatManager.PlayCard’s Back-stance branch, CardUpgrade scaling (+2 per tier matching frontBonusDamage).

== Enemy HP global scaling ==

Reduced from 1.5x bump to 1.3x per playtest feedback that fights were dragging out too long before reaching HP through the dual- defense layers. Normal: 1.50 -> 1.30 (-13%) Nightmare: 1.875 -> 1.625 (-13%) Hell: 2.25 -> 1.95 (-13%)

Co-Authored-By: Claude Opus 4.7 (1M context) [email protected]


Commit 76595de by astafford8488.