18 Commits

Author SHA1 Message Date
a8fea8b526 fix(balance): Startausruestung wird angelegt, Krit wirkt
Gemessen statt geschaetzt — es waren nicht die Zahlen:

- on_create konnte nur give_item, die Startwaffe lag also im Beutel.
  Jeder Held schlug mit blossen Haenden zu: Schaden 2 statt 7,7, zehn
  Zuege pro Ratte statt zweieinhalb. Neue Aktion equip_item.
- Der Dieb bekam gar keine Waffe. Jetzt ein Dolch (+3 Schaden, +5 Krit).
- critical_chance percent = 15 auf einer Basis von 0 ist ein No-op — die
  Signaturzahl des Diebs tat nichts. Basis jetzt 5, Dieb traegt flat 10.

Die Prozent-auf-Null-Falle steht im Glossar unter Modifikator: Sie folgt
aus der Stapelregel aus Ticket 01 und schnappt sonst wieder zu.
2026-08-13 08:24:06 +02:00
37b5820c5b feat(quests): Quests als Trigger mit Zaehler
Eine Quest IST ein Trigger mit count = N — kein zweiter Mechanismus.
Gezaehlt wird erst ab start_quest, erledigte bleiben mit done = true
stehen, und die Belohnung darf die naechste starten: das ist die Kette.

- fuenfzehnte Registry, Trigger per serde(flatten) eingebettet
- give_item als Aktion, damit eine Belohnung mehr als Erfahrung zahlt
- QuestLog auf q, Fortschritt im Speicherstand, unbekannte IDs verworfen
- eine Funktion entscheidet fuer alle Traeger, wann ein Trigger feuert

Befund: Die Ordnungszahlen im Aktionskatalog widersprechen sich — vier
Tickets zaehlten je vom eigenen Stand. Sie sind raus, CONTEXT.md fuehrt
die Liste.
2026-08-13 07:43:46 +02:00
6014471c33 feat(kampf): verbindliche Gegner-Ansage und Zielcursor
Am Zugende legt jeder Gegner fest, was er im naechsten Zug tut; der
Kampf-Screen zeigt es unter dem Lebensbalken. Verbindlich statt Vorschau,
denn nur so entsteht ein Fenster: Wer dem Gegner zwischen Ansage und
Ausfuehrung die Ausdauer nimmt, kostet ihn den Zug.

Zielwahl bekommt einen eigenen Cursor, Tab schaltet zwischen Gegner- und
Faehigkeitsliste um — dieselbe Bedienung wie im Laden. Die Ziffern
springen nur noch aufs Ziel, ausgeloest wird mit Enter.
2026-08-12 20:49:24 +02:00
7ed15afaf9 feat(handel): NPC-Registry, Dialog, Laden und Stapelregel
Vierzehnte Registry: NPCs sind keine Wesen — kein Kampfzustand, keine
Initiative, keine Attribute. Ihre Antwortliste ist flach; was erst nach
einer Antwort erscheint, ist eine Option mit einer Bedingung.

- open_shop als elfte Aktion (game/ setzt eine Absicht, die UI schiebt)
- Talk/Choose/Buy/Sell, Talk wirkt auf das eigene Feld wie PickUp
- Preisspanne statt Goldkonto beim Haendler, Charisma in der Preisfunktion
- Warenkorb einmal bei der Etagenerzeugung gezogen
- Stapelregel aus Ticket 07 endlich gebaut: 50-120 Gold war 120 Eintraege
- Dialog- und Shop-Screen, NPC-Symbol im Grid
2026-08-12 20:31:35 +02:00
b25dd1c49a docs: m3-befunde in tickets 01, 08 und 14 zurueckgetragen, dreizehnte registry ins glossar 2026-08-12 17:08:27 +02:00
9c5efab331 docs: ticket 16 (loot-tabellen) aufloesen, nachtraege an 10 und 14, loot-tabelle ins glossar, destination erreicht 2026-08-12 14:18:44 +02:00
5faa5d6165 docs: ticket 15 (progression) aufloesen, nachtraege an 01 07 11 14, erfahrung ins glossar 2026-08-12 13:45:41 +02:00
380400611e docs: ticket 13 (script-engine) aufloesen, rhai gewaehlt, stufe c hinter 1.0, nachtrag an 01 2026-08-12 13:00:50 +02:00
bed9ef5762 docs: ticket 09 (save-schema) aufloesen, nachtraege an 02 und 11, speicherstand ins glossar 2026-08-12 12:34:29 +02:00
6442e104ab docs: ticket 10 (raum-prefab-format) aufloesen, nachtraege an 08 und 14, prefab und etage ins glossar 2026-08-12 12:11:42 +02:00
d51ebb26a1 docs: ticket 14 (kampfformeln) aufloesen, nachtraege an 01 07 08 11, registry-liste und initiative ins glossar 2026-08-12 11:51:25 +02:00
88195d3c9a docs: ticket 12 (durchstich) aufloesen, korrekturen an 11 und 06, zug im glossar geschaerft 2026-08-12 11:27:19 +02:00
2c19cb2aaf docs: ticket 11 (ui-geruest) aufloesen, nachtrag an 01, command ins glossar 2026-08-12 10:54:09 +02:00
d5a6feb091 docs: ticket 08 (event-trigger-system) aufloesen, nachtraege an 01 und 07, trigger bedingung und quest ins glossar 2026-08-12 10:34:12 +02:00
f25f393880 docs: ticket 07 (game-state-baum) aufloesen, wesen und affix ins glossar, vorgaben an tickets 08 09 10 14 16 2026-08-12 10:08:57 +02:00
d2d5ae6d8c docs: ticket 03 (mod-ladepipeline) aufloesen, mod ins glossar, vorgaben an tickets 04 und 10 2026-08-12 09:21:45 +02:00
5c4543da1a docs: ticket 02 (typ-registry) aufloesen, faehigkeit ins glossar, ticket 16 graduieren 2026-08-11 16:28:04 +02:00
4e86a37d2f docs: ticket 01 (effekt-vokabular) aufloesen, glossar anlegen, tickets 14 und 15 graduieren 2026-08-11 16:08:00 +02:00