Skip to content

Pr/3 new plants - #3

Merged
MikeIsom merged 19 commits into
masterfrom
pr/3-new-plants
Oct 30, 2026
Merged

MikeIsom merged 19 commits into
masterfrom
pr/3-new-plants

Conversation

@MikeIsom

Copy link
Copy Markdown
Owner

No description provided.

The plug on a card's back marks the weak plants: 03-15 in the standard
deck and the alternate deck (Set 2), 01-16 in Set 1. The engine assumed
"15 and below" for the next-card-is-weak hint and for which Middle East
Step 1 plants are boxed; both now read the flag through hasPlug, which
falls back to 15 and below for cards in states saved without it. Adds
faceValue for plant numbers read as values. No behaviour changes.

The alternate deck is checked card by card against the Set 2 list.
The New Power Plants, Set 1: 46 plants and a Step 3 card, with plug
backs on 01-16. Cards printed with a "+" (46, 50, 52, 54, 57, 60) keep
their numbers and carry a plus display flag. Fusion plants are modelled
like the standard 50. The list is checked card by card against Appendix
A. Not used by any game yet.
New game option plantDeck: 'standard' (default), 'set1', 'set2',
'shuffled' or 'random'. Set 1 and Set 2 are prepared under Recharged
from their cards and 2F-Spiele's map notes (deck-notes.ts):
- Set 1 boxes 52, 54, 57 and 60 and uses the plug cards 01-16 for the
  opening market (plants-new-power-plants-set1.pdf p.2, Variant 1);
  Set 2 uses its plug cards 03-15 (plants-new-power-plants-set2.pdf
  p.4, Variant 1).
- Then the normal Recharged preparation (base-recharged.pdf p.3), with
  each map's own changes (new-decks.ts); so far UK & Ireland's two
  plants below the Step 3 card, and Europe's own market of 9.

Set 2 on Europe and North America is the existing alternate deck, so
those games are stored and play exactly as with alternatePowerPlants.
Only the maps whose notes need no changes are in the notes table yet;
any other deck/map pair throws a clear error. 'shuffled' and 'random',
and the new decks under Original, are not available yet. Standard-deck
games are unchanged.
Adds the map notes that box plants, place plants in the opening market,
protect plants from the player-count removal, or set plants aside for
the top of the stack (Set 1: plants-new-power-plants-set1-map-notes.pdf
pp.1-3; Set 2: plants-new-power-plants-set2-map-notes.md):
- France: box 10 / 11; 08 / 13 in the market.
- Brazil: 06 / 05 and 14 in the market; the other biogas plants
  protected (Set 1: 21, 27, 33, 42; Set 2: 16, 19, 26, 39).
- Spain & Portugal: 15, 16, 26 / 17, 24, 28 put on top of the stack at
  the start of Step 2 (stored as stepTwoTopPlants).
- Russia: box 06 and 21 / 05 and 14.
- Quebec: 11, 15, 16 / 11 in the market; Set 2 puts 17 and 24 on top.
- Australia, India, South Africa: box 19, 08, 07 / 21, 13, 10.

And the maps' own preparation with any deck: France's plug removals
(maps-france-italy.pdf p.2), Russia's 3 + 3 market with the plug cards
on top and socket-only removals (maps-russia-japan.pdf p.2), and
Quebec's ecological plants kept out of the removal
(maps-quebec-baden-wurttemberg.pdf p.2). India's garbage plants need
one more garbage with any deck.
With Set 1 the uranium resupply stops once a player buys 38, with Set 2
once a player buys 37 (plants-new-power-plants-set1-map-notes.pdf p.1;
plants-new-power-plants-set2-map-notes.md). It never triggers if that
plant was removed in setup, since nobody can buy it. The trigger reads
the plant's face value through uraniumStopPlant; the standard deck keeps
39. The help texts mention the new decks' plants.
The notes box the garbage and nuclear plants with a plug on the back if
they are in the opening current market (Set 1: 06 and 08; Set 2: 05, 13
and 14). These are exactly the plants Middle East's own Step 1 rule
boxes now that it reads the plug flag, so the notes need no data of
their own; a test checks the lists. With Set 2, players may not buy
garbage during Step 1, only oil for the garbage/oil hybrids
(plants-new-power-plants-set2-map-notes.md).
Their notes box plants by player count and their maps build their own
stacks (Set 1: plants-new-power-plants-set1-map-notes.pdf pp.1, 3;
Set 2: plants-new-power-plants-set2-map-notes.md):
- China: plants up to 30 in ascending order on top, the remaining
  31-35 shuffled with the Step 3 card, then the rest shuffled; the
  round 1 market is the lowest plant for each player
  (maps-china-korea.pdf p.2).
- Bremen: the normal preparation without further removals
  (maps-bremen-manhattan.pdf p.2).
