Files
rustkeep/mods/core/prefabs.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

99 lines
1.5 KiB
TOML

# Handgezeichnete Raeume (Ticket 10). Marker stehen IM Block — der Sinn von
# ASCII ist, dass der Modder den Raum sieht.
#
# # Wand e Gegner-Platz > Treppe n NPC-Platz
# . Boden l Beute-Platz < Eingang
# + Tuer (Korridore duerfen nur hier andocken)
#
# Ein `e` sagt "hier steht ein Gegner", NICHT welcher — das entscheidet die
# Etage. Nur so laesst sich derselbe Raum auf Etage 1 und Etage 5 verwenden.
[[prefabs]]
id = "entrance_hall"
tags = ["core:entrance"]
layout = """
#####+#####
#.........#
#....<....#
#.........#
+.........+
#.........#
#####+#####
"""
[[prefabs]]
id = "stair_room"
tags = ["core:stairs"]
layout = """
#######
#.....#
#..>..#
+.....+
#..l..#
#######
"""
[[prefabs]]
id = "market"
tags = ["core:merchant"]
# Der i-te `n`-Platz bekommt den i-ten Eintrag. Anders als bei `e` nennt das
# Prefab den NPC: Ein Schmied skaliert nicht mit der Tiefe.
npcs = ["core:blacksmith"]
layout = """
####+####
#.......#
#...n...#
+.......+
#..l.l..#
####+####
"""
[[prefabs]]
id = "crossing"
tags = ["core:normal"]
layout = """
####+####
#.......#
#..e...e#
+.......+
#..l....#
#.......#
####+####
"""
[[prefabs]]
id = "pillars"
tags = ["core:normal"]
layout = """
#####+#####
#.........#
#.##...##.#
+.##.e.##.+
#.........#
#..l...l..#
#####+#####
"""
[[prefabs]]
id = "closet"
tags = ["core:normal"]
layout = """
#####
#...#
+.l.+
#.e.#
#####
"""
[[prefabs]]
id = "vault"
tags = ["core:treasure"]
layout = """
#######
#.....#
#.lll.#
+..e..#
#.....#
#######
"""