Commit Graph

14 Commits

Author SHA1 Message Date
6f91b44e50 fix(bogen): vorgemerkte Punkte beim Abschicken verbrauchen
Nach Enter stand unspent_points auf 0, waehrend der Screen den Punkt noch
vorgemerkt hielt — die Anzeige rechnete 0 - 1 auf u32 und stuerzte ab.

Der Screen leert sein Feld, waehrend er das Kommando uebergibt, dazu
saturating_sub an den zwei Lesestellen: unspent_points kann sich auch
unter dem offenen Screen aendern.

Erster UI-Test des Projekts. handle_key ist ohne Terminal aufrufbar, und
sobald ein Screen Zustand haelt, ist die Naht zum Spielzustand eine
Fehlerquelle wie jede andere.
2026-08-12 21:20:02 +02:00
26d9533a93 feat(debug): Werkbank auf F12
Gegenstandsliste mit Cursor, dazu heilen, absteigen und Raum leeren.
Laeuft ueber ein Kommando Debug(Cheat) statt am Spielkern vorbei — die
Zusage aus Ticket 11, dass Response::Command der einzige Weg nach game/
ist, gilt auch fuer Cheats.

ClearRoom toetet die Gegner, statt die Liste zu leeren: So laeuft der
normale Weg samt Todes-Triggern und "Der Raum ist geraeumt".
2026-08-12 20:58:35 +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
8bcd53efa2 docs: m2-befunde in tickets 10 und 11 zurueckgetragen, verification erweitert 2026-08-12 16:19:16 +02:00
3714bad313 docs: m1-befunde in tickets 03, 04 und 11 zurueckgetragen, verification-abschnitt in der map 2026-08-12 15:42:33 +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
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
145b82bc08 docs: ticket 04 (fehlerstrategie) aufloesen, vorgaben an ticket 11 2026-08-12 09:45:55 +02:00
9f9279d926 docs: ticket 06 (ratatui-research) aufloesen, tickets 11 und 12 graduieren 2026-08-11 15:38:22 +02:00