Add the Italian playtest edition (7.2.0, D53)
RULES.it.md translates RULES.md v0.9. edition/build.py renders a printable A4 HTML (edition/it/playtest.html): quick reference, rules, belt track, board overview and four board tiles drawn from the board model (Tunnel pairs numbered, Dojo entrances marked), and the 22 Nebbia cards. Adds markdown as a dev dependency. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
# Testo delle carte Nebbia del Dojo, edizione italiana. Le chiavi sono i nomi delle carte
|
||||
# nel motore (dojo.rules.Card); le copie vengono dal mazzo del motore (DEFAULT_DECK).
|
||||
|
||||
["Kiai"]
|
||||
tipo = "Tecnica"
|
||||
nome = "Kiai"
|
||||
testo = "Gioca dopo i dadi di un Kumite: +2 al tuo totale."
|
||||
|
||||
["Uke"]
|
||||
tipo = "Tecnica"
|
||||
nome = "Uke (Parata)"
|
||||
testo = "Gioca dopo i dadi di un Kumite. Se perdi, non torni alla Partenza (le tacche cambiano comunque). Da difensore resti sulla tua casella; da attaccante torni alla casella da cui venivi e il turno finisce."
|
||||
|
||||
["Kaeshi"]
|
||||
tipo = "Tecnica"
|
||||
nome = "Kaeshi (Contrattacco)"
|
||||
testo = "Gioca dopo i dadi di un Kumite: ritira il tuo dado."
|
||||
|
||||
["Tsugi-ashi"]
|
||||
tipo = "Movimento"
|
||||
nome = "Tsugi-ashi"
|
||||
testo = "Tira 2d6 e fai un altro movimento completo."
|
||||
|
||||
["Tunnel Segreto"]
|
||||
tipo = "Movimento"
|
||||
nome = "Tunnel Segreto"
|
||||
testo = "Teletrasportati su un Tunnel a tua scelta. Uscita occupata: Kumite, tu sei l'attaccante."
|
||||
|
||||
["Irimi"]
|
||||
tipo = "Movimento"
|
||||
nome = "Irimi (Scambio)"
|
||||
testo = "Scambia il posto con un avversario a tua scelta fuori da una zona sicura. Nessun Kumite, nessun effetto di casella."
|
||||
|
||||
["Sfida"]
|
||||
tipo = "Interazione"
|
||||
nome = "Sfida"
|
||||
testo = "Combatti un Kumite contro un avversario a tua scelta fuori da una zona sicura. Tu sei l'attaccante."
|
||||
|
||||
["Il Sensei Osserva"]
|
||||
tipo = "Evento"
|
||||
nome = "Il Sensei Osserva"
|
||||
testo = "Il giocatore (o i giocatori) più in basso sulla scala guadagna +2."
|
||||
|
||||
["Il Peso della Cintura"]
|
||||
tipo = "Evento"
|
||||
nome = "Il Peso della Cintura"
|
||||
testo = "Il giocatore (o i giocatori) più in alto sulla scala perde 1."
|
||||
|
||||
["Allenamento Intensivo"]
|
||||
tipo = "Evento"
|
||||
nome = "Allenamento Intensivo"
|
||||
testo = "+1 tacca."
|
||||
|
||||
["Colpo Proibito"]
|
||||
tipo = "Evento"
|
||||
nome = "Colpo Proibito"
|
||||
testo = "−1 tacca."
|
||||
|
||||
["Passo Falso"]
|
||||
tipo = "Evento"
|
||||
nome = "Passo Falso"
|
||||
testo = "Torna alla casella da cui è partito questo movimento."
|
||||
|
||||
["Meditazione"]
|
||||
tipo = "Evento"
|
||||
nome = "Meditazione"
|
||||
testo = "Salti il prossimo turno. Fino alla fine del turno saltato non puoi essere affrontato né preso di mira."
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,47 @@
|
||||
## Riepilogo
|
||||
|
||||
**Scopo:** sali da Bianca a Marrone (15), entra nel Dojo Centrale e supera l'Esame Finale.
|
||||
|
||||
### Il turno
|
||||
|
||||
1. Tira **2d6** e muovi **esattamente** quei passi: in orizzontale o verticale, mai
|
||||
attraverso un muro, mai due volte sulla stessa casella nello stesso movimento.
|
||||
2. **Entri su un avversario → Kumite** (sei l'attaccante). Vinci: lui torna alla Partenza,
|
||||
tu continui. Perdi: torni alla Partenza e il turno finisce.
|
||||
3. **Ogni Fatica in cui entri: −1 tacca**, anche se non ti fermi.
|
||||
4. Fine movimento: applica la casella su cui ti fermi.
|
||||
|
||||
**Primo giro:** niente Kumite. Gli avversari si attraversano; se ti fermeresti su uno di
|
||||
loro, fai un passo in più.
|
||||
|
||||
### Kumite
|
||||
|
||||
- Entrambi tirano **1d6**. La cintura più alta aggiunge **+1 per cintura di differenza**
|
||||
(massimo +2).
|
||||
- Visti i dadi: l'attaccante può giocare una Tecnica, poi il difensore.
|
||||
- Totale più alto vince. **Pareggio: vince l'attaccante** (Senshu).
|
||||
|
||||
| Risultato | Vincitore | Sconfitto |
|
||||
|---|---|---|
|
||||
| Cinture uguali | +3 | −3, Partenza |
|
||||
| Vince la più bassa | +3 | −3, Partenza |
|
||||
| Vince la più alta | niente | Partenza |
|
||||
|
||||
### Caselle
|
||||
|
||||
| Casella | Effetto |
|
||||
|---|---|
|
||||
| Allenamento | +1 tacca |
|
||||
| Fatica | −1 tacca per ogni Fatica attraversata o raggiunta camminando |
|
||||
| Nebbia | pesca una carta (Tecniche coperte, massimo una) |
|
||||
| Tunnel | puoi spostarti al Tunnel con lo stesso numero (uscita occupata: Kumite) |
|
||||
| Passo Falso | torna alla casella di partenza del movimento |
|
||||
| Sfida | Kumite obbligato contro un avversario a scelta |
|
||||
|
||||
### Esame Finale
|
||||
|
||||
- Solo da **Marrone (15+)**. Entri nel Dojo con almeno 1 passo rimasto; il movimento finisce.
|
||||
- Difende l'avversario **più alto sulla scala**, e combatte come **Cintura Nera** (+1).
|
||||
- Vinci: **Cintura Nera, hai vinto**. Perdi: −3 e torni alla Partenza.
|
||||
|
||||
**Stanze Sicure:** niente Kumite, niente effetti. La Partenza è sempre la tua stanza.
|
||||
@@ -0,0 +1,245 @@
|
||||
@page {
|
||||
size: A4;
|
||||
margin: 10mm;
|
||||
}
|
||||
|
||||
:root {
|
||||
--ink: #1c1917;
|
||||
--muted: #57534e;
|
||||
--line: #d6d3d1;
|
||||
--paper: #ffffff;
|
||||
--desk: #e7e5e4;
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
background: var(--desk);
|
||||
color: var(--ink);
|
||||
font: 10.5pt/1.4 Georgia, "Times New Roman", serif;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.page {
|
||||
width: 210mm;
|
||||
min-height: 297mm;
|
||||
margin: 8mm auto;
|
||||
padding: 10mm;
|
||||
background: var(--paper);
|
||||
box-shadow: 0 1px 4px rgb(0 0 0 / 0.2);
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin: 0;
|
||||
font-size: 24pt;
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin: 1.2em 0 0.4em;
|
||||
font-size: 15pt;
|
||||
border-bottom: 1px solid var(--line);
|
||||
}
|
||||
|
||||
h3 {
|
||||
margin: 1em 0 0.3em;
|
||||
font-size: 12pt;
|
||||
}
|
||||
|
||||
.edition {
|
||||
margin: 0 0 4mm;
|
||||
color: var(--muted);
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
margin: 2mm 0 3mm;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
th,
|
||||
td {
|
||||
border: 1px solid var(--line);
|
||||
padding: 1mm 2mm;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
th {
|
||||
background: #f5f5f4;
|
||||
}
|
||||
|
||||
ol,
|
||||
ul {
|
||||
margin: 1mm 0 2mm;
|
||||
padding-left: 6mm;
|
||||
}
|
||||
|
||||
.cover {
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
.cover h2 {
|
||||
margin-top: 3mm;
|
||||
}
|
||||
|
||||
.board {
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
font-family: Helvetica, Arial, sans-serif;
|
||||
}
|
||||
|
||||
.legend {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 2mm 5mm;
|
||||
margin: 4mm 0 2mm;
|
||||
font-family: Helvetica, Arial, sans-serif;
|
||||
font-size: 9pt;
|
||||
}
|
||||
|
||||
.key {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 1.5mm;
|
||||
}
|
||||
|
||||
.swatch {
|
||||
display: inline-block;
|
||||
width: 7mm;
|
||||
height: 7mm;
|
||||
border: 1px solid #a8a29e;
|
||||
font-weight: 700;
|
||||
line-height: 7mm;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.tile-name {
|
||||
margin: 0 0 4mm;
|
||||
color: var(--muted);
|
||||
font-size: 9pt;
|
||||
}
|
||||
|
||||
.track {
|
||||
width: auto;
|
||||
margin: 6mm auto;
|
||||
font-family: Helvetica, Arial, sans-serif;
|
||||
}
|
||||
|
||||
.track th {
|
||||
width: 32mm;
|
||||
font-size: 13pt;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.track td {
|
||||
width: 32mm;
|
||||
height: 30mm;
|
||||
border: 2px solid var(--ink);
|
||||
font-size: 20pt;
|
||||
font-weight: 700;
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.track .black th,
|
||||
.track .black td {
|
||||
background: var(--ink);
|
||||
color: var(--paper);
|
||||
font-size: 12pt;
|
||||
}
|
||||
|
||||
.cards {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 63mm);
|
||||
grid-auto-rows: 88mm;
|
||||
gap: 0;
|
||||
align-content: start;
|
||||
justify-content: center;
|
||||
padding-top: 8mm;
|
||||
}
|
||||
|
||||
.card {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 4mm;
|
||||
border: 0.3mm dashed #78716c;
|
||||
font-family: Helvetica, Arial, sans-serif;
|
||||
}
|
||||
|
||||
.card .kind {
|
||||
margin: 0;
|
||||
color: var(--muted);
|
||||
font-size: 8pt;
|
||||
letter-spacing: 0.08em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.card h3 {
|
||||
margin: 1mm 0 3mm;
|
||||
font-size: 13pt;
|
||||
}
|
||||
|
||||
.card .text {
|
||||
flex: 1;
|
||||
margin: 0;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
.card .note {
|
||||
margin: 0 0 2mm;
|
||||
font-size: 8pt;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.card .deck {
|
||||
margin: 0;
|
||||
padding-top: 1.5mm;
|
||||
border-top: 1px solid var(--line);
|
||||
color: var(--muted);
|
||||
font-size: 7.5pt;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.card.tecnica {
|
||||
background: #eef2ff;
|
||||
}
|
||||
|
||||
.card.movimento {
|
||||
background: #ecfeff;
|
||||
}
|
||||
|
||||
.card.interazione {
|
||||
background: #fff7ed;
|
||||
}
|
||||
|
||||
.card.evento {
|
||||
background: #f7fee7;
|
||||
}
|
||||
|
||||
@media print {
|
||||
body {
|
||||
background: none;
|
||||
}
|
||||
|
||||
.page {
|
||||
width: auto;
|
||||
min-height: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-shadow: none;
|
||||
break-after: page;
|
||||
}
|
||||
|
||||
.page:last-child {
|
||||
break-after: auto;
|
||||
}
|
||||
|
||||
.cards {
|
||||
padding-top: 4mm;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user