# Glossar Kanonische Begriffe für rustkeep. Nur Sprache, keine Implementierung. ## Wesen Held oder Gegner — im Code derselbe Typ. Träger von [Attributen](#attribut), [Zustand](#zustand), [Tags](#tag), Inventar, Ausrüstung, gewählten [Charakteroptionen](#charakteroption) und den befristeten [Modifikatoren](#modifikator), die gerade auf ihm liegen. Ein Wesen ist dabei nicht in sich abgeschlossen: Eine Aura wohnt beim Träger und wird erst beim Auslesen des Ziels eingesammelt. ## Attribut Eine benannte, veränderbare Größe an einem [Wesen](#wesen). Der Katalog ist fest und wird von der Engine vorgegeben — er umfasst die Grundwerte (Stärke, Geschicklichkeit, Konstitution, Charisma, Glück, Leben, Ausdauer, Level) *und* die abgeleiteten Kampfgrößen (Schaden, Rüstung, Trefferchance, Kritische Chance, Kritischer Faktor, Preis-Modifikator, Tragfähigkeit). Ein Attribut ist kein Inhalt, den ein Mod anlegt: Ein Modifikator auf ein Attribut, das keine Spiellogik ausliest, hätte keine Wirkung. Der Katalog darf wachsen — aber durch die Engine, nicht durch eine TOML-Datei. ## Modifikator Eine Umrechnung eines [Attributs](#attribut), die gilt, solange eine Bedingung erfüllt ist. Er wird nie ausgeführt, sondern beim Auslesen des Attributs aufsummiert. Quellen sind Rasse, Klasse, ausgerüstete Gegenstände und befristete Zustände. Beispiele: „Zwerg: +2 Konstitution", „Eisenschwert: +5 Schaden", „Segen: +10 % Kritische Chance". ## Aktion Eine einmalige Zustandsänderung. Sie feuert, wirkt, ist vorbei. Quellen sind Angriffe, Verbrauchsgegenstände, Questbelohnungen und Fallen. Beispiele: „12 Schaden zufügen", „20 Leben heilen", „50 Gold geben", „Gift anwenden". Eine Aktion kann einen befristeten [Modifikator](#modifikator) erzeugen — so hängen die beiden Begriffe zusammen, ohne dasselbe zu sein. ## Command Ein Kommando der Oberfläche an das Spiel — „geh nach Norden", „leg das an", „kauf drei Tränke". **Nicht dasselbe wie eine [Aktion](#aktion)**, und der Unterschied ist der Grund für den englischen Namen: Eine Aktion ist Effektvokabular aus einer TOML, ein Command kommt von einem Tastendruck. Jeder Command kostet einen [Zug](#zug), auch Handel — es gibt keine Ausnahmeliste. Bildschirme zu öffnen ist dagegen kein Command, sondern reine Oberfläche und fasst den Spielzustand nicht an. ## Fähigkeit Ein benanntes, wiederholt auslösbares Angebot an den Spieler, das [Aktionen](#aktion) ausführt. Sie erscheint im Kampfmenü, trägt Symbol und Kosten und kann gesperrt sein. Die dritte und letzte Wirkungsform neben [Modifikator](#modifikator) und [Aktion](#aktion), und die Unterscheidung ist wesentlich: Eine Aktion ist eine *Wirkung*, eine Fähigkeit ist ein *Angebot*. Fähigkeiten werden von [Charakteroptionen](#charakteroption) und Gegenständen gewährt, nicht im Inventar getragen — sonst könnte ein Magier seine Zaubersprüche verkaufen. ## Trigger Die vierte Wirkungsform: `{ on = , condition = [...], actions = [...] }`. Ein [Modifikator](#modifikator) rechnet um, eine [Aktion](#aktion) wirkt einmal, eine [Fähigkeit](#fähigkeit) bietet an — der Trigger sagt **wann**. Er darf überall stehen, wo Modifikatoren und Aktionen stehen: an [Gegenständen](#gegenstand), [Affixen](#affix), [Charakteroptionen](#charakteroption) und [Quests](#quest). Im Trigger ist `self` immer sein *Träger*, `target` die andere Seite des Events. Die Events sind Engine-Vokabular ohne Namensraum und eine feste Liste — wie Attribute und Schadenstypen. ## Bedingung Eine Liste von Prüfungen, die *alle* zutreffen müssen — die Liste ist implizit UND, jeder Eintrag über `not` negierbar. Es gibt kein ODER und keine Verschachtelung: Zwei Möglichkeiten werden zu zwei Einträgen, oder der Modder fasst sie über ein gemeinsames [Tag](#tag) zusammen. Es gibt genau eine Bedingungsgrammatik, und sie gilt an [Triggern](#trigger) wie an [Modifikatoren](#modifikator). ## Quest Ein [Trigger](#trigger) mit einem Zähler: `count = N` bedeutet, dass das Event N-mal mit erfüllter [Bedingung](#bedingung) feuern muss, bevor die [Aktionen](#aktion) als Belohnung ablaufen. Moddbarer, namespaced Inhalt. Eine Quest zählt erst mit, nachdem die [Aktion](#aktion) `start_quest` sie angenommen hat. ## Gegenstand Ein Ding im Spiel, einheitlich strukturiert: Kennung, Name, Grundpreis, optionaler [Slot](#slot), Stapelbarkeit, Verbrauch beim Benutzen, plus Listen von [Modifikatoren](#modifikator), [Aktionen](#aktion) und [Fähigkeiten](#fähigkeit). Es gibt **keine Item-Typen**. Der frühere `enum ItemType` vermischte drei Konzepte — `Helmet` war ein Slot, `Consumable` ein Verhalten, `Currency` eine Kategorie. Ein Schwert ist ein Gegenstand mit einem Modifikator auf `damage`, mehr nicht. Braucht ein Gegenstand etwas, das Modifikator, Aktion oder Fähigkeit nicht ausdrücken können, ist das eine Lücke im Vokabular — sie wird dort geschlossen, nicht mit einem Sonderfeld umgangen. ## Affix Eine benannte [Modifikator](#modifikator)-Liste mit Anzeigename und Preisfaktor, die an einem *einzelnen Exemplar* eines [Gegenstands](#gegenstand) hängt — „Flammendes Eisenschwert". Moddbarer, namespaced Inhalt (`core:flaming`). Der Affix ist der Grund, warum ein Gegenstand im Spiel nicht dasselbe ist wie sein Katalogeintrag: Die Definition liegt in der Registry, das Exemplar trägt zusätzlich seine Affixe. Strukturell ist ein Affix dasselbe wie eine [Charakteroption](#charakteroption) — benannte Modifikatorliste plus Metadaten. Der Unterschied ist, woran er hängt. ## Slot Eine benannte Stelle am Charakter, an der genau ein [Gegenstand](#gegenstand) getragen werden kann. Moddbarer, namespaced Inhalt mit Anzeigename und Sortierreihenfolge (`core:head`, `meinmod:umhang`). Der Charakterbogen rendert die vorhandenen Slots, statt ein festes Layout zu mauern. ## Charakteroption Eine Wahl beim Charakterbau — eine benannte Liste von [Modifikatoren](#modifikator), [Fähigkeiten](#fähigkeit) und einmalig ausgeführten [Aktionen](#aktion). Rasse und Klasse sind Charakteroptionen, keine eigenen Konzepte. Optionen liegen in **Kategorien**, und die Kategorien sind selbst moddbarer Inhalt mit einem Feld `pick = N`. Ein Mod kann so eine dritte Wahl („Gottheit") oder eine Mehrfachwahl („zwei Talente") ergänzen, ohne dass die Engine davon weiß. ## Zustand Der veränderliche Istwert eines Wesens — aktuelles Leben, aktuelle Ausdauer, getragene Gegenstände, aktive befristete [Modifikatoren](#modifikator). Kein [Attribut](#attribut) und nicht von Modifikatoren umrechenbar: Ein Modifikator wirkt auf `max_health`, eine [Aktion](#aktion) ändert den Lebensstand. Die Trennung muss scharf bleiben, sonst heilt ein Ring beim Anlegen. ## Schadenstyp Eine von sieben festen Kennzeichnungen, wie Schaden gemindert wird: `fire`, `ice`, `poison`, `shock`, `holy`, `slash`, `blunt`. Engine-Vokabular ohne Namensraum. Zu jedem Typ gehört eine Resistenz, und Resistenz ist der *einzige* Minderungsmechanismus — Rüstung ist Kurzschreibweise für Resistenz gegen `slash` und `blunt`, kein eigenes Konzept. Der Schadenstyp `poison` ist **nicht** der Modifikator `core:poisoned` („Vergiftet"). Der Typ sagt, wie gemindert wird; der Modifikator ist ein Zustand, der über Züge tickt. ## Tag Eine freie, namespaced Kennzeichnung an einem Wesen (`core:undead`, `meinmod:aquatisch`). Reiner Inhalt: Die Engine kennt keine Tags, sie vergleicht nur Zeichenketten. Grundlage für Bedingungen wie „+5 Schaden gegen Untote". Gegenpol zum [Attribut](#attribut) — der Doppelpunkt zeigt dem Modder, auf welcher Seite er steht. ## Zug Die einzige Zeiteinheit des Spiels. Ein Feld weitergehen ist ein Zug, eine Kampfaktion ist ein Zug. Ein **abgewiesenes** [Command](#command) kostet dagegen keinen — gegen eine Wand zu laufen verbraucht keine Zeit. Es gibt keine getrennte Kampfrunden-Uhr: Befristete [Modifikatoren](#modifikator) ticken auch beim Erkunden, damit „ich warte den Debuff draußen ab" eine Entscheidung mit Kosten bleibt. ## Mod Ein Ordner mit einer `manifest.toml` und beliebig vielen weiteren TOML-Dateien. Das Manifest gibt dem Mod seinen **Namensraum** — den Präfix vor dem Doppelpunkt, den der Lader jeder ID darin automatisch voranstellt. Das Kernspiel ist ein Mod, kein Sonderfall: `core` liegt als gewöhnlicher Ordner auf der Platte und wird über denselben Lader gelesen wie jeder Fremdmod. Genau das ist der Sinn — was nur für Fremdmods gilt, ist nie getestet. ## Effekt **Kein kanonischer Begriff.** Wird umgangssprachlich für [Modifikator](#modifikator) *und* [Aktion](#aktion) benutzt; in Code, TOML und Doku ist stattdessen immer der genaue Begriff zu verwenden. Das Wort überlebt nur noch in „Effekt-Vokabular" als Sammelname für beide zusammen.