DSA 4.1 Heldendokument: Formatspezikifation

Dieses Dokument spezifiziert die Struktur der Eingabedatei für die Generierung des Heldendokuments. Es dient der Referenz; generell ist es nicht nötig, das komplette Dokument zu lesen, um eine Eingabedatei schreiben zu können. Zum Einstieg wird empfohlen, beim Abschnitt Struktur des Eingabedokuments zu beginnen und bei den dort verlinkten Strukturen auf der obersten Ebene die Beispiele anzuschauen. Sind dann Einzelheiten unklar, kann die Referenz zu Rate gezogen werden.

Generelle Syntax

Die Eingabedatei folgt der Syntax der Programmiersprache Lua, es sind keine Programmierkenntnisse nötig (aber es kann ein Editor mit Lua-Unterstützung verwendet werden, um eine Heldendatei zu schreiben). Alle für die Heldendatei nötige Syntax ist in diesem Dokument beschrieben. Zwei Gedankenstriche (--) werden verwendet, um einen Kommentar einzuleiten, der bis zum Ende der Zeile geht und keinen Wert darstellt – solche finden sich in den Beispielen. Die üblichen Lua-Funktionen sind in der Eingabedatei nicht verfügbar aus Sicherheitsgründen (damit man nicht böswilligen Code in Heldendaten einbetten kann).

In der Eingabedatei werden Werte definiert. Ein Wert wird mit einer der folgenden Strukturen angegeben:

<Skalar>
<Zusammengesetzt>
<Typ>(<Skalar>)
<Typ> <Zusammengesetzt>

Ein Wert hat immer entweder skalaren oder zusammengesetzten Inhalt. Außerdem hat er einen Typ, der entweder explizit angegeben werden kann oder sich aus dem Kontext ergibt. Die letzten beiden Zeilen zeigen, wie der Typ explizit vor dem Inhalt steht; skalarer Inhalt muss dabei eingeklammert werden.

<Skalar> ist skalarer Inhalt. Dies kann Textinhalt sein, der durch Hochkommas umschlossen wird ("<Text>"); eine Zahl, die falls nötig den Punkt (nicht das Komma) für Dezimalstellen benutzt (Beispiel: 3.1415); oder die speziellen Boolean-Werte true und false.

<Zusammengesetzt> ist zusammengesetzter Inhalt und hat folgende Struktur:

{<Wert>, <Wert>, ..., <Name> = <Wert>, ...}

Innerhalb der geschweiften Klammern können innere Werte entweder direkt oder mit einem voranstehenden Namen und Gleichheitszeichen angegeben werden. Namen bestehen aus Buchstaben. Beide Formen können vermischt werden, wobei benamte Werte hinter unbenamten stehen sollten. Leerzeichen und Zeilenumbrüche können beliebig zwischen Werten eingefügt werden.

Der oberste Typ einer Wertstruktur muss immer angegeben werden, damit klar ist, wozu der Wert dient. Werte in zusammengesetzten Strukturen können den Typ weglassen, wenn durch ihre Position der Typ ableitbar ist; ist dies nicht der Fall, muss dort ebenfalls der Typ angegeben werden. Der Typ eines Werts definiert, welche Form sein Inhalt haben muss. Ein Typ kann verschiedene Arten von Inhalt zulassen. Lässt ein Typ zusammengesetzten Inhalt zu, verlangt er von diesem eine bestimmte Struktur.

Nachfolgend werden Prototypen beschrieben. Prototypen fassen die strukturellen Grundlagen mehrere Typen zusammen. Der Prototyp List definiert beispielsweise die grundsätzliche Struktur von Listen, die sowohl für eine Liste von Text wie auch für eine Liste von Zahlen gilt. Prototypen haben Parameter; ein Typ wird definiert, indem der verwendete Prototyp angegeben wird und Werte für dessen Parameter. Der Prototyp List halt beispielsweise einen Parameter, der den inneren Typ der Liste angibt.

Der Prototyp Primitive

Parameter:

innerdefiniert die Art des Inhalts: string (Textinhalt), number (Zahl), boolean (Boolean-Inhalt), void (kein Inhalt)
optionaldefiniert, ob der Wert optional ist. Falls true, darf statt einem der oben genannten Werte auch {} als Indikator für die Abwesenheit eines Werts angegeben werden.
decimalsdefiniert für Zahlenwerte, wie viele Nachkommastellen angegeben werden dürfen.
mindefiniert für Zahlenwerte den kleinstmöglichen Wert.
maxdefiniert für Zahlenwerte den größtmöglichen Wert.

Auf der Basis von Primitive werden Typen definiert, die nicht zusammengesetzte Werte annehmen. Zahlenwerte können weiter beschränkt werden wie bei den entsprechenden Parametern beschrieben. Ist inner void, muss optional true sein – ein solcher Wert hat nie Inhalt.

Der Prototyp Matching

Parameter:

patternsListe von Patterns, von denen mindestens eines vom Inhalt erfüllt werden muss.

Matching definiert Typen, die Textinhalt annehmen, welcher einem der gegebenen Pattern entspricht. Leerer Text ("") wird immer angenommen. Die Pattern werden in der Syntax von Lua Patterns angegeben.

Der Prototyp Numbered

Parameter:

maxDie höchstmögliche enthaltene Zahl

Numbered definiert Typen mit zusammengesetzten Inhalt ({...}). Der Inhalt darf nur unbenamte Werte enthalten, und alle Werte müssen Ganzzahlen zwischen 1 und max sein. Die Ganzzahlen müssen typlos sein.

Numbered-Typen werden verwendet für mehrstufige Werte. Statt der Dezimalschreibweise kann man auch die römischen Ziffern I, II, III, IV, V und VI verwenden. Beispiel:

Ausweichen {I, II}

Die Reihenfolge der Zahlenwerte spielt keine Rolle. Auch wenn es oft keinen Sinn ergibt, die Stufe II ohne die Stufe I zu aktivieren, ist dies nicht verboten.

Der Prototyp List

Parameter:

innerEiner oder mehrere Typen. Die Liste nimmt innere Werte dieser Typen an.
minMinimale Anzahl innerer Werte
maxMaximale Anzahl innerer Werte

List definiert Listentypen. Listentypen haben zusammengesetzten Inhalt. Ist inner ein einziger Typ, brauchen innere Werte keinen voranstehenden Typ. Enthält inner aber mehrere Typen, müssen alle inneren Werte ihren Typ angeben. In jedem Fall dürfen die inneren Werte nicht benamt sein.

List-Typen werden vor allem für Tabellen verwendet, wobei inner dann der Typ einer Zeile in der Tabelle ist.

Der Prototyp Row

Parameter:

itemsListe von Einträgen. Jeder Eintrag hat einen Namen und einen Typ, möglicherweise außerdem Default-Inhalt.

Row definiert Typen, die eine Tabellenzeile beschreiben. Die Liste von Einträgen korrespondiert nicht unbedingt mit ausgegebenen Spalten – oftmals gibt es Spalten, deren Inhalt automatisch berechnet wird und die daher im zugrundeliegenden Row-Typ keinen Eintrag haben.

Der Inhalt von Row-Typen darf sowohl unbenamte wie auch benamte innere Werte beinhalten. Unbenamte Werte werden über ihre Position mit einem Eintrag assoziiert (der dritte unbenamte Wert also mit dem dritten Eintrag), benamte Werte müssen einen Namen eines der Einträge haben und werden mit diesem assoziiert. Die inneren Werte einer Row müssen nie einen Typen haben.

Wird vom Inhalt für einen Eintrag kein Wert gegeben, wird der Default-Inhalt dieses Eintrags als Wert genommen. Für Einträge, die keinen Default-Inhalt haben, muss ein Wert gegeben werden..

Der Prototyp Record

Parameter:

itemsListe von Einträgen. Jeder Eintrag hat einen Namen und einen Typ.

Record definiert Typen für zusammengesetzte Werte ähnlich wie Row. Allerdings haben die Einträge eines Record nie Default-Werte und der Inhalt darf ausschließlich aus benamten Werten bestehen. Wie bei Rows müssen die inneren Werte nie typisiert sein.

Records werden üblicherweise für Tabellen mit fester Anzahl an Zeilen benutzt, wie etwa eine Liste von Eigenschaftenwerten.

Der Prototyp Multivalue

Parameter:

innerInnerer Typ
knownBekannte Werte und Untertypen

Multivalue definiert Typen für Auflistungen von Werten, die meistens im Ausgabedokument mit Kommas getrennt hintereinander geschrieben werden. Multivalue-Werte haben zusammengesetzten Inhalt, wobei die inneren Werte unbenamt sein müssen. Werte des Typs inner brauchen keinen Typ. Daneben ist immer der Wert {} erlaubt, der an der Stelle seines Auftretens einen Zeilenumbruch generiert, falls das ausgegebene Dokument das an dieser Stelle zulässt.

known definiert eine Liste bekannter Werte und Untertypen. Bekannte Werte sind vom Typ inner und sind ein Hinweis an den Benutzer, dass der beschriebene Wert Auswirkungen auf berechnete Werte im Dokument haben kann.

Bekannte Untertypen sind zusätzliche Typen, deren Werte ebenfalls – dann mit Typ – als innere Werte auftreten dürfen. Sie ermöglichen es, neben textuellen Werten strukturierte Werte anzunehmen, wie etwa eine Sonderfertigkeit, die mehrere Stufen haben kann. Beispiel:

SF.Nahkampf {"Aufmerksamkeit", Ausweichen {I} }

Untertypen haben ein Flag multi, welches eines der Werte forbid, allow oder merge hat. Dieses Flag definiert, ob mehrere Werte dieses Untertyps gegeben werden dürfen: forbid verbietet es, allow erlaubt es, und merge führt alle weiteren Werte mit dem ersten Wert des Untertyps zusammen.

Struktur des Eingabedokuments

Auf der obersten Ebene des Eingabedokuments können Werte der nachfolgend gelisteten Typen angegeben werden:

Layout {...}
Held {...}
Vorteile {...}
Vorteile.Magisch {...}
Nachteile {...}
Nachteile.Eigenschaften {...}
Nachteile.Magisch {...}
Eigenschaften {...}
AP {...}
Talente.Begabungen {...}
Talente.Gaben {...}
Talente.Kampf {...}
Talente.Koerper {...}
Talente.Gesellschaft {...}
Talente.Natur {...}
Talente.Wissen {...}
Talente.SprachenUndSchriften {...}
Talente.Handwerk {...}
SF {...}
SF.Nahkampf {...}
SF.Fernkampf {...}
SF.Waffenlos {...}
SF.Magisch {...}
Waffen.Nahkampf {...}
Waffen.Fernkampf {...}
Waffen.SchildeUndParierwaffen {...}
Waffen.Ruestung {...}
Kleidung {...}
Ausruestung {...}
Proviant {...}
Vermoegen {...}
Vermoegen.Sonstiges {...}
Verbindungen {...}
Notizen {...}
Tiere {...}
Mirakel.Liturgiekenntnis {...}
Mirakel.Plus {...}
Mirakel.Minus {...}
Mirakel.Liturgien {...}
Magie.Rituale {...}
Magie.Ritualkenntnis {...}
Magie.Artefakte {...}
Magie.Notizen {...}
Magie.Repraesentationen {...}
Magie.Merkmalskenntnis {...}
Magie.Zauber {...}
Ereignisse {...}

Jeder dieser Werte ist optional, ihre Reihenfolge beliebig. Die Struktur der einzelnen Elemente wird bei dem jeweiligen verlinkten Typen beschrieben. Wird ein Element nicht angegeben, erhält es einen Standard-Wert, was in der Regel bedeutet, dass die Daten leer sind; Ausnahmen sind beim Typen angegeben.

Layout (List)

Werte der Prototypenparameter:

itemsFront, Talentliste, Kampfbogen, Ausruestungsbogen, Liturgiebogen, Zauberdokument, Zauberliste, Ereignisliste

Definiert, welche Seiten in welcher Reihenfolge generiert werden. Für die einzelnen Seiten können weitere Spezifikationen vorgenommen werden, dies ist bei den Typen der einzelnen Seiten beschrieben.

Beispiel

Layout {
  Front {},
  Talentliste {
    Sonderfertigkeiten(6),
    Gaben(2),
    Kampf(13),
    Koerper(17),
    Gesellschaft(9),
    Natur(10),
    Wissen(16),
    SprachenUndSchriften(10),
    Handwerk(13)
  },
  Kampfbogen {},
  Ausruestungsbogen {},
  Liturgiebogen {},
  Zauberdokument {},
  Zauberliste {}
}

Front (Record)

Werte der Prototypenparameter:

items

Frontseite

Zeilen (Primitive)

Werte der Prototypenparameter:

innernumber
optionalfalse
decimals0
min0

Anzahl Zeilen in einem Feld oder einer Tabelle

Talentliste (List)

Werte der Prototypenparameter:

itemsSonderfertigkeiten, Gaben, Begabungen, Kampf, Koerper, Gesellschaft, Natur, Wissen, SprachenUndSchriften, Handwerk

Sonderfertigkeiten & Talente. Der Inhalt dieses Werts definiert die Reihenfolge der Untergruppen und die Anzahl Zeilen jeder Untergruppe.

Sonderfertigkeiten (Primitive)

Werte der Prototypenparameter:

innernumber
optionalfalse
decimals0
min0

Zeilen für Sonderfertigkeiten

Gaben (Primitive)

Werte der Prototypenparameter:

innernumber
optionalfalse
decimals0
min0

Zeilen für Gaben

Begabungen (Primitive)

Werte der Prototypenparameter:

innernumber
optionalfalse
decimals0
min0

Zeilen für Übernatürliche Begabungen

Kampf (Primitive)

Werte der Prototypenparameter:

innernumber
optionalfalse
decimals0
min0

Zeilen für Kampftalente

Koerper (Primitive)

Werte der Prototypenparameter:

innernumber
optionalfalse
decimals0
min0

Zeilen für Körperliche Talente

Gesellschaft (Primitive)

Werte der Prototypenparameter:

innernumber
optionalfalse
decimals0
min0

Zeilen für Gesellschaftstalente

Natur (Primitive)

Werte der Prototypenparameter:

innernumber
optionalfalse
decimals0
min0

Zeilen für Naturtalente

Wissen (Primitive)

Werte der Prototypenparameter:

innernumber
optionalfalse
decimals0
min0

Zeilen für Wissenstalente

SprachenUndSchriften (Primitive)

Werte der Prototypenparameter:

innernumber
optionalfalse
decimals0
min0

Zeilen für Sprachen & Schriften

Handwerk (Primitive)

Werte der Prototypenparameter:

innernumber
optionalfalse
decimals0
min0

Zeilen für Handwerkstalente

Kampfbogen (Record)

Werte der Prototypenparameter:

items

Kampfbogen.

NahkampfWaffenUndSF (Record)

Werte der Prototypenparameter:

items

Zeilen für Nahkampfwaffen und -SF.

FernkampfWaffenUndSF (Record)

Werte der Prototypenparameter:

items

Zeilen für Fernkampfwaffen und -SF.

Waffenlos (Record)

Werte der Prototypenparameter:

items

Zeilen für waffenlose Manöver.

Boolean (Primitive)

Werte der Prototypenparameter:

innerboolean
optionalnil

Ausruestungsbogen (Record)

Werte der Prototypenparameter:

items

Ausrüstungsbogen.

Vermoegensbox (Record)

Werte der Prototypenparameter:

items

Zeilen in der Vermögensbox.

Liturgiebogen (Record)

Werte der Prototypenparameter:

items

Bogen für Liturgien & Ausrüsung.

ProviantVermoegen (Record)

Werte der Prototypenparameter:

items

Zeilen für Proviant & Vermögen Box.

Zauberdokument (Record)

Werte der Prototypenparameter:

items

Zauberdokument.

Zauberliste (Primitive)

Werte der Prototypenparameter:

innervoid
optionaltrue

Zauberliste.

Ereignisliste (Primitive)

Werte der Prototypenparameter:

innervoid
optionaltrue

Ereignisliste.

Held (Record)

Werte der Prototypenparameter:

items

Grundlegende Daten des Helden.

Beispiel

Held {
  Name         = "Fette Alrike",
  GP           = 110,
  Rasse        = "Mittelländerin",
  Kultur       = "Mittelländische Landbevölkerung",
  Profession   = "Söldnerin",
  Geschlecht   = "weiblich",
  Tsatag       = "3. Rondra 1020 BF",
  Groesse      = "1,78 Schritt",
  Gewicht      = "78 Stein",
  Haarfarbe    = "braun",
  Augenfarbe   = "grün",
  Sozialstatus = 4,
  -- Aussehen ist eine mehrzeilige Box. Grundsätzlich wird Text darin
  -- automatisch umgebrochen, mit {} kann ein Zeilenumbruch an einer bestimmten
  -- Stelle forciert werden.
  Aussehen     = {"Narbe an der rechten Wange", {}, "kurz geschnittene Haare"}
  -- Stand und Titel sind nicht gegeben und erhalten daher ihren default-Wert.
}

String (Primitive)

Werte der Prototypenparameter:

innerstring
optionalnil

OptNum (Primitive)

Werte der Prototypenparameter:

innernumber
optionaltrue
decimals0

Multiline (Multivalue)

Werte der Prototypenparameter:

knownkeine

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

Vorteile (Multivalue)

Werte der Prototypenparameter:

known(BegabungFuerTalentgruppe, merge), (AkademischeAusbildung, merge), "Gutes Gedächtnis", (BegabungFuerEigenschaft, merge), (BegabungFuerTalent, merge), (Flink, forbid), "Eisern", "Eidetisches Gedächtnis"

Liste von nicht-magischen Vorteilen.

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

Beispiel

Vorteile {
  "Balance", BegabungFuerTalentgruppe {"Nahkampf"}, "Eisern", Flink(1), "Verbindungen 5"
}

BegabungFuerTalentgruppe (List)

Werte der Prototypenparameter:

itemsTalentgruppe

Begabung für eine oder mehrere Talentgruppen.

Talentgruppe (Matching)

Werte der Prototypenparameter:

patternsKampf, Nahkampf, Fernkampf, Koerper, Gesellschaft, Natur, Wissen, SprachenUndSchriften, Handwerk

Eine der existierenden Talentgruppen

AkademischeAusbildung (List)

Werte der Prototypenparameter:

itemsAusbildungsname
min0
max1

Akademische Ausbildung

Ausbildungsname (Matching)

Werte der Prototypenparameter:

patternsGelehrter?, Magier, Magierin, Krieger, Kriegerin

Name einer akademischen Ausbildung

BegabungFuerEigenschaft (List)

Werte der Prototypenparameter:

itemsEigName

Begabung für eine oder mehrere Eigenschaften. Üblicherweise nicht frei wählbar, kommt aber etwa in 7G vor.

EigName (Matching)

Werte der Prototypenparameter:

patternsMU, KL, IN, CH, FF, GE, KO, KK, LE, AU, AE, MR

Name einer steigerbaren Eigenschaft

BegabungFuerTalent (List)

Werte der Prototypenparameter:

itemsString

Begabung für ein oder mehrere Talente

Werte der Prototypenparameter:

innernumber
optionalfalse
decimals0
min1
max2

Flink(2) ist exklusiv für Goblins, die es zweimal wählen dürfen.

Vorteile.Magisch (Multivalue)

Werte der Prototypenparameter:

known"Viertelzauberer", (UebernatuerlicheBegabung, merge), (BegabungFuerZauber, merge), "Halbzauberer", "Eigeboren", (Meisterhandwerk, merge), (AstraleRegeneration, forbid), (BegabungFuerRitual, merge), (BegabungFuerMerkmal, merge), "Vollzauberer"

Liste von magischen Vorteilen.

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

Beispiel

Vorteile.Magisch {
  BegabungFuerMerkmal {"Antimagie", Elementar {"Eis"}},
  Meisterhandwerk {"Alchimie"}, "Feste Matrix", "Vollzauberer"
}

UebernatuerlicheBegabung (List)

Werte der Prototypenparameter:

itemsString

Liste von Talenten, für die eine Übernatürliche Begabung existiert.

BegabungFuerZauber (List)

Werte der Prototypenparameter:

itemsString

Begabung für einen oder mehrere Zauber

Meisterhandwerk (List)

Werte der Prototypenparameter:

itemsString

Liste von Talenten, für die ein Meisterhandwerk existiert.

AstraleRegeneration (Primitive)

Werte der Prototypenparameter:

innernumber
optionalfalse
decimals0
min1
max3

Astrale Regeneration I, II oder III

BegabungFuerRitual (List)

Werte der Prototypenparameter:

itemsString

Begabung für ein oder mehrere Rituale

BegabungFuerMerkmal (Multivalue)

Werte der Prototypenparameter:

known(Elementar, merge), (Daemonisch, merge)

Begabung für ein oder mehrere Merkmale.

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

Elementar (List)

Werte der Prototypenparameter:

itemsElement

Spezifikation elementarer Merkmale.

Element (Matching)

Werte der Prototypenparameter:

patternsgesamt, Eis, Humus, Feuer, Wasser, Luft, Erz

Name eines Elements, oder 'gesamt'.

Daemonisch (List)

Werte der Prototypenparameter:

itemsDomaene

Spezifikation dämonischer Merkmale.

Domaene (Matching)

Werte der Prototypenparameter:

patternsgesamt, Blakharaz, Belhalhar, Charyptoroth, Lolgramoth, Thargunitoth, Amazeroth, Belshirash, Asfaloth, Tasfarelel, Belzhorash, Agrimoth, Belkelel

Name einer Domäne, oder 'gesamt'

Nachteile (Multivalue)

Werte der Prototypenparameter:

known"Behäbig", "Kleinwüchsig", (UnfaehigkeitFuerTalentgruppe, merge), "Zwergenwuchs", "Unstet", (UnfaehigkeitFuerTalent, merge), "Lahm", "Glasknochen"

Liste von nicht-magischen Nachteilen (außer schlechten Eigenschaften)

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

Beispiel

Nachteile {
  "Impulsiv", "Zwergenwuchs", UnfaehigkeitFuerTalent {"Schwimmen"}
}

UnfaehigkeitFuerTalentgruppe (List)

Werte der Prototypenparameter:

itemsTalentgruppe

Unfähigkeit für eine oder mehrere Talentgruppen

UnfaehigkeitFuerTalent (List)

Werte der Prototypenparameter:

itemsString

Unfähigkeit für ein oder mehrere bestimmte Talente

Nachteile.Eigenschaften (List)

Werte der Prototypenparameter:

itemsSchlechteEigenschaft

Liste von Schlechten Eigenschaften

Beispiel

Nachteile.Eigenschaften {
  {"Angst vor Wasser", 1.5, 6},
  {"Dunkelangst", 2, 7},
  {"Neid", 0.5, 8},
  {"Vorurteile gegen Menschen", 1, 9}
}

SchlechteEigenschaft (Row)

Werte der Prototypenparameter:

items

Eine schlechte Eigenschaft, die die GP pro Stufe (0.5, 1, 1.5 oder 2) definert sowie den aktuellen Stufenwert.

GPjeStufe (Primitive)

Werte der Prototypenparameter:

innernumber
optionalfalse
decimals1
min0.5
max2

GP pro Stufe in der schlechten Eigenschaft (positiv). Wird verwendet, um die Kosten von Senkungen zu berechnen.

Ganzzahl (Primitive)

Werte der Prototypenparameter:

innernumber
optionalfalse
decimals0

Eine Zahl in Dezimalschreibweise.

Nachteile.Magisch (Multivalue)

Werte der Prototypenparameter:

known"Astraler Block", (UnfaehigkeitFuerMerkmal, merge)

Liste von magischen Nachteilen.

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

Beispiel

Nachteile.Magisch {
  "Körpergebundene Kraft", UnfaehigkeitFuerMerkmal {Daemonisch {"gesamt"}},
  "Lästige Mindergeister"
}

UnfaehigkeitFuerMerkmal (Multivalue)

Werte der Prototypenparameter:

known(Elementar, merge), (Daemonisch, merge)

Unfähigkeit für ein oder mehrere Merkmale.

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

Eigenschaften (Record)

Werte der Prototypenparameter:

items

Liste von Basis- und abgeleiteten Eigenschaften

Beispiel

Eigenschaften {
  MU = {1, 15, 17},
  KL = {0, 11, 12},
  IN = {0, 13, 16},
  CH = {0, 14, 14},
  FF = {0, 8, 8},
  GE = {0, 12, 12},
  KO = {1, 15, 17},
  KK = {1, 15, 18},
  -- GS wird automatisch berechnet.
  -- ab hier werden Mod, zugekaufte, und permanent verlorene Punkte angegeben.
  LE = {13, 1, 0},
  AU = {14, 0, 0},
  AE = {0, 0, 0},
  MR = {-5, 1, 0},
  KE = {24, 0, 0},
  -- INI hat nur einen Modifikator.
  INI = 0,
}

BasisEig (Row)

Werte der Prototypenparameter:

items

Eine Basiseigenschaft mit Modifikator, Startwert und aktuellem Wert.

AbgeleiteteEig (Row)

Werte der Prototypenparameter:

items

Eine abgeleitete Eigenschaft mit Modifikator, zugekauften Punkten und permanent verlorenen Punkten.

AP (Record)

Werte der Prototypenparameter:

items

Abenteuerpunkte.

Beispiel

AP {500, 458, 42}

Talente.Begabungen (List)

Werte der Prototypenparameter:

itemsTalent

Liste übernatürlicher Begabungen.

Beispiel

Talente.Begabungen {
  {"Axxeleratus Blitzgeschwind", "KL", "GE", "KO", 6}
}

Talent (Row)

Werte der Prototypenparameter:

items

Ein allgemeines Talent.

BasisEig (Matching)

Werte der Prototypenparameter:

patterns%*%*, MU, KL, IN, CH, FF, GE, KO, KK

Name einer Basis-Eigenschaft, oder ** in seltenen Fällen.

Spezialisierungen (Multivalue)

Werte der Prototypenparameter:

knownkeine

Liste von Spezialisierungen. Leere tables {} können als Zeilenumbruch benutzt werden. Ist der erste Eintrag {}, wird direkt nach dem Talentnamen umgebrochen.

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

Talente.Gaben (List)

Werte der Prototypenparameter:

itemsTalent

Liste von Gaben.

Beispiel

Talente.Gaben {
  {"Prophezeien", "IN", "IN", "CH", 7}
}

Talente.Kampf (List)

Werte der Prototypenparameter:

itemsNah, NahAT, Fern

Liste von Kampftalenten.

Beispiel

Talente.Kampf {
  -- Spezialisierungen werden vorne in die Namensspalte geschrieben.
  Fern {"Bogen", "E", "BE-3", 17, Spezialisierungen = {"Kurzbogen", "Langbogen"}},
  -- AT=8, TaW=13, PA-Wert von 5 wird berechnet.
  Nah {"Dolche", "D", "BE-1", 8, 13},
  -- Kein AT-Wert, da keine AT/PA-Verteilung.
  NahAT {"Lanzenreiten", "E", "", 4},
  Nah {"Raufen", "C", "BE", 6, 10},
  Nah {"Ringen", "D", "BE", 6, 10},
}

Nah (Row)

Werte der Prototypenparameter:

items

Ein Nahkampf-Talent mit AT/PA Verteilung. Der PA-Wert berechnet sich aus TaW - AT.

SteigSpalte (Matching)

Werte der Prototypenparameter:

patternsA%*?, B, C, D, E, F, G, H

Eine Steigerungsspalte.

Behinderung (Matching)

Werte der Prototypenparameter:

patterns%-, BE, BE%-[1-9], BEx[2-9]

Behinderung.

NahAT (Row)

Werte der Prototypenparameter:

items

Ein Nahkampf-Talent, dessen Wert ausschließlich zur Attacke dient und das keine AT/PA Verteilung hat.

Fern (Row)

Werte der Prototypenparameter:

items

Ein Fernkampf-Talent.

Talente.Koerper (List)

Werte der Prototypenparameter:

itemsKoerperTalent

Liste von körperlichen Talenten.

Beispiel

Talente.Koerper {
  {"Athletik", "GE", "KO", "KK", "BEx2", 5},
  {"Klettern", "MU", "GE", "KK", "BEx2", 4},
  {"Schleichen", "MU", "IN", "GE", "BE", 9, Spezialisierungen = {"Gebäude"}},
  {"Sinnenschärfe", "KL", "IN", "IN", "", 12},
}

KoerperTalent (Row)

Werte der Prototypenparameter:

items

Ein Talent aus der Gruppe der Körperlichen Talente.

Talente.Gesellschaft (List)

Werte der Prototypenparameter:

itemsTalent

Liste von Gesellschaftstalenten.

Beispiel

Talente.Gesellschaft {
  {"Lehren", "KL", "IN", "CH", 7},
  {"Menschenkenntnis", "KL", "IN", "CH", 11},
  {"Überreden", "MU", "IN", "CH", 9},
}

Talente.Natur (List)

Werte der Prototypenparameter:

itemsTalent, Meta

Liste von Naturtalenten und Metatalenten.

Beispiel

Talente.Natur {
  {"Orientierung", "KL", "IN", "IN", 3},
  {"Wildnisleben", "IN", "GE", "KO", 2},
}

Meta (Row)

Werte der Prototypenparameter:

items

Ein Metatalent.

Talentreferenzen (List)

Werte der Prototypenparameter:

itemsString

Liste von Talenten (referenziert über deren Namen), aus denen sich ein Metatalent zusammensetzt

Talente.Wissen (List)

Werte der Prototypenparameter:

itemsTalent

Liste von Wissenstalenten.

Beispiel

Talente.Wissen {
  {"Anatomie", "MU", "KL", "FF", 10},
  {"Baukunst", "KL", "KL", "FF", 4},
  {"Götter / Kulte", "KL", "KL", "IN", 10},
}

Talente.SprachenUndSchriften (List)

Werte der Prototypenparameter:

itemsMuttersprache, Zweitsprache, Sprache, Schrift

Liste von Sprachen & Schriften.

Beispiel

Talente.SprachenUndSchriften {
  -- Die Muttersprache gibt andere Sprachen und Schriften derselben Sprachfamilie an.
  -- Daraus berechnen sich die Steigerungsschwierigkeiten; sind die Sprachen/Schriften
  -- dem Helden bekannt, müssen sie unten separat aufgelistet werden.
  Muttersprache {"Garethi", 18, 8, Dialekt = {"Horathi"},
    Sprachfamilie  = {"Bosparano", "Aureliani", "Zyklopäisch"},
    Schriftfamilie = {"Kusliker Zeichen", "Imperiale Zeichen"}
  },
  Zweitsprache {"Tulamidya", 18, 6},
  Sprache {"Atak", 12, 4},
  Sprache {"Oloarkh", 10, 4},
  Schrift {"Kusliker Zeichen", "A", 10, 6},
}

Muttersprache (Row)

Werte der Prototypenparameter:

items

Die Muttersprache des Helden. Anders als andere Sprachen definiert eine Muttersprache Listen der verwandten Sprachen und Schriften, welche nicht ausgegeben werden, sondern nur zur Berechnung der Steigerungsschwierigkeit anderer Sprachen und Schriften dienen.

Familie (List)

Werte der Prototypenparameter:

itemsString

Liste von Sprachen oder Schriften in einer Familie.

Zweitsprache (Row)

Werte der Prototypenparameter:

items

Eine Zweitsprache, für die die Grund-Steigerungsschwierigkeit gilt.

Sprache (Row)

Werte der Prototypenparameter:

items

Eine Fremdsprache. Steigerungsschwierigkeit hängt ab davon, ob sie in der Sprachfamilie der Muttersprache enthalten ist.

Schrift (Row)

Werte der Prototypenparameter:

items

Eine Schrift. Es sollte die Steigerungsschwierigkeit gemäß WdS angegeben werden; der Bogen modifiziert sie automatisch im Falle einer Begabung oder Unfähigkeit.

Talente.Handwerk (List)

Werte der Prototypenparameter:

itemsTalent

Liste von Handwerkstalenten.

Beispiel

Talente.Handwerk {
  {"Holzbearbeitung", "KL", "FF", "KK", 12},
  {"Kochen", "KL", "IN", "FF", 0},
  {"Lederarbeiten", "KL", "FF", "FF", 1},
}

SF (Multivalue)

Werte der Prototypenparameter:

known(Kulturkunde, merge), (Ortskenntnis, merge)

Sonderfertigkeiten (außer Kampf & magischen)

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

Beispiel

SF {
  "Eiskundig", Kulturkunde {"Horasreich"}, "Nandusgefälliges Wissen",
}

Kulturkunde (Multivalue)

Werte der Prototypenparameter:

knownkeine

Liste von Kulturen, für die Kulturkunde besteht.

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

Ortskenntnis (Multivalue)

Werte der Prototypenparameter:

knownkeine

Liste von Orten, für die Ortskenntnis besteht.

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

SF.Nahkampf (Multivalue)

Werte der Prototypenparameter:

known(Schildkampf, merge), "Linkhand", (Parierwaffen, merge), (Ruestungsgewoehnung, merge), "Kampfgespür", (Ausweichen, merge), "Klingentänzer", "Kampfreflexe"

Liste von Nahkampf-Sonderfertigkeiten.

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

Beispiel

SF.Nahkampf {
  "Aufmerksamkeit", Ausweichen {I, II}, "Kampfreflexe", "Wuchtschlag"
}

Schildkampf (Numbered)

Werte der Prototypenparameter:

max2

Die SF Schildkampf, unterteilt in I und II.

Parierwaffen (Numbered)

Werte der Prototypenparameter:

max2

Die SF Parierwaffen, unterteilt in I und II.

Ruestungsgewoehnung (Numbered)

Werte der Prototypenparameter:

max3

Die SF Rüstungsgewöhnung, unterteilt in I, II und III.

Ausweichen (Numbered)

Werte der Prototypenparameter:

max3

Die SF Ausweichen, unterteilt in I, II und III.

SF.Fernkampf (Multivalue)

Werte der Prototypenparameter:

known(Scharfschuetze, merge), (Schnellladen, merge), (Meisterschuetze, merge), "Geschützmeister"

Liste von Fernkampf-Sonderfertigkeiten.

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

Beispiel

SF.Fernkampf {
  "Geschützmeister", Schnellladen {"Bogen"}
}

Scharfschuetze (Multivalue)

Werte der Prototypenparameter:

knownkeine

Liste von Talenten, für die Scharfschütze gilt.

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

Schnellladen (Multivalue)

Werte der Prototypenparameter:

knownkeine

Liste von Talenten, für die Schnellladen gilt.

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

Meisterschuetze (Multivalue)

Werte der Prototypenparameter:

knownkeine

Liste von Talenten, für die Meisterschütze gilt.

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

SF.Waffenlos (Multivalue)

Werte der Prototypenparameter:

known(Kampfstil, allow)

Listen waffenloser Sonderfertigkeiten.

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

Beispiel

SF.Waffenlos {
  Kampfstil {"Bornländisch", "Ringen"}, "Auspendeln", "Biss", "Block"
}

Kampfstil (Row)

Werte der Prototypenparameter:

items

Ein erlernter Kampfstil, der AT und PA eines waffenlosen Nahkampftalents um je 1 steigert.

WaffenlosesKampftalent (Matching)

Werte der Prototypenparameter:

patternsRaufen, Ringen

Raufen oder Ringen

SF.Magisch (Multivalue)

Werte der Prototypenparameter:

known(MeisterlicheRegeneration, forbid), (Matrixregeneration, merge), "Gefäß der Sterne", (Regeneration, merge)

Liste magischer Sonderfertigkeiten

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

Beispiel

SF.Magisch {
  "Gefäß der Sterne", Regeneration {I}, "Simultanzaubern", "Zauberroutine"
}

MeisterlicheRegeneration (Matching)

Werte der Prototypenparameter:

patternsKL, IN, CH

Meisterliche Regeneration; gibt die Leiteigenschaft an, auf deren Basis die nächtliche Regeneration berechnet wird.

Matrixregeneration (Numbered)

Werte der Prototypenparameter:

max2

Die Sonderfertigkeit Matrixregeneration I und II

Regeneration (Numbered)

Werte der Prototypenparameter:

max2

Die Sonderfertigkeit Regenetation I und II

Waffen.Nahkampf (List)

Werte der Prototypenparameter:

itemsNahkampfwaffe

Liste von Nahkampfwaffen.

Beispiel

Waffen.Nahkampf {
  {"Kurzschwert", "Dolche", "HN", "1W+2", 11, 4, 0, 0, -1, 1},
  -- Steht nicht die Art der Waffe sondern ihr Name vornan, muss die Art extra angegeben werden,
  -- damit etwaige Talentspezialisierungen mit eingerechnet werden können.
  {"Stich", "Dolche", "H", "1W+2", 12, 5, 0, 0, -1, 1, Art="Borndorn"},
}

Nahkampfwaffe (Row)

Werte der Prototypenparameter:

items

Eine Nahkampfwaffe.

Distanzklasse (Matching)

Werte der Prototypenparameter:

patterns[HNSP]*

Eine Distanzklasse.

Schaden (Matching)

Werte der Prototypenparameter:

patterns[0-9]*W[0-9]*, [0-9]*W[0-9]*[%+%-][0-9]+

Trefferpunkte einer Waffe.

Waffen.Fernkampf (List)

Werte der Prototypenparameter:

itemsFernkampfwaffe

Liste von Fernkampfwaffen.

Beispiel

Waffen.Fernkampf {
  {"Langbogen", "Bogen", "1W+6", 10, 25, 50, 100, 200, 3, 2, 1, 0, -1, VerminderteWS=true}
}

Fernkampfwaffe (Row)

Werte der Prototypenparameter:

items

Eine Fernkampfwaffe.

Waffen.SchildeUndParierwaffen (List)

Werte der Prototypenparameter:

itemsSchild, Parierwaffe

Liste von Schilden und Parierwaffen.

Beispiel

Waffen.SchildeUndParierwaffen {
  Schild {"Thorwaler Rundschild", -1, -2, 4, 3},
  Parierwaffe {"Buckler (Vollmetall)", 0, 0, 2, -2}
}

Schild (Row)

Werte der Prototypenparameter:

items

Ein Schild.

Parierwaffe (Row)

Werte der Prototypenparameter:

items

Eine Parierwaffe.

Waffen.Ruestung (List)

Werte der Prototypenparameter:

itemsRuestungsteil

Liste von Rüstungsteilen.

Beispiel

Waffen.Ruestung {
  {"Leichte Platte", Brust=5, Ruecken=4, LBein=2, RBein=2, Sterne=1},
  {"Panzerhandschuhe (Paar)", LArm=2, RArm=2, Z=true},
}

Ruestungsteil (Row)

Werte der Prototypenparameter:

items

Ein Rüstungsteil.

Zonenruestung (Primitive)

Werte der Prototypenparameter:

innernumber
optionalfalse
decimals2
min0

Zonenrüstungswert eines Rüstungsteils mit bis zu zwei Dezimalstellen

Ruestungsverarbeitung (Primitive)

Werte der Prototypenparameter:

innernumber
optionalfalse
decimals0
min0

Wie gut die Rüstung verarbeitet ist. Entspricht den Sternen in der Zonenrüstungstabelle, WdS 110.

Kleidung (Multivalue)

Werte der Prototypenparameter:

knownkeine

Mehrzeiliger Text für den Kleidungs-Kasten auf dem Ausrüstungsbogen.

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

Beispiel

Kleidung {
  "Reisegewand, Konventsgewand",
}

Ausruestung (List)

Werte der Prototypenparameter:

itemsGegenstand

Liste von Ausrüstungsgegenständen.

Beispiel

Ausruestung {
  {"Tusche"},
  {"Gänsekiele"},
  {"Federmesser"}
}

Gegenstand (Row)

Werte der Prototypenparameter:

items

Ein Ausrüstungsgegenstand.

Proviant (List)

Werte der Prototypenparameter:

itemsRationen

Liste von Proviant & Tränken.

Beispiel

Proviant {
  {"Pökelfleisch", 3}
}

Rationen (Row)

Werte der Prototypenparameter:

items

Proviant oder Trank mit Rationen.

Vermoegen (List)

Werte der Prototypenparameter:

itemsMuenzen

Liste von Münzenarten.

Beispiel

Vermoegen {
  {"Dukaten", 10},
  {"Silbertaler", 24},
  {"Heller", 56},
  {"Kreuzer", 42},
}

Muenzen (Row)

Werte der Prototypenparameter:

items

Eine Münzenart mit mehreren Werten.

Vermoegen.Sonstiges (Multivalue)

Werte der Prototypenparameter:

knownkeine

Sonstiges Vermögen.

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

Beispiel

Vermoegen.Sonstiges {
  "Schuldschein 100 Dukaten Nordlandbank"
}

Verbindungen (Multivalue)

Werte der Prototypenparameter:

knownkeine

Verbindungen.

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

Beispiel

Verbindungen {
  "Alte Gilde (Gareth)", "Madabasari (Aranien)"
}

Notizen (Multivalue)

Werte der Prototypenparameter:

knownkeine

Notizen auf dem Ausrüstungs / Liturgienbogen.

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

Beispiel

Notizen {
  "Lorem ipsum", "dolor sit amet"
}

Tiere (List)

Werte der Prototypenparameter:

itemsTier

Liste von Tieren.

Beispiel

Tier (Row)

Werte der Prototypenparameter:

items

Werte eines Tiers.

Mirakel.Liturgiekenntnis (Row)

Werte der Prototypenparameter:

items

Liturgiekenntnis.

Beispiel

Mirakel.Liturgiekenntnis {"Efferd", 7}

Mirakel.Plus (List)

Werte der Prototypenparameter:

itemsString

Der Gottheit wohlgefällige Talente

Beispiel

Mirakel.Plus {"Wettervorhersage", "Schifffahrt"}

Mirakel.Minus (List)

Werte der Prototypenparameter:

itemsString

Talente, die der Gottheit zuwider sind

Beispiel

Mirakel.Minus {"Grobschmied", "Kochen"}

Mirakel.Liturgien (List)

Werte der Prototypenparameter:

itemsSegnung, Liturgie

Liste von Liturgien.

Beispiel

Mirakel.Liturgien {
  Segnung {76, "Feuersegen"},
  Segnung {78, "Glückssegen"},
  Segnung {79, "Grabsegen"},
  Segnung {82, "Märtyrersegen"},
  Segnung {83, "Schutzsegen"},
  Segnung {84, "Speisesegen"},
  Segnung {85, "Tranksegen"},
  Liturgie {107, "Bannfluch des Heiligen Khalid", {III}},
  Liturgie {261, "Etilias Zeit der Meditation", {I}}
}

Segnung (Row)

Werte der Prototypenparameter:

items

Eine der zwölf kleinen Segnungen

Liturgie (Row)

Werte der Prototypenparameter:

items

Eine Liturgie, die keine der zwölf kleinen Segnungen ist.

Grade (Multivalue)

Werte der Prototypenparameter:

knownkeine

Liste von Graden einer Liturgie

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ Grad oder einen Typen in known haben.

Magie.Rituale (List)

Werte der Prototypenparameter:

itemsRitual

Liste von Ritualen.

Beispiel

Magie.Rituale {
  {"Bindung des Stabes"},
  {"Kraftfokus"},
  {"Hammer des Magus", "MU", "CH", "KK", "3 AsP"},
  {"Seil des Adepten", Kosten = "1 AsP"},
}

Ritual (Row)

Werte der Prototypenparameter:

items

Ein Ritual.

Magie.Ritualkenntnis (List)

Werte der Prototypenparameter:

itemsRitualkenntnis

Liste von Ritualkenntnissen.

Beispiel

Magie.Ritualkenntnis {
  {"Gildenmagie", "E", 10}
}

Ritualkenntnis (Row)

Werte der Prototypenparameter:

items

Ein Ritualkenntnis-Wert einer bestimmten Tradition.

Magie.Artefakte (Multivalue)

Werte der Prototypenparameter:

knownkeine

Artefakte.

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

Beispiel

Magie.Artefakte {
  "Karfunkelstein; WINKE WINKE KONTINENT VERSINKE (2 Ladungen); Auslöser: Den Meister ärgern"
}

Magie.Notizen (Multivalue)

Werte der Prototypenparameter:

knownkeine

Notizen auf dem Zauberdokument.

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

Magie.Repraesentationen (List)

Werte der Prototypenparameter:

itemsRepraesentation

Liste beherrschter Repräsentationen.

Beispiel

Magie.Repraesentationen {"Mag"}

Repraesentation (Matching)

Werte der Prototypenparameter:

patternsAch, Alh, Bor, Dru, Dra, Elf, Fee, Geo, Gro, Gül, Kob, Kop, Hex, Mag, Mud, Nac, Srl, Sch

Name einer Repräsentation.

Magie.Merkmalskenntnis (Multivalue)

Werte der Prototypenparameter:

known(Elementar, merge), (Daemonisch, merge)

Liste gelernter Merkmalskenntnisse

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

Beispiel

Magie.Merkmalskenntnis {"Antimagie", Elementar {"gesamt"}, Daemonisch {"Agrimoth"}}

Magie.Zauber (List)

Werte der Prototypenparameter:

itemsZauber

Liste von gelernten Zaubern.

Beispiel

Magie.Zauber {
  {37,  "Balsam Salabunde",          "KL", "IN", "CH", 8,  "C", {"Heilung", "Form"}, "Mag", Hauszauber=true},
  {41,  "Beherrschung brechen",      "KL", "IN", "CH", 10, "D", {"Antimagie", "Herrschaft"}, "Mag", Spezialisierungen={"Erzwingen"}},
  {187, "Nebelwand und Morgendunst", "KL", "FF", "KO", 10, "C", {"Umwelt", Elementar {"Luft", "Wasser"}}, "Mag"},
  {205, "Pentagramma",               "MU", "MU", "CH", 4,  "D", {"Antimagie", "Beschwörung", Daemonisch {}, "Geisterwesen"}, "Mag"},
}

Zauber (Row)

Werte der Prototypenparameter:

items

Ein Zauber.

Merkmale (Multivalue)

Werte der Prototypenparameter:

known(Elementar, merge), (Daemonisch, merge)

Liste von Merkmalen eines Zaubers.

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

Ereignisse (List)

Werte der Prototypenparameter:

itemsTaW, ZfW, Spezialisierung, ProfaneSF, NahkampfSF, FernkampfSF, WaffenlosSF, Eigenschaft, RkW, LkW, Aktiviere, MerkmalSF, Senkung, Permanent, GrosseMeditation, Karmalqueste, Spaetweihe, Zugewinn, Frei

Liste von Ereignissen, die auf den Grundcharakter appliziert werden sollen.

Beispiel

Ereignisse {
    -- AP-Zugewinn
    Zugewinn {"Ende Jahr des Greifen", 2250,  Fett=true},
    -- steigere MU auf 17
    Eigenschaft {"MU", 17},
    -- steigere Geschichtswissen auf 11 mittels SE
    TaW {"Geschichtswissen", 11, "SE"},
    -- steigere Tanzen auf 4 mittels gegenseitigem Lehren
    TaW {"Tanzen", 4, "Gegenseitig"},
    -- steigere Stäbe auf 11 mittels Lehrmeister. Verteile zwei zusätzliche Punkte auf AT (den Rest auf PA).
    TaW {"Stäbe", 11, "Lehrmeister", AT=2},
    -- aktiviere Wissenstalent Staatskunst und steigere es auf 4 mittels Lehrmeister
    Aktiviere {Talent {"Staatskunst", "KL", "IN", "CH", 4}, "Lehrmeister", Talentgruppe = "Wissen"},
    -- seigere KO auf 12 mittels SE
    Eigenschaft {"KO", 12, "SE"},
    -- aktiviere Sprache Rogolan und steigere sie auf 10 mittels Lehrmeister.
    -- sortiere sie bei den Sprachen ein gemäß ihrem Namen.
    Aktiviere {Sprache {"Rogolan", 21, 10}, "Lehrmeister", Sortierung={"", "Name"}},
    -- aktiviere Sprache Rogolan und steigere sie auf 10 mittels Lehrmeister.
    -- sortiere sie bei den Schriften ein gemäß ihrem Namen.
    Aktiviere {Schrift {"Angram", "A", 21, 10}, "Lehrmeister", Sortierung={"", "Name"}},
    -- aktiviere den Zauber Bannbaladin und steigere ihn auf 10 mittels Lehrmeister
    Aktiviere {Zauber {39, "Bannbaladin", "IN", "CH", "CH", 10, "B", {"Einfluss"}, "Mag"}, "Lehrmeister"},
    -- erlerne die Zauberspezialisierung Erzwingen für den Zauber Horriphobus Schreckgestalt
    Spezialisierung {"Horriphobus Schreckgestalt", "Erzwingen"},
    -- steigere den Zauber Klarum Purum auf 12 mittels Lehrmeister
    ZfW {"Klarum Purum", 12, "Lehrmeister"},
    -- erlerne eine Merkmalskenntnis
    MerkmalSF {{Daemonisch {"Blakharaz"}}, 
    -- senke eine Schlechte Eigenschaft auf 3
    Senkung {"Angst vor Spinnen", 3, "SE"},
    -- gebe drei permanente Karmalpunkte aus.
    Permanent {"KE", -3},
    -- kaufe zwei permanente Astralpunkte zurück (kostet AP)
    Permanent {"AE", 2},
    -- Führe eine Große Meditation mit 12 RkP* durch
    GrosseMeditation {"KL", 12},
    -- Führe eine Karmalqueste mit 7 LkP* durch
    Karmalqueste {7},
    -- erhalte eine Spätweihe
    Spaetweihe {"Boron",
      Plus      = {"Schleichen", "Überzeugen"},
      Minus     = {"Singen", "Überreden"},
      Liturgien = {
        Segnung {76, "Feuersegen"},
        Segnung {78, "Glückssegen"},
        Segnung {79, "Grabsegen"},
        Segnung {82, "Märtyrersegen"},
        Segnung {83, "Schutzsegen"},
        Segnung {84, "Speisesegen"},
        Segnung {85, "Tranksegen"},
        Liturgie {107, "Bannfluch des Heiligen Khalid", {III}},
        Liturgie {261, "Etilias Zeit der Meditation", {I}}
      },
      Kosten  = 2000,
      Methode = "Lehrmeister"
   },
  }

TaW (Row)

Werte der Prototypenparameter:

items
  • Typ
  • beliebig
  • {}

Steigerung eines Talentwerts. Heißen verschiedene Talente gleich, kann der Typ angegeben werden (z.B. Sprache Tuladimya vs Schrift Tulamidya). Der Wert AT muss angegeben werden bei Nahkampftalenten mit AT/PA Verteilung und gibt an, um wie viel die AT erhöht wird.

SteigerMethode (Matching)

Werte der Prototypenparameter:

patternsSE, Lehrmeister, Gegenseitig, Selbststudium

Steigerungsmethode

ZfW (Row)

Werte der Prototypenparameter:

items

Steigerung eines Zauberfertigkeitwerts

Spezialisierung (Row)

Werte der Prototypenparameter:

items

Erlernen einer Talent- oder Zauberspezialisierung

SFLernmethode (Matching)

Werte der Prototypenparameter:

patternsSE, Lehrmeister

Lernmethode für eine Sonderfertigkeit

ProfaneSF (Row)

Werte der Prototypenparameter:

items
  • SF
  • beliebig
  • kein default

Erlernen einer Sonderfertigkeit, die nicht Kampf und nicht magisch ist.

NahkampfSF (Row)

Werte der Prototypenparameter:

items
  • SF
  • beliebig
  • kein default

Erlernen einer Nahkampf-Sonderfertigkeit.

FernkampfSF (Row)

Werte der Prototypenparameter:

items
  • SF
  • beliebig
  • kein default

Erlernen einer Fernkampf-Sonderfertigkeit.

WaffenlosSF (Row)

Werte der Prototypenparameter:

items
  • SF
  • beliebig
  • kein default

Erlernen einer Waffenlosen Sonderfertigkeit.

Eigenschaft (Row)

Werte der Prototypenparameter:

items

Steigern einer Basis-Eigenschaft oder Zukauf von Punkten zu einer abgeleiteten Eigenschaft.

EigSteigerMethode (Matching)

Werte der Prototypenparameter:

patternsSE, Standard

Steigerungsmethode für Eigenschaften

RkW (Row)

Werte der Prototypenparameter:

items

Steigerung eines Ritualkenntniswerts.

LkW (Row)

Werte der Prototypenparameter:

items

Steigerung des Liturgiekenntniswerts.

Aktiviere (Row)

Werte der Prototypenparameter:

items
  • Subjekt
  • beliebig
  • kein default

Aktiviert ein Talent, einen Zauber, eine Liturgie oder ein Ritual. Ist der gegebene Wert des Talents oder des Zaubers größer 0, wird anschließend eine Steigerung durchgeführt. Für Gesellschafts-, Natur-, Wissens- und Handwerkstalente muss die Talentgruppe angegeben werden; in allen anderen Fällen wird sie ignoriert.

Sortiere (Multivalue)

Werte der Prototypenparameter:

knownkeine

Definiert, wie eine neu aktivierte Fähigkeit (Talent, Zauber, …) in die bestehende Liste einsortiert wird. Ein leerer Wert sortiert am Ende der Liste ein, ansonsten wird zuerst nach der Spalte, die vom ersten Wert gegeben wird, sortiert, dann nach der vom zweiten Wert etc. Wenn in der Liste der erste Wert ein leerer String ist, dann wird das Talent in der letzten Gruppe gleichartiger Talente einsortiert (um z.B. Sprachen von Schriften zu trennen).

Ein einzelner oder eine Liste von Werten, die jeweils entweder den Typ String oder einen Typen in known haben.

MerkmalSF (Row)

Werte der Prototypenparameter:

items

Erlernen einer oder mehrerer Merkmalskenntnisse. Als Kosten ist die Summe aller Merkmalskenntnisse, die neu gelernt werden, anzugeben.

Senkung (Row)

Werte der Prototypenparameter:

items

Senkung einer Schlechten Eigenschaft. Die Schlechte Eigenschaft verschwindet, wenn der Zielwert 0 ist.

SenkMethode (Matching)

Werte der Prototypenparameter:

patternsSE, Lehrmeister, Selbststudium

Methode der Senkung Schlechter Eigenschaften

Permanent (Row)

Werte der Prototypenparameter:

items

Permanent ausgegebene AsP oder KaP

PermanentEig (Matching)

Werte der Prototypenparameter:

patternsAE, KE

Eigenschaft, für die permanente Punkte ausgegeben werden können

GrosseMeditation (Row)

Werte der Prototypenparameter:

items

Durchführung einer Großen Meditation.

Leiteigenschaft (Matching)

Werte der Prototypenparameter:

patternsKL, IN, CH

Leiteigenschaft, aufgrund der sich AE-Zugewinn berechnet.

Karmalqueste (Row)

Werte der Prototypenparameter:

items

Durchführung einer Karmalqueste. Setzt die permanenten KaP zurück auf 0, da sie nicht zurückgekauft werden können, sondern nur als Erleichterung auf die Mirakelprobe für die nächste Karmalqueste gelten.

Spaetweihe (Row)

Werte der Prototypenparameter:

items

Spätweihe eines Charakters. Die angegebenen Kosten schließen alle gegebenen Segnungen und Liturgien mit ein; SE halbiert die gegebenen Kosten. Liturgiekenntnis wird auf 3 gesetzt.

Spaetweihe.Liturgien (List)

Werte der Prototypenparameter:

itemsSegnung, Liturgie

Liste von Liturgien, die durch die Spätweihe erlernt werden.

Spaetweihe.Plus (List)

Werte der Prototypenparameter:

itemsString

Der Gottheit wohlgefällige Talente

Spaetweihe.Minus (List)

Werte der Prototypenparameter:

itemsString

Talente, die der Gottheit zuwider sind

Zugewinn (Row)

Werte der Prototypenparameter:

items

Zugewinn von AP. Kann als Überschrift (fett) formatiert werden.

Frei (Row)

Werte der Prototypenparameter:

items

Freie Modifikation der Charakterdaten. Die Modifikation muss als Lua-Funktion definiert werden, die die aktuellen Charakterdaten erhält und modifiziert.

Function (Primitive)

Werte der Prototypenparameter:

innerfunction
optionalnil