0.7.5:0 — bundle Station Master v0.7.5
Submodule pinned to v0.7.5 (3e96149). current.ts bumped in place at 0.7.5:0 — no new version file, no migration: the change is a client-side flow change (solitaire asks for its options before dealing, the same question the multiplayer lobby already asks) that touches no rule the server enforces and no save format, so every game in progress carries over without exception. Verified: npm run check clean, prettier clean, make x86 packs as v0.7.5:0, installed on phoenix.local — logs show the empty migration running and both games in progress (WHISTLE-4086, COAL-7370) resuming with their same intent counts, and the served play.html confirmed to contain the new #solitairesetup screen. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AdG46Ja2PEDBkpqiDazMoX
This commit is contained in:
@@ -13,8 +13,13 @@ Station Master is a railroad operations board game with an authoritative multipl
|
||||
solitaire needs no server and is not what this package is for. This package runs that server —
|
||||
the browser client, the lobby, and the intent/SSE API — as a single StartOS service.
|
||||
|
||||
**Bundled version: 0.7.4.** Three rules corrections off the tracker (Gitea#13, #5, #19), all of them
|
||||
places where the code and the cards disagreed.
|
||||
**Bundled version: 0.7.5.** A client-side flow change: a genuinely fresh visit to the solitaire page
|
||||
now opens a setup screen and asks for the game's options before dealing, the same question the
|
||||
multiplayer lobby has asked before a game starts since 0.6.0. No rule the server enforces changed,
|
||||
so this update carries every game in progress, on the server and in a browser, without exception.
|
||||
|
||||
**0.7.4 bundled three rules corrections** off the tracker (Gitea#13, #5, #19), all of them places
|
||||
where the code and the cards disagreed.
|
||||
|
||||
**The Yard Office is offered rather than imposed (Gitea#5).** It was implemented in a form missing
|
||||
all three of its conditions: a qualifying train was teleported onto the card, so nobody was asked, no
|
||||
@@ -34,13 +39,14 @@ and was played 4 times in 4,212 offers across 600 games. It is now a directional
|
||||
Limits, spent on the train it stops, playable either in phase or at the moment the engine sees a
|
||||
certain collision.
|
||||
|
||||
**GAMES IN PROGRESS MAY NOT SURVIVE THIS UPDATE.** Unlike 0.7.3, which changed no rules, each of the
|
||||
three above can stop an older history replaying: the Red Flags intent changed shape, a make-up that
|
||||
was legal may now be refused, and a Yard Office arrival asks a question no older history has an
|
||||
answer for. It fails safe — `src/server/index.ts` refuses to resume a save the rules reject, logs
|
||||
which move it stopped at, and **leaves the file untouched**, so an operator can put 0.7.3 back on to
|
||||
finish a game that matters. A game that never meets one of the three carries on normally, which is
|
||||
why this is "may not" rather than 0.7.2's "will not".
|
||||
**GAMES IN PROGRESS MAY NOT SURVIVE AN UPDATE FROM BEFORE 0.7.4.** Unlike 0.7.3, which changed no
|
||||
rules, each of the three above can stop an older history replaying: the Red Flags intent changed
|
||||
shape, a make-up that was legal may now be refused, and a Yard Office arrival asks a question no
|
||||
older history has an answer for. It fails safe — `src/server/index.ts` refuses to resume a save the
|
||||
rules reject, logs which move it stopped at, and **leaves the file untouched**, so an operator can
|
||||
put 0.7.3 back on to finish a game that matters. A game that never meets one of the three carries on
|
||||
normally, which is why this is "may not" rather than 0.7.2's "will not". **0.7.5 carries every game
|
||||
forward without exception** — see above.
|
||||
|
||||
**Diagnosing the interruptions.** The Mainline Phase can now stop and ask three different questions,
|
||||
of three different players: §8.1's clearance goes to the Superintendent, the Yard Office offer and
|
||||
|
||||
@@ -35,6 +35,15 @@ watches the table — there is nothing else to open.
|
||||
Solitaire runs entirely in your own browser and needs nothing from the server, so it works here
|
||||
exactly as it does on the public Station Master site.
|
||||
|
||||
**What changed in 0.7.5.** Solitaire now asks before it deals. A genuinely fresh visit to the
|
||||
solitaire page opens a setup screen with the full set of options — game type, starting hand, where
|
||||
an Extra may start, the revenue rates, victory conditions, and the optional rules — the same
|
||||
question the multiplayer lobby has asked before a game starts since 0.7.0, below. Press **Deal**
|
||||
when you're ready. A saved game, a shared link that already carries a seed, or a link the setup
|
||||
screen itself just produced all skip straight past it — those already answer the question rather
|
||||
than needing to ask it again. Nothing about the rules changed, so **every game in progress carries
|
||||
over**, both here and on the multiplayer server, without exception.
|
||||
|
||||
**Setting a game up (new in 0.7.0).** The lobby opens on **Join a game**: type the code you were
|
||||
given and you will see the whole rule set — the opening hand, what the work pays, every way the game
|
||||
can end — *before* you take a seat. Creating a game instead starts from a **game type**: Co-op,
|
||||
|
||||
+44
-106
@@ -5,122 +5,60 @@ export const current = VersionInfo.of({
|
||||
// (`versions.md`'s consistency checklist), so bumping the submodule pin and bumping this are one
|
||||
// action. The downstream half moves only for packaging-only changes, and RESETS to `:0` when the
|
||||
// upstream half moves.
|
||||
version: '0.7.4:0',
|
||||
version: '0.7.5:0',
|
||||
releaseNotes: {
|
||||
en_US:
|
||||
'Bundles Station Master v0.7.4 \u2014 three rules corrections. IMPORTANT: a game already in progress may ' +
|
||||
'not carry over. These change what the rules accept, so a saved game can stop replaying; the server ' +
|
||||
'declines to resume one rather than breaking it, says which move it stopped at, and leaves the file ' +
|
||||
'untouched, so you can put v0.7.3 back on to finish a game you care about. THE YARD OFFICE IS NOW ' +
|
||||
'OFFERED, NOT AUTOMATIC. A freight train arriving in your district is asked where it should go, it ' +
|
||||
'must be able to reach the yard in one move, and if there are cars standing on the way in it crashes ' +
|
||||
'into them \u2014 none of which the game checked before. When it cannot be offered, the history says why. ' +
|
||||
'SOME EXTRA TRAINS MUST RUN LOADED. The Circus, Campaign and Military trains take loaded cars while ' +
|
||||
'the yard can supply them, empties once it cannot, and may run short. A Circus or Campaign train ' +
|
||||
"earns its point for setting up ONCE IN EACH PLAYER'S DISTRICT rather than once in the game, and only " +
|
||||
'when every car is full \u2014 not much of a circus if the cars are empty. RED FLAGS ARE A DIFFERENT CARD. ' +
|
||||
'Instead of protecting one stopped train out on the line, a flag is planted on the east or west side ' +
|
||||
'of your own district and holds the next train coming from that way, buying you a Stage to finish ' +
|
||||
'switching. It comes down with the train it stops. You may also play it the moment danger appears: if ' +
|
||||
'an arriving train is about to hit something, you are asked whether to flag it.',
|
||||
'Bundles Station Master v0.7.5 \u2014 solitaire asks before it deals. A first visit to the solitaire ' +
|
||||
'page now opens a setup screen with the full set of options \u2014 game type, starting hand, where an ' +
|
||||
'Extra may start, the revenue rates, victory conditions, and the optional rules \u2014 the same question ' +
|
||||
"the multiplayer lobby already asks before a game starts. Press Deal when you're ready. A saved game, " +
|
||||
'a shared link carrying a seed, or a setup screen already answered all skip straight past it. Nothing ' +
|
||||
'about the rules changed, so games in progress and saved games are unaffected by this update.',
|
||||
es_ES:
|
||||
'Incluye Station Master v0.7.4: tres correcciones de reglas. IMPORTANTE: una partida ya en curso ' +
|
||||
'puede no conservarse. Estos cambios alteran lo que las reglas aceptan, as\u00ed que una partida guardada ' +
|
||||
'puede dejar de reproducirse; el servidor se niega a reanudarla en vez de estropearla, indica en qu\u00e9 ' +
|
||||
'jugada se detuvo y deja el archivo intacto, de modo que puedes volver a instalar la v0.7.3 para ' +
|
||||
'terminar una partida que te importe. LA OFICINA DE PATIO AHORA SE OFRECE, NO ES AUTOM\u00c1TICA. A un ' +
|
||||
'tren de mercanc\u00edas que llega a tu distrito se le pregunta ad\u00f3nde debe ir, tiene que poder alcanzar ' +
|
||||
'el patio en un solo movimiento, y si hay vagones parados en el camino choca contra ellos: nada de ' +
|
||||
'esto se comprobaba antes. Cuando no puede ofrecerse, el historial explica por qu\u00e9. ALGUNOS TRENES ' +
|
||||
'EXTRA DEBEN CIRCULAR CARGADOS. Los trenes de Circo, de Campa\u00f1a y Militar toman vagones cargados ' +
|
||||
'mientras el patio pueda suministrarlos, vac\u00edos cuando ya no, y pueden circular incompletos. Un tren ' +
|
||||
'de Circo o de Campa\u00f1a gana su punto por instalarse UNA VEZ EN EL DISTRITO DE CADA JUGADOR, en lugar ' +
|
||||
'de una vez por partida, y solo si todos sus vagones van llenos: poco circo es si los vagones van ' +
|
||||
'vac\u00edos. LAS BANDERAS ROJAS SON OTRA CARTA. En vez de proteger a un tren parado en la l\u00ednea, la ' +
|
||||
'bandera se planta en el lado este u oeste de tu propio distrito y detiene al siguiente tren que ' +
|
||||
'venga por ah\u00ed, d\u00e1ndote una Etapa para terminar de maniobrar. Se retira con el tren que detiene. ' +
|
||||
'Tambi\u00e9n puedes jugarla en el momento del peligro: si un tren que llega va a chocar, se te pregunta ' +
|
||||
'si quieres detenerlo con la bandera.',
|
||||
'Incluye Station Master v0.7.5: la partida en solitario pregunta antes de repartir. La primera visita a ' +
|
||||
'la p\u00e1gina de solitario abre ahora una pantalla de configuraci\u00f3n con todas las opciones \u2014 tipo de ' +
|
||||
'partida, mano inicial, d\u00f3nde puede empezar un tren Extra, las tarifas de ingresos, las condiciones de ' +
|
||||
'victoria y las reglas opcionales \u2014 la misma pregunta que el lobby multijugador ya hace antes de que ' +
|
||||
'empiece una partida. Pulsa Repartir cuando est\u00e9s listo. Una partida guardada, un enlace compartido ' +
|
||||
'con una semilla, o una pantalla de configuraci\u00f3n ya respondida, la omiten directamente. Las reglas ' +
|
||||
'no han cambiado, as\u00ed que las partidas en curso y las guardadas no se ven afectadas por esta ' +
|
||||
'actualizaci\u00f3n.',
|
||||
de_DE:
|
||||
'Enth\u00e4lt Station Master v0.7.4 \u2014 drei Regelkorrekturen. WICHTIG: Eine bereits laufende Partie geht ' +
|
||||
'm\u00f6glicherweise nicht mit. Diese \u00c4nderungen betreffen, was die Regeln akzeptieren, daher kann ein ' +
|
||||
'gespeichertes Spiel nicht mehr nachspielbar sein; der Server verweigert die Fortsetzung, statt das ' +
|
||||
'Spiel zu besch\u00e4digen, nennt den Zug, an dem er stehen blieb, und l\u00e4sst die Datei unangetastet \u2014 wer ' +
|
||||
'eine Partie retten will, spielt sie mit v0.7.3 zu Ende. DAS BAHNHOFSB\u00dcRO WIRD JETZT ANGEBOTEN, NICHT ' +
|
||||
'ERZWUNGEN. Ein G\u00fcterzug, der in deinem Bezirk ankommt, wird gefragt, wohin er soll; er muss den ' +
|
||||
'Bahnhof in einem Zug erreichen k\u00f6nnen, und stehen Wagen im Weg, f\u00e4hrt er hinein \u2014 nichts davon wurde ' +
|
||||
'vorher gepr\u00fcft. Ist das Angebot nicht m\u00f6glich, sagt die Chronik warum. EINIGE EXTRAZ\u00dcGE M\u00dcSSEN ' +
|
||||
'BELADEN FAHREN. Zirkus-, Wahlkampf- und Milit\u00e4rzug nehmen beladene Wagen, solange der Bahnhof sie ' +
|
||||
'liefern kann, sonst leere, und d\u00fcrfen auch kurz fahren. Ein Zirkus- oder Wahlkampfzug bekommt seinen ' +
|
||||
'Punkt f\u00fcrs Aufbauen EINMAL IN JEDEM BEZIRK statt einmal im Spiel, und nur wenn jeder Wagen voll ist ' +
|
||||
'\u2014 kein gro\u00dfer Zirkus, wenn die Wagen leer sind. ROTE FLAGGEN SIND EINE ANDERE KARTE. Statt einen ' +
|
||||
'haltenden Zug auf der Strecke zu sch\u00fctzen, wird die Flagge an der Ost- oder Westseite des eigenen ' +
|
||||
'Bezirks gesetzt und h\u00e4lt den n\u00e4chsten Zug von dort auf \u2014 eine Stufe Zeit, um das Rangieren zu ' +
|
||||
'beenden. Sie kommt mit dem Zug herunter, den sie gestoppt hat. Sie l\u00e4sst sich auch im Moment der ' +
|
||||
'Gefahr spielen: Steht ein ankommender Zug vor einem Zusammensto\u00df, wirst du gefragt, ob du ihn ' +
|
||||
'abflaggen willst.',
|
||||
'Enth\u00e4lt Station Master v0.7.5 \u2014 Solospiele fragen jetzt vor dem Austeilen. Ein erster Besuch der ' +
|
||||
'Solo-Seite \u00f6ffnet jetzt einen Einrichtungsbildschirm mit allen Optionen \u2014 Spieltyp, Starthand, wo ' +
|
||||
'ein Extrazug beginnen darf, die Erl\u00f6ss\u00e4tze, die Siegbedingungen und die optionalen Regeln \u2014 ' +
|
||||
'dieselbe Frage, die die Mehrspieler-Lobby schon vor Spielbeginn stellt. Dr\u00fccke Austeilen, wenn du ' +
|
||||
'bereit bist. Ein gespeichertes Spiel, ein geteilter Link mit einem Seed oder ein bereits beantworteter ' +
|
||||
'Einrichtungsbildschirm \u00fcberspringen ihn direkt. An den Regeln hat sich nichts ge\u00e4ndert, laufende ' +
|
||||
'und gespeicherte Spiele sind von diesem Update nicht betroffen.',
|
||||
pl_PL:
|
||||
'Zawiera Station Master v0.7.4 \u2014 trzy poprawki zasad. WA\u017bNE: trwaj\u0105ca partia mo\u017ce nie zosta\u0107 ' +
|
||||
'przeniesiona. Te zmiany dotycz\u0105 tego, co zasady dopuszczaj\u0105, wi\u0119c zapisana gra mo\u017ce przesta\u0107 si\u0119 ' +
|
||||
'odtwarza\u0107; serwer odmawia wznowienia, zamiast j\u0105 zepsu\u0107, podaje ruch, na kt\u00f3rym stan\u0105\u0142, i zostawia ' +
|
||||
'plik nietkni\u0119ty \u2014 mo\u017cna wr\u00f3ci\u0107 do v0.7.3 i doko\u0144czy\u0107 wa\u017cn\u0105 parti\u0119. BIURO STACYJNE JEST TERAZ ' +
|
||||
'PROPONOWANE, NIE NARZUCANE. Poci\u0105g towarowy przyje\u017cd\u017caj\u0105cy do twojego okr\u0119gu jest pytany, dok\u0105d ma ' +
|
||||
'jecha\u0107; musi m\u00f3c dotrze\u0107 do stacji w jednym ruchu, a je\u015bli po drodze stoj\u0105 wagony, wje\u017cd\u017ca w nie \u2014 ' +
|
||||
'czego wcze\u015bniej gra w og\u00f3le nie sprawdza\u0142a. Gdy propozycja nie mo\u017ce pa\u015b\u0107, historia m\u00f3wi dlaczego. ' +
|
||||
'NIEKT\u00d3RE POCI\u0104GI DODATKOWE MUSZ\u0104 JECHA\u0106 ZA\u0141ADOWANE. Poci\u0105g cyrkowy, kampanijny i wojskowy bior\u0105 ' +
|
||||
'wagony \u0142adowne, dop\u00f3ki stacja mo\u017ce je dostarczy\u0107, potem puste, i mog\u0105 jecha\u0107 niepe\u0142ne. Poci\u0105g ' +
|
||||
'cyrkowy lub kampanijny zdobywa punkt za rozstawienie RAZ W OKR\u0118GU KA\u017bDEGO GRACZA, a nie raz na gr\u0119, ' +
|
||||
'i tylko gdy wszystkie wagony s\u0105 pe\u0142ne \u2014 marny to cyrk, gdy wagony s\u0105 puste. CZERWONE FLAGI TO INNA ' +
|
||||
'KARTA. Zamiast chroni\u0107 stoj\u0105cy poci\u0105g na szlaku, flag\u0119 stawia si\u0119 po wschodniej lub zachodniej ' +
|
||||
'stronie w\u0142asnego okr\u0119gu i zatrzymuje ona nast\u0119pny poci\u0105g z tamtej strony, daj\u0105c Etap na doko\u0144czenie ' +
|
||||
'manewr\u00f3w. Znika razem z poci\u0105giem, kt\u00f3ry zatrzyma\u0142a. Mo\u017cna j\u0105 te\u017c zagra\u0107 w chwili zagro\u017cenia: je\u015bli ' +
|
||||
'przyje\u017cd\u017caj\u0105cy poci\u0105g ma si\u0119 zderzy\u0107, gra pyta, czy go zaflagowa\u0107.',
|
||||
'Zawiera Station Master v0.7.5 \u2014 gra solo pyta, zanim rozda karty. Pierwsza wizyta na stronie gry ' +
|
||||
'solo otwiera teraz ekran ustawie\u0144 z pe\u0142nym zestawem opcji \u2014 typ gry, pocz\u0105tkowa r\u0119ka, gdzie ' +
|
||||
'mo\u017ce zacz\u0105\u0107 poci\u0105g dodatkowy, stawki przychod\u00f3w, warunki zwyci\u0119stwa i zasady opcjonalne ' +
|
||||
'\u2014 to samo pytanie, kt\u00f3re lobby gry wieloosobowej zadaje ju\u017c przed rozpocz\u0119ciem gry. Naci\u015bnij ' +
|
||||
'Rozdaj, gdy b\u0119dziesz gotowy. Zapisana gra, udost\u0119pniony link z ziarnem (seed) lub ju\u017c wype\u0142niony ' +
|
||||
'ekran ustawie\u0144 pomijaj\u0105 go od razu. Zasady si\u0119 nie zmieni\u0142y, wi\u0119c gry w toku i zapisane gry ' +
|
||||
'nie s\u0105 dotkni\u0119te t\u0105 aktualizacj\u0105.',
|
||||
fr_FR:
|
||||
'Inclut Station Master v0.7.4 \u2014 trois corrections de r\u00e8gles. IMPORTANT : une partie d\u00e9j\u00e0 en cours ' +
|
||||
'peut ne pas \u00eatre conserv\u00e9e. Ces changements modifient ce que les r\u00e8gles acceptent, donc une ' +
|
||||
"sauvegarde peut cesser d'\u00eatre rejouable ; le serveur refuse de la reprendre au lieu de l'ab\u00eemer, " +
|
||||
"indique le coup o\u00f9 il s'est arr\u00eat\u00e9 et laisse le fichier intact : vous pouvez r\u00e9installer la v0.7.3 " +
|
||||
'pour terminer une partie qui compte. LE BUREAU DE TRIAGE EST D\u00c9SORMAIS PROPOS\u00c9, PAS IMPOS\u00c9. Un train ' +
|
||||
'de marchandises qui arrive dans votre district se voit demander o\u00f9 aller ; il doit pouvoir atteindre ' +
|
||||
'le triage en un seul mouvement, et si des wagons stationnent sur le chemin, il les percute \u2014 rien de ' +
|
||||
"tout cela n'\u00e9tait v\u00e9rifi\u00e9 auparavant. Quand la proposition ne peut pas \u00eatre faite, l'historique dit " +
|
||||
'pourquoi. CERTAINS TRAINS SUPPL\u00c9MENTAIRES DOIVENT ROULER CHARG\u00c9S. Les trains de Cirque, de Campagne ' +
|
||||
'et Militaire prennent des wagons charg\u00e9s tant que le d\u00e9p\u00f4t peut en fournir, des vides ensuite, et ' +
|
||||
"peuvent rouler incomplets. Un train de Cirque ou de Campagne gagne son point d'installation UNE FOIS " +
|
||||
"DANS LE DISTRICT DE CHAQUE JOUEUR au lieu d'une fois par partie, et seulement si tous ses wagons " +
|
||||
"sont pleins : ce n'est pas un grand cirque si les wagons sont vides. LES DRAPEAUX ROUGES SONT UNE " +
|
||||
'AUTRE CARTE. Au lieu de prot\u00e9ger un train arr\u00eat\u00e9 sur la ligne, le drapeau se plante du c\u00f4t\u00e9 est ou ' +
|
||||
'ouest de votre propre district et retient le prochain train venant de l\u00e0, vous offrant une \u00c9tape ' +
|
||||
"pour finir vos man\u0153uvres. Il tombe avec le train qu'il arr\u00eate. Vous pouvez aussi le jouer au moment " +
|
||||
'du danger : si un train qui arrive va percuter quelque chose, on vous demande si vous voulez le ' +
|
||||
'drapeauter.',
|
||||
'Inclut Station Master v0.7.5 \u2014 la partie solo demande maintenant avant de distribuer. Une premi\u00e8re ' +
|
||||
'visite de la page solo ouvre d\u00e9sormais un \u00e9cran de configuration avec toutes les options \u2014 type ' +
|
||||
'de partie, main de d\u00e9part, o\u00f9 un train suppl\u00e9mentaire peut d\u00e9marrer, les taux de revenu, les ' +
|
||||
'conditions de victoire et les r\u00e8gles optionnelles \u2014 la m\u00eame question que le lobby multijoueur ' +
|
||||
"pose d\u00e9j\u00e0 avant le d\u00e9but d'une partie. Appuyez sur Distribuer quand vous \u00eates pr\u00eat. Une partie " +
|
||||
'sauvegard\u00e9e, un lien partag\u00e9 contenant une graine, ou un \u00e9cran de configuration d\u00e9j\u00e0 rempli, ' +
|
||||
"passent directement outre. Les r\u00e8gles n'ont pas chang\u00e9, les parties en cours et sauvegard\u00e9es ne " +
|
||||
'sont donc pas affect\u00e9es par cette mise \u00e0 jour.',
|
||||
},
|
||||
migrations: {
|
||||
/**
|
||||
* NOTHING TO CARRY, AND THIS TIME SOME GAMES WILL NOT SURVIVE.
|
||||
* NOTHING TO CARRY, AND NOTHING FOR ANY SAVE TO TRIP OVER EITHER.
|
||||
*
|
||||
* A migration moves DATA a previous version wrote. There is none to move: the package keeps its
|
||||
* saved games as a seed plus the moves played, and nothing about their shape has changed.
|
||||
*
|
||||
* WHAT HAS CHANGED IS WHAT THE RULES ACCEPT, and that is what decides whether a save replays.
|
||||
* v0.7.4 carries three rules corrections, and each can stop an older history:
|
||||
*
|
||||
* - Red Flags is a different card. `maneuver.redFlags` no longer names a train to protect; it
|
||||
* names the side of a district to flag. A save containing the old form stops there.
|
||||
* - Some Extras must now take a loaded car while the yard can supply one, so a make-up that
|
||||
* was legal under v0.7.3 may be refused.
|
||||
* - A Yard Office arrival now ASKS the district's owner. An older history has no answer
|
||||
* recorded for a question that did not exist, so a replay reaching one stops.
|
||||
*
|
||||
* None of that can be migrated: the moves were made under rules that no longer hold, and
|
||||
* re-deciding them would invent a game nobody played. It FAILS SAFE, which is why this is empty
|
||||
* rather than an argument for holding the release — `src/server/index.ts` replays each save on
|
||||
* startup and REFUSES to resume one the rules reject, naming the move it stopped at and leaving
|
||||
* the file untouched. A game in progress is declined, never silently corrupted, and an operator
|
||||
* who wants it back can put v0.7.3 on and finish it. The release notes say so first.
|
||||
*
|
||||
* A game that never met one of the three simply carries on, so this is "may not" rather than
|
||||
* "will not" — unlike v0.7.2, where a deck change condemned every save without exception.
|
||||
* v0.7.5 is a client-side flow change — a setup screen asked before a genuinely fresh solitaire
|
||||
* visit deals, matching what the multiplayer lobby already asks before a game starts. It touches
|
||||
* no rule the engine enforces and no shape a save or a game record is written in, unlike v0.7.4's
|
||||
* three rules corrections (see that entry's history for what THAT migration had to reason about).
|
||||
* A game already in progress, on either the multiplayer server or in a player's browser, resumes
|
||||
* exactly as it would have on v0.7.4.
|
||||
*/
|
||||
up: async ({ effects }) => {},
|
||||
down: IMPOSSIBLE,
|
||||
|
||||
+1
-1
Submodule station-master updated: 19a6a47ab6...3e961496b0
Reference in New Issue
Block a user