Cap generic mult/xmult bonus per candidate; opt Stencil out of it
Any xMult joker used to pulse 'recommended' on a board of four unrelated
+Mult/+Chips jokers: the generic engine-complement +1 in JCA.score
accumulated once per owned joker in partners_for, reaching the threshold
of 4 with zero listable partners (pairwise scores never hit 2), so the
card pulsed while its own tooltip said 'No synergy with your jokers.'
- partners_for now counts the generic +1 once per candidate. Tag/pair
scores are even, so the generic bonus can no longer flip a
recommendation at all; a pulsing card always has a nameable partner.
- Joker Stencil is the one xMult joker the generic rule actively
misreads (its multiplier grows with EMPTY slots), so entries support
{no_generic = true} which suppresses the rule in score() and the
generic fallback lines in explain(). Stencil also gains copy_target:
its real famous synergy is being copied by Blueprint/Brainstorm.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -62,8 +62,15 @@ Three-layer split; `JCA` is the single global namespace:
|
||||
- `main.lua` — engine + game integration:
|
||||
- Scoring: `JCA.score(a, b)` = explicit pair bonus (+4) + 2 per give→want tag
|
||||
match in each direction + 1 for the generic "+Mult/+Chips source with an
|
||||
×Mult joker" complement. `JCA.partners_for(card)` aggregates over
|
||||
`G.jokers.cards`; total ≥ `JCA.config.threshold` ⇒ recommended.
|
||||
×Mult joker" complement (second return value flags when that +1 applied).
|
||||
`JCA.partners_for(card)` aggregates over `G.jokers.cards`; total ≥
|
||||
`JCA.config.threshold` ⇒ recommended. The generic +1 counts toward the
|
||||
total once per candidate, not per owned joker — since tag/pair scores are
|
||||
even and the threshold is 4, the generic bonus alone can never trigger a
|
||||
recommendation, so a pulsing card always has a nameable partner. Jokers
|
||||
whose multiplier the generic rule misreads opt out with
|
||||
`{no_generic = true}` in `synergies.lua` (Joker Stencil: its ×Mult grows
|
||||
with *empty* slots, so "+Mult jokers feed it" is backwards).
|
||||
- UI hooks: wraps `Card:generate_UIBox_ability_table` to append a tooltip entry
|
||||
to `aut.info` (format: array of rows-of-UIT-nodes plus a `.name` string —
|
||||
must match what vanilla `info_tip_from_rows` expects), and wraps
|
||||
|
||||
Reference in New Issue
Block a user