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.
- Přidejte definici do
createTabletopRegistry([...]), s jedinečnýmid, celým číslemversiona výchozím jazykemlanguage(csneboen). - Vyplňte
name,title,vehicle,destination, slovesamoveVerb/sailVerb/escapeVerb,roundLabelaaboard(jak se řekne „na palubě“ transportu). NepovinnécapabilityStylepřiřadí každé schopnostiletter,shapeacolor; UI i tisk jinak používají jen text schopnosti. - 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.destinationmusí 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. Vescalepopište locationMeaning, roundMeaning, movementMeaning, mapExtent a preferredTopologies. Nezavádějte převody kilometrů ani reálného času. - V
translationsdodejte úplná jména pro každý další jazyk: stejné klíče jako v bodech 2–5 kroměpreferredTopologiesacapabilityStyle, 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í. - 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. - 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.