# Synergy database audit Generated by `lua audit.lua --write`. Do not edit by hand. `test.lua` is the gate (it fails on what is broken). This is the map: it reports what is merely *suspicious*, and records what we already decided so the analysis does not get redone from scratch every session. ## Totals | | | |---|---| | Jokers in the database | 150 | | Famous pairs | 32 | | Clashes | 22 | | Cautions | 15 | | Themes | 29 | | Jokers in no famous pair | 108 | ## Jokers the advisor is silent about These give nothing but engine roles (Mult/Chips/xMult) and want nothing, so they score at most the generic +1 against any joker in the game. That is a legitimate answer for some of them -- but it should be a decision, not an accident. | | count | |---|---| | Silent, reviewed, staying that way | 20 | | Silent, but a lead worth chasing | 12 | | **Silent and never looked at** | **0** | ### Leads worth chasing Unverified. Check each against the Lovely dump before acting on it -- a wrong synergy is worse than a missing one. - **`j_baseball`** — xMult per Uncommon joker owned. We have no rarity tag, and adding one for a single payoff may not earn its keep. - **`j_card_sharp`** — xMult when the hand type was already played this round -- it rewards repeating one hand, which is exactly what Obelisk punishes. Clash? - **`j_ceremonial`** — positional like Blueprint: it DESTROYS the joker to its right. JCA.copy_source already reads board order -- the same machinery could warn "will destroy your Baron" before it eats something irreplaceable. - **`j_chaos`** — free reroll each shop; see j_flash - **`j_erosion`** — +Mult per card BELOW 52 in the deck, so it is the inverse of card_gen: DNA/Marble/Certificate permanently shrink it. Likely CLASHES, and possibly a synergy with anything that destroys cards (Trading Card). - **`j_flash`** — +Mult per shop reroll. Chaos the Clown grants a free reroll each shop, which would give both of them a reason to exist (Chaos is inert today). - **`j_green_joker`** — +Mult per hand, -Mult per discard: Burglar removes discards entirely. Same shape as the existing Burglar + Mystic Summit pair. - **`j_obelisk`** — resets on your most-played hand, so it fights every hand-type build. Has a CAUTION already; the pairwise clashes may be worth adding. - **`j_ramen`** — xMult decays per card discarded, so Burglar (zero discards all run) stops the decay dead. Likely a famous pair. - **`j_ring_master`** — Showman allows duplicates in the pool. Enables copy/duplicate strategies, but we have no tag for "shop pool" effects and inventing one for a single joker is probably not worth it. - **`j_square`** — +Chips on exactly-4-card hands; Four Fingers makes 4-card flushes and straights playable. Needs a tag that does not exist yet. - **`j_supernova`** — Mult scales with times the hand was played; see j_card_sharp ### Reviewed, and deliberately silent - **`j_cavendish`** — the reward for Gros Michel dying, not a partner - **`j_chicot`** — disables the boss blind; no joker interaction - **`j_credit_card`** — lets you go negative; a money buffer, not a combo - **`j_diet_cola`** — sell for a Double Tag; tags are outside our model - **`j_glass`** — wants GLASS cards, and no vanilla joker creates them. Same trap as Steel Joker: enhance_gen is too coarse a tag to use here. - **`j_gros_michel`** — self-destructs; the trap is a CAUTION - **`j_half`** — +Mult on small hands; no joker cares - **`j_ice_cream`** — decays; the trap is a CAUTION - **`j_joker`** — plain +Mult; interacts with nothing - **`j_loyalty_card`** — xMult every 6 hands; no joker interaction - **`j_luchador`** — sell to disable a boss; no joker interaction - **`j_misprint`** — random +Mult; interacts with nothing - **`j_mr_bones`** — death insurance; no joker interaction - **`j_mystic_summit`** — already paired with Burglar (zero discards, max Mult) - **`j_popcorn`** — decays; the trap is a CAUTION - **`j_red_card`** — +Mult per skipped booster; no joker interaction - **`j_ride_the_bus`** — scales on face-free hands; the traps are CLASHES - **`j_steel_joker`** — wants STEEL cards. The only enhance_gen givers make Gold (Midas) and Stone (Marble), so tagging it enhance_gen would invent a synergy that does not exist. No vanilla joker creates Steel cards. Leave it alone. - **`j_stuntman`** — big chips, -2 hand size; the trap is a CAUTION - **`j_throwback`** — xMult per skipped blind; no joker interaction ## Tag health A tag with one member can never fire (it takes two jokers to make a synergy). A tag with two is fragile: drop either joker and the theme dies. | tag | givers | wanters | jokers | theme? | |---|---|---|---|---| | `card_gen` | 3 | 2 | 5 | yes | | `clubs` | 3 | 4 | 4 | yes | | `copy_target` | 10 | 3 | 13 | yes | | `diamonds` | 2 | 2 | **2** | yes | | `discards_up` | 2 | 8 | 10 | yes | | `enhance_gen` | 2 | 2 | 4 | yes | | `faces` | 1 | 9 | 10 | yes | | `flush` | 5 | 4 | 6 | yes | | `four_kind` | 2 | 1 | **2** | yes | | `gold_gen` | 1 | 1 | **2** | yes | | `hand_size` | 3 | 4 | 7 | yes | | `hands_up` | 1 | 1 | **2** | yes | | `hearts` | 2 | 2 | **2** | yes | | `joker_gen` | 1 | 3 | 4 | yes | | `money` | 15 | 3 | 17 | yes | | `pair` | 4 | 3 | 4 | yes | | `planet` | 3 | 3 | 3 | yes | | `probability` | 1 | 7 | 8 | yes | | `retrig_held` | 1 | 4 | 5 | yes | | `retrig_scoring` | 6 | 16 | 22 | yes | | `sell_value` | 2 | 2 | 4 | yes | | `spades` | 2 | 3 | 3 | yes | | `spectral_gen` | 2 | 2 | **2** | yes | | `stone_gen` | 1 | 1 | **2** | yes | | `straight` | 7 | 6 | 8 | yes | | `suit_flex` | 1 | 11 | 12 | yes | | `tarot_gen` | 6 | 2 | 7 | yes | | `three_kind` | 4 | 3 | 4 | yes | | `two_pair` | 3 | 3 | 3 | yes | ## Load-bearing jokers The jokers that appear in the most scoring relationships. If one of these is mis-tagged, the error is spread across the whole database. | joker | partners scoring >= 2 | |---|---| | `j_sock_and_buskin` | 18 | | `j_dusk` | 16 | | `j_hack` | 16 | | `j_hanging_chad` | 16 | | `j_selzer` | 16 | | `j_smeared` | 16 | | `j_splash` | 16 | | `j_to_the_moon` | 16 | | `j_bootstraps` | 15 | | `j_bull` | 15 | | `j_four_fingers` | 12 | | `j_seance` | 12 | Jokers with **no** partner scoring >= 2 anywhere in the game: 30