Manual Review: "Never Picked" Cards (0% Reward Selection Rate)
Follow-up to reports/rarity_balance_review.md. Every card below showed a
0% reward-pick rate over 30+ head-to-head offers in reports/data/card_rates.json.
This review checks, per card, whether that 0% is a genuine power signal or an
artifact of how the sim decides reward picks.
Important correction to the prior report
reports/card_rates_report.md's "reward pick%" and "shop buy%" are not
independent playtesting evidence. Both come from one function,
derive_tier_builds._card_power(), used directly as the decision rule in
run_simulator.grant_battle_reward() (best_card = max(candidates, key=card_power))
and in shop purchasing. It's a second static formula, not real behavioral data —
so "the z-score formula and the pick rate agree" (the methodology in the prior
report) is really "two formulas roughly agree," which is real signal but
weaker than originally framed.
_card_power() only recognizes ~12 hardcoded keys: dmg, block, heal,
bleed, surge_gain, cashflow_gain, hype_gain, traindata_gain,
combustion_enemy, glitch_enemy, energy_deny_enemy, draw. Any card
whose value comes from something else — conditional/scaling payoffs, discard
synergies, hand-size scaling, percent-based damage, "double X" multipliers,
enemy debuffs like Influence — gets zero credit for that part of its
effect. A 0% pick rate on one of those cards means "the scorer can't see this
card's real effect," not "this card is weak."
Also found in the process: three curse cards (Standard Contract,
Blackout, Hallucination) are registered in CardDatabase.cs's per-sector
card lists that feed RewardUI.cs's normal 2-candidate battle reward —
confirmed by grep, not a sim-only artifact. If that's intentional
(a small chance of a "trap" reward), fine; if not, that's a separate bug from
anything below, worth a decision on its own.
Genuinely weak (real reasoning agrees with the 0% pick rate)
| Card | Rarity | Cost | Effect | Why it's actually weak |
|---|---|---|---|---|
| Power Grid | Rare | 2 | Double Surge | Zero floor value — with 0 existing Surge it's a do-nothing 2-cost card. Even at 3 Surge, doubling to 6 is worth less than a card that just gives 6 of something directly. |
| Cascading Failure | Rare | 2 | Double Enemy Glitch | Same shape as Power Grid — pure multiplier, no floor value. Confirmed independently by its 6% play-rate-in-hand (rarely worth casting even when available). |
| IPO | Rare | 3 | Double Hype | Same "pure doubler" pattern again, at the highest cost of the three (3 energy) and 2% play rate — the worst of the pattern. |
| Circuit | Rare | 1 | Swap a card in hand with one from target's deck | No direct combat value (no damage/block/resource gain), outcome is random, real risk of trading a good card away. Even the original capital-efficiency formula couldn't value this (unmapped effect class, falls to a near-zero fallback). This reads as a genuinely under-designed Rare, not just undervalued. |
| Regulatory Stranglehold | Rare | 3 | Enemy loses 1 energy, apply 3 Influence | 3 energy (often your whole turn) for a control effect with no direct damage/block and (per EFFECT_VALUES) a low per-stack Influence weight. Also the single worst-performing Rare in the original capital-efficiency report (-0.09 efficiency, worst in Healthcare). Two independent formulas and manual reading agree here. |
| Machine Learning | Uncommon | 2 | Gain 1 Training Data (permanent +1 dmg/stack, rest of combat) | Compare directly to Neural Network (Rare, cost 3): 3 stacks + Draw 2 for one more energy. Machine Learning pays 2 energy for a third of that payoff with no card draw. Straightforwardly overpriced next to its own sister card, not just by the formula's judgment — confirmed by its 8% play-rate-in-hand. |
Pattern worth naming: three of the six real problems (Power Grid,
Cascading Failure, IPO) are "double your own stacking resource" cards with no
base effect. That's a design-level issue, not three unrelated card tunings —
any future "double X" card should probably always carry a small guaranteed
floor effect (the way Patent Extension pairs Double Block with Bleed, so it's
never a dead card turn one).
Formula blind spots — 0% pick rate is noise, not a signal (no action needed)
| Card | Effect | Why the 0% is misleading |
|---|---|---|
| Class Action Suit (Rare) | 5 dmg per Bleed on target | Healthcare has real Bleed-application support (Premium Bleed, Chronic Malady, Patent Extension). At 2-3 stacks this is 10-15 dmg for 2 cost — good, just invisible to a scorer with no "per-stack payoff" key. |
| Flare Stack (Uncommon) | Dmg = target's Combustion | Energy sector has real Combustion application (Oil Slick +3, Oil Derrick +2, Controlled Burn +2) — this is a legitimate scaling payoff the scorer can't see. |
| Data Center (Uncommon) | 5 Block per card in hand, max 25 | Genuinely build-order-dependent (best played before other cards), not modeled at all by a flat formula. Real design tension, not a bug. |
| Pivot (Uncommon) | Discard hand, draw 5, exhaust | "Discard-then-draw" isn't a weighted key anywhere — a 5-card refresh is real value the formula just doesn't see. |
| Insurance Claim, Terminal Diagnosis, Quarterly Growth, Family Legacy, Efficiency Filter, Campaign Donation, Injunction | Per-Bleed block / %-missing-HP damage / %-Block damage / per-turn-number block / apply-a-condition effects | Same story: each uses a conditional/scaling/status-application effect with no corresponding key in the 12-field scorer. |
Plain filler commons — 0% pick rate is expected, not a problem
Firewall, Insurance, Sterile Shield, Transformer, Cache Hit, Ground Wire, FDA
Filing, and similar "flat block/draw" commons will always lose a random
pairwise comparison against any card with bonus upside, by construction —
that's what makes them Commons. Their existence and low win rate in this
metric is by design, not a bug. No action recommended.
Manual review by Claude, cross-referencing derive_tier_builds.py,
combat_sim.py, CardDatabase.cs, and each card's .tres effect definition.