Mapa závislostí
Stránka /zavislosti/ ukazuje jako graf, co je potřeba k vyřešení každé situace, co za ni tým dostane a co tím otevře dál. Odkaz na ni je v hlavičce hry a otevře mapu ve stejném tématu, scénáři a jazyce, v jakém právě hrajete. Stav stránky je v adrese (#scenario=fog&theme=caravan&lang=en&layers=reveal&focus=card:code), takže lze sdílet konkrétní pohled.
Mapu nikdo ručně nekreslí. Počítá se funkcí dependencyGraph() v src/dependencies.js přímo z mechanik (src/content.js, src/scenarios.js, výchozí nastavení v src/engine.js). Nová karta nebo scénář se v ní objeví samy. Test test/dependencies.test.js hlídá, že mapa obsahuje přesně karty balíčku scénáře.
Co přepínače mění
Téma (Piráti, Karavana, Neutrální laboratoř) mění jen názvy. Uzly ani hrany se nezmění, to hlídá test i
test/themes.test.js.Scénář mění strukturu. Ta závisí na třech nastaveních:
packs:fogpřidává balíček expedition (Trosečník, Signální věž, Skrýš)cardTypes:lab1má jen karty cesty,lab2je bez hrozebroles:intro,blockadeafogmají výchozí čtyři role bez vyjednavače, žebříčeklab1–lab5má všech pět
Mapa ukazuje předvolbu scénáře. Vlastní změny rolí nebo balíčků v nastavení hry do ní nepromítá.
Jazyk přeloží rozhraní i názvy z tématu.
Jak graf číst
Sloupce jdou zleva doprava:
- Zdroje schopností:
- role; každá má právě jednu schopnost a dává ji, jen když je postava připravená
- pod nimi příležitosti, tedy karty s odměnou (předmět, dovednost, vybavení místa, týmové vybavení)
- Schopnosti (plavba, opravy, ošetření, pátrání, vyjednávání). Barva a písmeno A–E jsou stejné jako v neutrálním tématu, takže je rozlišíte i černobíle.
- Použití schopností: karty cesty, hrozby a volitelně akce.
- Výsledek: únik (
goalTargetkaret cesty) a volitelně oslabení postav.
| Hrana | Význam | Místo v kódu |
|---|---|---|
| silná čára role → schopnost | role schopnost má | capabilitiesOf, engine.js |
| silná čára karta → schopnost | odměna schopnost dává; dosah uvádí popisek i tabulka | reward, engine.js (zóna asset) |
| tenká šipka schopnost → karta | situace schopnost vyžaduje; všechny podmínky musí platit, postavy na stejném místě se sčítají | requires, výběr týmu v engine.js |
| šipka karta cesty → únik | vyřešená karta cesty se počítá do cíle | goalTarget, engine.js |
| tečkovaná karta → karta | vyřešení odhalí jinou kartu (resolved:beacon → Signály) |
applyRevealConditions, knowledge.js |
| tečkovaná schopnost → karta | kartu odhalí postava s touto schopností do 1 spoje (near:discovery → Skrýš) |
knowledge.js |
| čárkovaná schopnost → akce | plavba (operátor transportu), průzkum na 2 spoje, obnova postavy, oprava transportu | engine.js |
| červená čárkovaná hrozba → oslabení | po vypršení hrozba oslabí postavy na místě a ty přijdou o schopnost role | úklid kola, engine.js |
Pruh u pravého okraje karty má barvu schopnosti, kterou karta dává.
Karta má v popisku krok:
- krok 1: kartu vyřeší schopnosti rolí nebo nemá podmínku
- krok 2: potřebuje schopnost, kterou dává teprve jiná odměna
Šedé čárkované uzly jsou nedosažitelné: ve scénáři pro ně neexistuje zdroj schopnosti.
Dosah odměny rozhoduje, kde schopnost platí:
- předmět nese postava a může ho předat
- dovednost zůstane postavě natrvalo
- vybavení místa platí jen tam, kde leží
- týmové vybavení platí jen na základně
Mapa počítá dosažitelnost tak, jako by šla schopnost použít kdekoli. Omezený dosah proto uvádí rozbor pod grafem jako upozornění.
Zaměření: klepnutím nebo Enterem na uzel se žlutě zvýrazní vše, co uzel potřebuje (všechny možné zdroje), a zeleně vše, co otevírá. Esc výběr zruší. Klepnutím na řetězec v rozboru se zaměří jeho karta.
Rozbor scénáře
Pod grafem je:
- Upozornění: schopnost bez zdroje, schopnost jen z odměny, nedosažitelné karty, méně dosažitelných karet cesty než
goalTarget, omezený dosah vybavení. - Řetězce přes více kroků, v současném obsahu:
- pátrání → Pašerácké signály (dovednost) → vyjednávání → Dohoda s pašeráky; ve scénářích bez vyjednavače je to jediná cesta k Dohodě, ve
fogještě Pašerácká skrýš fog: ošetření → Trosečník → plavba (dovednost)fog: opravy → Signální věž → pátrání, jen na jejím místě- scénáře s průzkumem: Zhaslý maják → odhalí Signály na pobřeží
- pátrání → Pašerácké signály (dovednost) → vyjednávání → Dohoda s pašeráky; ve scénářích bez vyjednavače je to jediná cesta k Dohodě, ve
- Tabulka všech karet: vyžaduje, dává, odhalení, balíček, kopie, krok.
Dosažitelnost se počítá jako pevný bod:
- Schopnosti rolí mají krok 0.
- Karta je řešitelná o krok později než její poslední podmínka.
- Odměna zpřístupní svou schopnost od kroku své karty.
Na rozdíl od scenarioWarnings v src/scenarios.js, které porovnávají jen role s podmínkami karet cesty, mapa sleduje i řetězce odměn.
Nesoulady se specifikací
Mapa ukazuje skutečně implementovaný stav. V docs/spec/ jsou záměry, které kód zatím nemá:
- Spec 00 (§15–17) popisuje tagy,
requires_tags/forbids_tags,outcome.poolasuccess.unlock_route. Implementované podmínky jsou jen seznamy schopností a mezi kartami existuje jediná vazba,resolved:<karta>. - Spec 02 počítá s taxonomií schopností volitelnou tématem. V kódu je pět pevných ID; téma je jen přejmenuje.
- „Příběhová návaznost“ ze specu 03 je jen přiblížená: Trosečník dává dovednost plavba, ne týmové vybavení ani novou trasu.