Files
JokerComboAdvisor/CHANGELOG.md
T
funman300 65b423c77d
test / test (push) Successful in 15s
Hold the hover tooltip to the screen against the real font
The pixel-measured wrap passed the headless suite (which stubs text_width) but
failed three assertions under the real engine in the smoke harness:

- "Looking for:"/"Offers:" hints and the two-tone combo rows render at scale
  0.3 but the width budget -- and every other row -- is measured at 0.32, so a
  row that fit at 0.3 slipped over the budget once measured at 0.32 and clipped.
  Render those rows small as before, but bound their wrap at the 0.32 reference:
  a 0.3 row is narrower still, so it can only wrap early, never clip.
- wrap_measured word-split multi-word joker names, so a fusion's result read as
  "Fusion ready: Diamond" / "Bard ($12)" -- two jokers, not one. atomic() fuses
  a name or multi-word label into one unbreakable wrap token (spaces -> a \1
  sentinel, restored for measurement and output); applied to every joker name
  and tag label that flows through a wrapped row.

Smoke: 20/20 against the real Card:generate_UIBox_ability_table pipeline and the
real Fusion Jokers recipe table. Headless: 947 pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-27 13:09:40 -07:00

3.5 KiB
Raw Blame History

Changelog

Unreleased

Changed

  • The synergy catalog now opens from the pause menu (Escape > Combos, under Settings) instead of a button in the run HUD, which keeps the play screen clear. Same overlay, same tabs; Mods > Combo Advisor is unchanged.

Fixed

  • The Combo Advisor hover tooltip no longer runs off the edge of the screen: every advice row is measured against the real font and wrapped to the card's gutter, and a wrapped line never splits a joker name ("Diamond Bard" stays whole rather than breaking across two rows).

Fusion Jokers integration

  • When Fusion Jokers is installed, hovering any joker that is a fusion component names the fusion it feeds, the discounted cost, and what is still missing ("Fuses into Diamond Bard ($12) — still needs Rough Gem"). In the shop it answers the buy-side question instead: "Buy to fuse into Diamond Bard ($12 to fuse)".
  • Fusing consumes its components, so a ready fusion also reports the combos that die with them ("Fusing drops combos with: Smeared"). No other mod can answer that — it is the reason the integration exists rather than just restating the recipe.
  • Costs mirror Fusion Jokers' own discount arithmetic, and components are counted by quantity, so a recipe needing 3× Joker asks for three.
  • Not installed means silence, like every other integration.

1.1.0 — 2026-07-15

New advice surfaces

  • Consumable advice: shop Planet/Tarot/Spectral cards and their booster packs name the owned jokers they feed; Standard Packs warn when they would shrink Erosion's Mult. Silent unless an owned joker cares.
  • Sticker cautions, per card instance: perishable on a scaling joker ("gains die in 5 rounds") and rental on a money joker ("rent may eat its payout").

Database fixes (full audit against the real game code)

  • DNA is no longer called a Pair enabler — its trigger (first hand of round, exactly 1 card) makes that advice meaningless. Its trips/quads enabling and Hologram pairing stay.
  • Removed the Vampire + Marble clash: Marble feeds Vampire (a Stone card is fuel, same shape as the Midas Mask pair). Stone-build harm remains covered by Vampire + Stone Joker.
  • New wants: Delayed Gratification (extra discards raise its payout), The Idol (Smeared doubles its eligible cards), 8 Ball (retriggers re-roll it), Card Sharp (extra hands make replays routine), Perkeo (Spectral and Planet supply are duplication targets, not just Tarot).
  • New famous pair: Burglar + Card Sharp. New cautions: Troubadour (plays one fewer hand each round) and Merry Andy (costs 1 hand size).
  • Suit tooltip phrasing no longer claims a payoff joker "turns cards into" its suit.

Tooling

  • JOKER_EFFECTS.md: all 150 vanilla joker effects, keyed by real center keys, for auditing tags without paraphrasing from memory.
  • The audit now records verdicts for two-member ("fragile") themes and fails on an unreviewed or stale one, same as silent jokers.
  • CI workflow (Gitea Actions): syntax check, the suite on Lua 5.4 and LuaJIT, audit freshness.

1.0.0

Initial release: synergy scoring and shop recommendations, hover tooltips with reasons, famous pairs, clash/caution warnings, sell advisor, copy advisor (Blueprint/Brainstorm chains), boss-blind cautions, build gaps, combo/theme discovery with catalog tabs and progress, post-run recap, learning mode, JokerDisplay and Too Many Jokers integrations, public API for other mods (JCA.register, register_pair, register_clash).