Files
rustkeep/mods/core/npcs.toml
MDietermann 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

28 lines
1.1 KiB
TOML

# NPCs — die vierzehnte Registry (M4).
#
# Ein NPC ist kein Wesen: Er hat keine Attribute, keine Initiative und keinen
# Kampfzustand. Ihn in `creatures` zu pressen hiesse, jedem Gegner ein leeres
# `options`-Feld und jedem Haendler leere Grundwerte zu geben.
#
# Die Antwortliste ist FLACH, kein Knotengraph: Was erst nach einer Antwort
# erscheint, ist eine Option mit einer Bedingung. Ein Graph braeuchte Knoten-IDs,
# einen Zeiger auf den aktuellen Knoten im Speicherstand und eine Kreispruefung
# beim Laden — fuer einen Haendler mit vier Saetzen.
[[npcs]]
id = "blacksmith"
name = "Borin"
symbol = "B"
color = "yellow"
greeting = "Stahl kostet. Rede oder kauf."
shop = "core:blacksmith_stock"
options = [
{ text = "Zeig mir deine Waren.", actions = [ { action = "open_shop" } ] },
{ text = "Was gibt es hier unten?" },
# Bedingte Option statt eines zweiten Dialogknotens — genau der Fall, fuer
# den der Knotengraph angeblich noetig waere.
{ text = "Diese Knochenklinge — kennst du sie?",
condition = [ { check = "has_item", item = "core:bone_blade" } ] },
{ text = "Nichts weiter." },
]