Compare commits
3 Commits
9de6a0b5a9
...
ccac320e0e
| Author | SHA1 | Date | |
|---|---|---|---|
| ccac320e0e | |||
| ff3e66ae3e | |||
| 7c92f046a1 |
@@ -1,10 +1,10 @@
|
||||
// Cinema 24/7 — Navigation
|
||||
// Lobby → Foyer → Labyrinth-Etagen → Eingang Theater 4
|
||||
// Cinema 24/7 -- Navigation
|
||||
// Lobby -> Foyer -> Labyrinth-Etagen -> Eingang Theater 4
|
||||
//
|
||||
// Variablen:
|
||||
// past_it — Spieler ist an Theater 4 vorbeigegangen (bool)
|
||||
// snaks — Spieler hat Snacks mitgenommen (0/1)
|
||||
// had_sweets — Spieler hat süße Snacks gewählt (0/1)
|
||||
// past_it -- Spieler ist an Theater 4 vorbeigegangen (bool)
|
||||
// snaks -- Spieler hat Snacks mitgenommen (0/1)
|
||||
// had_sweets -- Spieler hat süße Snacks gewählt (0/1)
|
||||
//
|
||||
// Übergang zu cinema_f4r4.ink via # start_ink Tag bei Eintreten in Theater 4.
|
||||
// KV-Store überträgt snaks/had_sweets/past_it automatisch ans nächste Script.
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
// Cinema 24/7 — Theater 4: Nails
|
||||
// Cinema 24/7 -- Theater 4: Nails
|
||||
// Begegnung mit Nails, der Schattenkünstlerin.
|
||||
//
|
||||
// Variablen:
|
||||
// favor_nails — Nails' Stimmung; > 0 = Sympathie, < 0 = Genervtheit
|
||||
// past_it — aus cinema.ink via KV: Spieler ist an Theater 4 vorbeigegangen
|
||||
// snaks — aus cinema.ink via KV: Spieler hat Snacks (0/1)
|
||||
// had_sweets — aus cinema.ink via KV: Spieler hat Süßes gewählt (0/1)
|
||||
// fallbear — temporär: Bär verliert Gleichgewicht beim Ausweichen
|
||||
// boop_success — temporär: Einhorn-Nase boopen erfolgreich (0/1)
|
||||
// favor_nails -- Nails' Stimmung; > 0 = Sympathie, < 0 = Genervtheit
|
||||
// past_it -- aus cinema.ink via KV: Spieler ist an Theater 4 vorbeigegangen
|
||||
// snaks -- aus cinema.ink via KV: Spieler hat Snacks (0/1)
|
||||
// had_sweets -- aus cinema.ink via KV: Spieler hat Süßes gewählt (0/1)
|
||||
// fallbear -- temporär: Bär verliert Gleichgewicht beim Ausweichen
|
||||
// boop_success -- temporär: Einhorn-Nase boopen erfolgreich (0/1)
|
||||
//
|
||||
// Stub-Knoten (noch zu schreiben):
|
||||
// the_show, cbear, shadow_battle, apprentice, quitter,
|
||||
@@ -448,7 +448,7 @@ Her: No. It's fine. You can sit down in the front as well. Just there will be fi
|
||||
--
|
||||
++ [Project]
|
||||
// TODO: per Shuffle zufällig zwischen "passable" und "ugly" wechseln.
|
||||
// Inklecate unterstützt keine mehrzeiligen {~}-Sequenzen — braucht
|
||||
// Inklecate unterstützt keine mehrzeiligen {~}-Sequenzen -- braucht
|
||||
// VAR wolf_ugly + { shuffle: - ... - ... }-Syntax oder zwei Pfade.
|
||||
And... you create a passable attempt. Much smaller and a little crooked, maybe.
|
||||
--
|
||||
@@ -798,11 +798,11 @@ You must never underestimate how dangerous a desperate animal is.
|
||||
It is baiting you. Cunning. You can already start to feel the strength of your attacks receding.
|
||||
|
||||
= cbear
|
||||
// TODO: Gegenangriff-Bär — Bär greift aus erhöhter Position an
|
||||
// TODO: Gegenangriff-Bär -- Bär greift aus erhöhter Position an
|
||||
-> END
|
||||
|
||||
= the_show
|
||||
// TODO: Die eigentliche Vorstellung — Nails' Schattentheater
|
||||
// TODO: Die eigentliche Vorstellung -- Nails' Schattentheater
|
||||
// Übergang in silent_show (stilles Beobachten) oder interaktiv
|
||||
-> silent_show
|
||||
|
||||
@@ -828,7 +828,7 @@ It dips its head into the water, gracefully. Kissing the ripples of the surface
|
||||
-> END
|
||||
|
||||
= shadow_battle
|
||||
// TODO: Schattenkampf — Nails' wolf vs. Spieler's bear, freie Wahl
|
||||
// TODO: Schattenkampf -- Nails' wolf vs. Spieler's bear, freie Wahl
|
||||
-> END
|
||||
|
||||
= apprentice
|
||||
@@ -836,7 +836,7 @@ It dips its head into the water, gracefully. Kissing the ripples of the surface
|
||||
-> END
|
||||
|
||||
= quitter
|
||||
// TODO: Hase flüchtet vom Bildschirm — feige Niederlage
|
||||
// TODO: Hase flüchtet vom Bildschirm -- feige Niederlage
|
||||
-> END
|
||||
|
||||
= her_portfolio
|
||||
@@ -852,5 +852,5 @@ It dips its head into the water, gracefully. Kissing the ripples of the surface
|
||||
-> END
|
||||
|
||||
= seeulater
|
||||
// TODO: Verabredung für später — Spieler kommt nochmal
|
||||
// TODO: Verabredung für später -- Spieler kommt nochmal
|
||||
-> END
|
||||
|
||||
@@ -10,7 +10,7 @@ VAR quest_mushroom_done = false
|
||||
|
||||
- quest_mushroom_active && mushrooms_collected >= 10:
|
||||
# color whisper
|
||||
Du hast {mushrooms_collected} Pilze dabei — mehr als genug!
|
||||
Du hast {mushrooms_collected} Pilze dabei -- mehr als genug!
|
||||
* [Hier, nimm sie.]
|
||||
~ quest_mushroom_done = true
|
||||
# color whisper
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"inkVersion":21,"root":[[["ev",{"VAR?":"quest_mushroom_done"},"/ev",{"->":".^.b","c":true},{"b":["\n","#","^color whisper","/#","^Danke nochmal für die Pilze. Das Rezept ist fast fertig.","\n",{"->":"ende"},{"->":"0.4"},null]}],["ev",{"VAR?":"quest_mushroom_active"},{"VAR?":"mushrooms_collected"},10,">=","&&","/ev",{"->":".^.b","c":true},{"b":["\n","#","^color whisper","/#","^Du hast ","ev",{"VAR?":"mushrooms_collected"},"out","/ev","^ Pilze dabei — mehr als genug!","\n","ev","str","^Hier, nimm sie.","/str","/ev",{"*":".^.c-0","flg":20},"ev","str","^Lass mich noch ein paar behalten.","/str","/ev",{"*":".^.c-1","flg":20},{"->":"0.4"},{"c-0":["\n","ev",true,"/ev",{"VAR=":"quest_mushroom_done","re":true},"#","^color whisper","/#","^Wunderbar, vielen Dank! Das wird ein gutes Süppchen.","\n",{"->":"ende"},{"#f":5}],"c-1":["\n","#","^color whisper","/#","^Wie du willst. Komm wieder, wenn du sie loswerden möchtest.","\n",{"->":"ende"},{"#f":5}]}]}],["ev",{"VAR?":"quest_mushroom_active"},"/ev",{"->":".^.b","c":true},{"b":["\n","#","^color whisper","/#","^Du hast schon ","ev",{"VAR?":"mushrooms_collected"},"out","/ev","^ von 10 Pilzen. Mach ruhig weiter.","\n",{"->":"ende"},{"->":"0.4"},null]}],[{"->":".^.b"},{"b":["\n","#","^color whisper","/#","^TEST1 Hallo! Ich bräuchte 10 Pilze für ein Rezept. Hättest du Lust, welche zu sammeln?","\n","ev","str","^Klar, ich helfe.","/str","/ev",{"*":".^.c-0","flg":20},"ev","str","^Vielleicht später.","/str","/ev",{"*":".^.c-1","flg":20},{"->":"0.4"},{"c-0":["\n","ev",true,"/ev",{"VAR=":"quest_mushroom_active","re":true},"#","^color whisper","/#","^Danke! Ich warte hier.","\n",{"->":"ende"},{"#f":5}],"c-1":["\n","#","^color whisper","/#","^Schade. Komm gerne nochmal vorbei.","\n",{"->":"ende"},{"#f":5}]}]}],"nop","\n",["done",{"#n":"g-0"}],null],"done",{"ende":[["ev","str","^Bis dann","/str","/ev",{"*":".^.c-0","flg":20},{"c-0":["\n","#","^person_farewell","/#","end",{"#f":5}]}],null],"global decl":["ev",0,{"VAR=":"mushrooms_collected"},false,{"VAR=":"quest_mushroom_active"},false,{"VAR=":"quest_mushroom_done"},"/ev","end",null]}],"listDefs":{}}
|
||||
{"inkVersion":21,"root":[[["ev",{"VAR?":"quest_mushroom_done"},"/ev",{"->":".^.b","c":true},{"b":["\n","#","^color whisper","/#","^Danke nochmal für die Pilze. Das Rezept ist fast fertig.","\n",{"->":"ende"},{"->":"0.4"},null]}],["ev",{"VAR?":"quest_mushroom_active"},{"VAR?":"mushrooms_collected"},10,">=","&&","/ev",{"->":".^.b","c":true},{"b":["\n","#","^color whisper","/#","^Du hast ","ev",{"VAR?":"mushrooms_collected"},"out","/ev","^ Pilze dabei -- mehr als genug!","\n","ev","str","^Hier, nimm sie.","/str","/ev",{"*":".^.c-0","flg":20},"ev","str","^Lass mich noch ein paar behalten.","/str","/ev",{"*":".^.c-1","flg":20},{"->":"0.4"},{"c-0":["\n","ev",true,"/ev",{"VAR=":"quest_mushroom_done","re":true},"#","^color whisper","/#","^Wunderbar, vielen Dank! Das wird ein gutes Süppchen.","\n",{"->":"ende"},{"#f":5}],"c-1":["\n","#","^color whisper","/#","^Wie du willst. Komm wieder, wenn du sie loswerden möchtest.","\n",{"->":"ende"},{"#f":5}]}]}],["ev",{"VAR?":"quest_mushroom_active"},"/ev",{"->":".^.b","c":true},{"b":["\n","#","^color whisper","/#","^Du hast schon ","ev",{"VAR?":"mushrooms_collected"},"out","/ev","^ von 10 Pilzen. Mach ruhig weiter.","\n",{"->":"ende"},{"->":"0.4"},null]}],[{"->":".^.b"},{"b":["\n","#","^color whisper","/#","^TEST1 Hallo! Ich bräuchte 10 Pilze für ein Rezept. Hättest du Lust, welche zu sammeln?","\n","ev","str","^Klar, ich helfe.","/str","/ev",{"*":".^.c-0","flg":20},"ev","str","^Vielleicht später.","/str","/ev",{"*":".^.c-1","flg":20},{"->":"0.4"},{"c-0":["\n","ev",true,"/ev",{"VAR=":"quest_mushroom_active","re":true},"#","^color whisper","/#","^Danke! Ich warte hier.","\n",{"->":"ende"},{"#f":5}],"c-1":["\n","#","^color whisper","/#","^Schade. Komm gerne nochmal vorbei.","\n",{"->":"ende"},{"#f":5}]}]}],"nop","\n",["done",{"#n":"g-0"}],null],"done",{"ende":[["ev","str","^Bis dann","/str","/ev",{"*":".^.c-0","flg":20},{"c-0":["\n","#","^person_farewell","/#","end",{"#f":5}]}],null],"global decl":["ev",0,{"VAR=":"mushrooms_collected"},false,{"VAR=":"quest_mushroom_active"},false,{"VAR=":"quest_mushroom_done"},"/ev","end",null]}],"listDefs":{}}
|
||||
@@ -54,12 +54,37 @@ if [ ! -d "$ink_dir" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Prüft eine .ink-Datei auf Zeichen außerhalb von CP437 und gibt sie aus.
|
||||
# Exit-Code 1 wenn Treffer gefunden, sonst 0.
|
||||
check_cp437() {
|
||||
python3 - "$1" <<'PYEOF'
|
||||
import sys
|
||||
path = sys.argv[1]
|
||||
cp437 = set(bytes(range(256)).decode('cp437', errors='replace'))
|
||||
hits = []
|
||||
with open(path, encoding='utf-8') as f:
|
||||
for lineno, line in enumerate(f, 1):
|
||||
for ch in line:
|
||||
if ord(ch) > 127 and ch not in cp437:
|
||||
hits.append(f' Z.{lineno}: U+{ord(ch):04X} {repr(ch)}')
|
||||
for h in hits:
|
||||
print(h)
|
||||
sys.exit(1 if hits else 0)
|
||||
PYEOF
|
||||
}
|
||||
|
||||
built=0 skipped=0 failed=0
|
||||
shopt -s nullglob
|
||||
for src in "$ink_dir"/*.ink; do
|
||||
out="${src%.ink}.ink.json"
|
||||
name="$(basename "$src")"
|
||||
|
||||
# CP437-Warnung: läuft immer, unabhängig vom Build-Status.
|
||||
if ! cp437_warn="$(check_cp437 "$src")"; then
|
||||
printf ' WARNUNG %s -- Nicht-CP437-Zeichen:\n' "$name"
|
||||
printf '%s\n' "$cp437_warn"
|
||||
fi
|
||||
|
||||
# Inkrementell: überspringen, wenn Ausgabe existiert und neuer ist.
|
||||
if [ "$force" -eq 0 ] && [ -f "$out" ] && [ "$out" -nt "$src" ]; then
|
||||
printf ' aktuell %s\n' "$name"
|
||||
|
||||
Reference in New Issue
Block a user