- Manhattan: the Step 3 card boxed; 7 (Set 1) or 4 (Set 2) plug cards
  boxed at random, 8 of the rest to the market and any left on top of
  the socket cards. With Set 1 at 2-3 players, 16 is boxed first, so
  all 8 remaining plug cards go to the market and none goes on top
  (owner's ruling).
--deck standard,set1,set2 picks the decks to play (default standard).
Standard-deck seeds are unchanged; other decks get the deck in their
seed. A game whose setup throws is now reported as an error instead of
stopping its worker.
Northern Europe (plants-new-power-plants-set1-map-notes.pdf p.2;
plants-new-power-plants-set2-map-notes.md): each region in play adds
its two plants before preparation. With Set 2 they box the plants with
the same numbers. With Set 1, Sweden North boxes Set 1's 21 and 26 and
the Baltic States Set 1's 19 and 22; these boxes only touch the deck's
own cards, so Denmark's 19 and 26 stay when they are in play too.
Regional plants get their deck's plug flag, which puts Norway's 07 and
Sweden South's 10 among the plug cards.

Sweden North's 25 joins Set 1's 25 as 25.1 (ruling R11): a regional
plant whose number is still in the deck gets number + 0.1, so it sorts
just above 25 and moves still name plants by number. Rules that read a
plant's number as a value now use its face value: the minimum bid, the
city-count removal when building and drawing, and the discount
replacement check (base-recharged.pdf p.4, "printed number").
Ordering, identity and largest-plant tiebreaks keep the full number.
Log text shows plants by plantLabel (face value, "+" where printed),
which is unchanged for every existing card.
Ruling R10 for India with Set 2: a garbage/oil hybrid needs one extra
fuel unit (either fuel) when its run includes at least one garbage; on
oil alone it burns the printed amount, and it stores twice the printed
amount as before. The powering options and India's must-power target
check follow this; the target check tries each hybrid both ways. Other
maps are unchanged. (India's garbage plants already need one more
garbage with any deck.)
Cards, the plant tooltip in the log and the sole-buyer dialog show a
plant's face value with its printed "+" (plantLabel): Sweden North's
25.1 shows as 25, and Set 1's 46+ and 50+ keep their plus. The sole
buyer's minimum bid uses the face value. The journal's lookup of cards
no longer on the board now builds the game's own card list (deck and
regional plants, through the engine's withRegionalPlants), so it finds
Set 1 and Set 2 cards and tells 25 from 25.1.
For Set 1 and Set 2 on every Recharged map with 2-6 players: the same
seed gives the same setup, the opening market comes from the plug cards
(China and Middle East aside, by their own rules), and a seeded game of
random moves rebuilt from its log with reconstructState reaches the
same state.
scripts/deck-table.ts prints, for Set 1 and Set 2 on every Recharged
map, what its preparation does: boxed plants, the opening market and
plug cards, the top of the stack, removals, protected plants, Step 2
set-asides, the Step 3 card, the uranium stop and the map's other
rules, with the plants in the game at 2-6 players from real setups.
Markdown by default, --json for tools.
plantDeck 'shuffled' (engine-update-scope.md, Part 6): for each plant
number, one card picked at random from the decks that print it
(standard, Set 1, Set 2), from a rng seeded from the game seed. 52, 54,
57 and 60 are left out, 01 and 02 can only come from Set 1, and there is
one Step 3 card. Each card keeps its own plug flag and records its deck
(origin); the picks are kept in the game state (shuffledDeck), so the
viewer can rebuild the card list without the seed.

Each card follows its own deck's notes: a note's plant is boxed, placed
in the market, protected or set aside only when the card with that
number comes from the note's deck. The standard deck's rules are now
notes too (standardNotes), following the map booklets as the engine's
standard Recharged setups use them. On Germany and Italy the first named
stop plant bought stops uranium (standard 39, Set 1 38, Set 2 37); on
Middle East, Set 2's Step 1 garbage ban applies when one of its
garbage/oil hybrids is in the game (both owner's rulings). China,
Bremen, Manhattan and Northern Europe, whose notes rebuild the whole
deck, refuse the shuffled deck with a clear error.
plantDeck 'random' (engine-update-scope.md, Part 6) picks the standard
deck, Set 1, Set 2 or a shuffled deck at random at setup, from a rng
seeded from the game seed (so the same seed always gives the same pick),
and never a shuffled deck on China, Bremen, Manhattan or Northern
Europe. The pick is stored as plantDeck with randomPlantDeck: true, so a
replay builds the same deck, and the log records it. The new decks stay
Recharged-only for now.
--deck accepts shuffled and random too; shuffled skips China, Bremen,
Manhattan and Northern Europe, where it is not allowed.
For each map, the shuffled row lists every deck's notes by card version
(the standard deck's included), the map's own preparation, and the
plants in the game in sample setups, or says the shuffled deck is not
allowed there.
Set 1, Set 2, shuffled and random now work under Original, following
the owner's rulings O1-O8 (engine-update-scope.md, Part 7):
- O1: the opening market is the 8 lowest plants of the deck, 4 + 4.
- O2: the plant on top of the stack in place of the standard 13 is Set
  1's 10, Set 2's 11, or in a shuffled deck the lowest of standard 13,
  Set 1's 10 and Set 2's 11 in the game. When a note boxes it or puts it
  in the market (France, Quebec Set 2), nothing is set on top.
- O3: 8, 8 or 4 plants removed at random with 2, 3 or 4 players
  (base-original-2013.pdf p.7), after setting the top plant aside; Set
  1 first boxes 52, 54, 57 and 60; the Step 3 card at the bottom.
- O4: the notes that go by number apply unchanged: removals, uranium
  stops (Germany too, with a new deck), Step 2 set-asides, protected
  plants, the China, Bremen and Manhattan lists, Northern Europe swaps.
- O5: a note's market plants go in first, then the lowest others; on
  Manhattan the highest plug plants are boxed; Quebec Set 2's 17 and
  24 still go on top.
The maps' own rules still apply: Russia's 3 + 3 market, Bremen's lack
of removals, Quebec's protected ecological plants, UK & Ireland's Step
3 card, and Europe's own preparation (owner's ruling). In a shuffled
deck the standard 39 does not stop German uranium under Original
(owner's ruling). Standard-deck Original games are unchanged.
Rows for Set 1 and Set 2 under Original show the opening market and the
plant set on top from a real 4-player setup (or that a note takes it),
the Original removal counts, and the plants in the game at 2-6 players.
@MikeIsom
MikeIsom merged commit a18deaf into master Oct 30, 2026
5 checks passed
@MikeIsom
MikeIsom deleted the pr/3-new-plants branch October 30, 2026 19:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant