Files
rustkeep/CONTEXT.md

6.7 KiB

Glossar

Kanonische Begriffe für rustkeep. Nur Sprache, keine Implementierung.

Wesen

Held oder Gegner — im Code derselbe Typ. Träger von Attributen, Zustand, Tags, Inventar, Ausrüstung, gewählten Charakteroptionen und den befristeten Modifikatoren, 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. 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, 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 erzeugen — so hängen die beiden Begriffe zusammen, ohne dasselbe zu sein.

Fähigkeit

Ein benanntes, wiederholt auslösbares Angebot an den Spieler, das Aktionen ausführt. Sie erscheint im Kampfmenü, trägt Symbol und Kosten und kann gesperrt sein.

Die dritte und letzte Wirkungsform neben Modifikator und Aktion, und die Unterscheidung ist wesentlich: Eine Aktion ist eine Wirkung, eine Fähigkeit ist ein Angebot. Fähigkeiten werden von Charakteroptionen und Gegenständen gewährt, nicht im Inventar getragen — sonst könnte ein Magier seine Zaubersprüche verkaufen.

Gegenstand

Ein Ding im Spiel, einheitlich strukturiert: Kennung, Name, Grundpreis, optionaler Slot, Stapelbarkeit, Verbrauch beim Benutzen, plus Listen von Modifikatoren, Aktionen und Fähigkeiten.

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-Liste mit Anzeigename und Preisfaktor, die an einem einzelnen Exemplar eines Gegenstands 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 — benannte Modifikatorliste plus Metadaten. Der Unterschied ist, woran er hängt.

Slot

Eine benannte Stelle am Charakter, an der genau ein 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, Fähigkeiten und einmalig ausgeführten Aktionen. 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. Kein Attribut und nicht von Modifikatoren umrechenbar: Ein Modifikator wirkt auf max_health, eine 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 — 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. Es gibt keine getrennte Kampfrunden-Uhr: Befristete Modifikatoren 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 und 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.