import { IMPOSSIBLE, VersionInfo } from '@start9labs/start-sdk' export const current = VersionInfo.of({ // `:` — the upstream half tracks the bundled Station Master tag exactly // (`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', 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.', 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.', 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.', 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.', 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.', }, migrations: { /** * NOTHING TO CARRY, AND THIS TIME SOME GAMES WILL NOT SURVIVE. * * 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. */ up: async ({ effects }) => {}, down: IMPOSSIBLE, }, })