Jak přidat téma

Mechaniky jsou v src/ (content.js, scenarios.js), prezentační balíčky v src/themes/index.js; odtud se registr i importuje. Piráti a Společná výprava jsou ručně psané balíčky, Neutrální laboratoř se generuje z mechaniky funkcí neutralTheme(). Další téma nevyžaduje větev v enginu ani kopii UI.

  1. Přidejte definici do createTabletopRegistry([...]), s jedinečným id, celým číslem version a výchozím jazykem language (cs nebo en).
  2. Vyplňte name, title, vehicle, destination, slovesa moveVerb/sailVerb/escapeVerb, roundLabel a aboard (jak se řekne „na palubě“ transportu). Nepovinné capabilityStyle přiřadí každé schopnosti letter, shape a color; UI i tisk jinak používají jen text schopnosti.
  3. Přeložte všechna ID karet ze všech balíčků obsahu v src/content.js (nyní 20), všech pět ID rolí, pět ID schopností a čtyři kategorie signálů (distress, opportunity, danger, mystery). Mechanické tagy navigation/technical/medical/discovery/social se nemění; jejich viditelné názvy ano. 4. Dodejte devět různých názvů míst. destination musí být jiné jméno; nahradí poslední místo vybrané mapy. Stabilní ID míst se tisknou také na spojích a kartách umístění. 5. Ve scale popište locationMeaning, roundMeaning, movementMeaning, mapExtent a preferredTopologies. Nezavádějte převody kilometrů ani reálného času.
  4. V translations dodejte úplná jména pro každý další jazyk: stejné klíče jako v bodech 2–5 kromě preferredTopologies a capabilityStyle, které jsou společné. Validátor odmítne neúplný jazyk. Bez překladu se téma v jiném jazyce zobrazí ve svém výchozím jazyce, což test anglické stránky zachytí.
  5. Spusťte npm run check, přehrajte stejnou akční sekvenci ve dvou tématech a ověřte identické mechanické výsledky. Test pro oba současné balíčky už existuje.
  6. Zkontrolujte pravidla, mobilní ovládání a tisk tematických názvů. UI, pravidla ani tisk nesmějí obsahovat slova jiného tématu; test to hlídá pro neutrální téma. Delší názvy mohou vyžadovat úpravu sazby, nikoli zkrácení mechanických požadavků.

Validátor odmítá chybějící texty, neznámá ID karet/rolí/schopností, opakovaná místa, neplatné měřítko/topologie a duplicitní ID tématu. Balíčky jsou hluboce neměnné.

Scénáře jsou samostatné presety v src/scenarios.js; obsahují pravidla, nikoli názvy. Jejich jména jsou v lokalizaci pod scenario.<id>. Každé nastavení se ověřuje přes createGame. Pro nový scénář se používá existující mechanická gramatika. Nový obsah přidejte jako balíček v packs (karty včetně viditelnosti, signálu a podmínek odhalení) a doplňte jeho názvy do všech témat. Změna pravidel nebo mechanického obsahu vyžaduje novou verzi; nepřepisujte verzi použitou ve zveřejněných záznamech.

Texty rozhraní a pravidel nejsou součástí tématu; jsou v src/locales/. Nový jazyk přidáte souborem se stejnými klíči, zápisem do src/i18n.js a překlady všech témat.