Charakter Template
Charakter Templates oder "Vorlagen" (Erweiterung dsa2temp) sind Vorlagen für eine Reihe von zufallserzeugten Charakteren. Ein Beispiel mit allen besprochenen Bereichen befindet sich am Ende des Artikels. Sie werden aus dem Verzeichnis _data/chardef geladen und sie können im NPC-Charakter-Editor getestet werden.
Inhaltsverzeichnis
Farbdefinitionen
Für sämtliche Vorlagen sind die folgenden Farbsets bereits definiert:
- standardhair bzw. defaulthair
- standardeye bzw. defaulteye
- standardskin bzw. defaultskin
- random
Das Farbset "random" liefert eine Zufallsfarbe zwischen 191919 und FFFFFF.
Zusätzlich können weitere Farbsets mit dem Tag "colordef" definiert werden. Jeder "col"-Eintrag hat die gleiche Wahrscheinlichkeit, gewählt zu werden
Standardwerte
|
|
|
Eigene Farbsets
Es können auch eigene Farbsets, zB als "Subsets" der obigen Standardfarben definiert werden. Dazu muss eine Liste der verfügbaren Farben erstellt werden:
<colordef id="cloth"> <!-- Farben werden im Standard-RGB-Format definiert, das auch Webbrowser verwenden --> <col>FF00FF</col> <col>FF80FF</col> <col>80FFFF</col> </colordef>
Allgemein Tags
Tag | Wert |
---|---|
id | Interne ID des sets (Verpflichtend!) |
baserace | zu verwendende Basisrasse |
Verfügbare Rassen sind:
- humanmale
- humanfemale
- elvenmale
- elvenfemale
- dwarfmale
- dwarffemale
Farben
<skincolor>standardskin</skincolor>
Folgende Tags definieren die verwendeten Farben:
Bezeichnung | Beschreibung | Standardwert | Anmerkungen |
---|---|---|---|
skincolor | Hautfarbset | standardskin | |
eyecolor | Farbdefinition für Augen | standardeye | |
lipstickcolor | Lippenstift | - | nur "female" |
blushcolor | Rouge | - | nur "female" |
eyelinercolor | Eyeliner | - | nur "female" |
eyeshadowcolor | Lidschatten | - | nur "female" |
Min-Max-Werte
<charheight min="120" max="220">
Geben einen Minimum- und Maximum-Wert an, wird ein Attribut weggelassen, wird stattdessen der Standardwert verwendet. Wird der Tag gar nicht definiert, werden beide Standardwerte verwendet.
Wichtig: Die Groß-Klein-Schreibung der Werte ist relevant!
Standard-Min-Max-Werte
Die nachfolgenden Werte haben Minimum 40 und Maximum 60
upperMuscle | lowerMuscle | upperWeight | lowerWeight | armWidth | forearmWidth | legSeparation | legsSize |
gluteusSize | breastSize | belly | waist | headWidth | foreheadSize | foreheadPosition | earsSize |
earsPosition | earsRotation | noseSize | noseCurve | noseWidth | noseInclination | nosePosition | nosePronounced |
noseFlatten | eyeSize | eyeRotation | cheekSize | cheekPosition | lowCheekPronounced | lowCheekPosition | lipsSize |
mouthSize | jawsSize | jawsPosition | neckThickness | chinSize | chinPronounced | chinPosition |
Spezielle Min-Max-Werte
Bezeichnung | Min-Wert | Max-Wert |
---|---|---|
charheight | 100 | 220 |
legSize | 45 | 55 |
armLength | 48 | 52 |
forearmLength | 48 | 52 |
handsSize | 48 | 52 |
feetSize | 48 | 52 |
mandibleSize | 45 | 52 |
headSize | 48 | 52 |
Itemdefinition
<torso color="cloth" color2="cloth"> <item>Poor Torso</item> <item>Poor2 Upper</item> <item color="nocolor" color2="nocolor" with="pants/2">Bard Jacket</item> </torso>
Itemdefinitionen verweisen auf die Auswahlfelder aus dem NPC-Charaktereditor. Es gilt zu beachten, dass bei Einfachen und Standard-Definitionen "Definition ausgelassen" gleichbedeutend ist mit "ALLE Optionen verwendbar".
Dagegen ist eine vorhandene, leere Definition wie diese hier:
<beard></beard>
gleichbedeutend mit "KEINE Optionen verwendbar".
Es wird jeweils auf die Bezeichnungen aus dem NPC-Charaktereditor verwiesen.
Außerdem kann der Spezialeintrag "None" (wichtig, großes "N" am Beginn) verwendet werden, dieser erlaubt es, den entsprechenden Eintrag der Liste nicht zu besetzen. Alle anderen Eigenschaften wie "with" oder "without" für die erweiterten Einträge sind auch für "None" möglich.
Einträge (inkl. "None") können auch mehrfach vorkommen, um so die Gewichtung zu erhöhen oder auch unterschiedliche with/without-Varianten zu verwenden.
Einfach
Einfache Itemdefinitionen enthalten weder Farben noch Verknüpfungen (with/notwith), sie stellen eine einfache Aufzählung dar. Gültige Definitionen sind:
- headtex
- bodytex
Bei beiden wird die Farbe über "skincolor" geregelt.
Standard
Standarddefinitionen können außerdem Farbreferenzen beinhalten. Hierbei kann sowohl im Kopf (Tag "torso") als auch in den einzelnen Items eine Farbe angegeben werden. Wird in Item keine Farbe angegeben, so wird die Standardfarbe aus dem Kopf verwendet. Ist auch im Kopf keine Standardfarbe definiert, so wird "random" angenommen. Gültige Definitionen sind:
- beard
- hair
- eyebrow
- underwear
Erweitert
Erweiterte Definitionen enthalten zusätzlich die Möglichkeit, Kombinations-Referenzen zu legen. Dies bedeutet, dass bei Verwendung eines bestimmten Items entweder Voraussetzungen ("with") oder Ausschlusskriterien ("notwith") getroffen werden können. Hierbei werden die verfügbaren Definitionen in folgender Reihenfolge abgehandelt:
- torso
- pants
- shoes
- headwear
- gloves
- acc1
- acc2
- acc3
- acc4
- acc5
Die Referenz auf ein anderes Element erfogt jeweils mit der Bezeichnung der Itemdefinition und der Position, also zB torso/0 verweist auf das erste Item in "torso", acc5/3 verweist auf Item 4 in acc5 usw. Ein Beispiel:
<torso color="cloth" color2="cloth"> <item>Poor Torso</item> <item>Poor2 Upper</item> <item color="nocolor" color2="nocolor" with="pants/2">Bard Jacket</item> </torso> <pants> <item>Poor Pants</item> <item notwith="torso/0">Poor2 Lower</item> <item color="nocolor" color2="nocolor">Bard Pants</item> </pants>
Folgende Regeln sind hier definiert:
- In torso erzwingt Item 3, also "Bard Jacket", die Verwendung von pants/2, also "Bard Pants"
- In pants kann Item 2, also "Poor2 Lower", NICHT gewählt werden, wenn torso/1, also "Poor2 Upper", für Torso gewählt wurde
Neben den Referenzen auf die oben genannten Bekleidungsitems sind auch solche auf "beard" sowie "hair" möglich.
Ausführliche Notation
Um mehrere "with" oder "notwith" anzugeben ist die Attributsnotation eher ungeeignet. Daher gibt es noch eine weitere Notationsmöglichkeit, die aber aus Aufwandsgründen nur bei absoluter Notwendigkeit gewählt werden sollte:
<torso color="cloth" color2="cloth"> <item color="nocolor" color2="nocolor"> <with>pants/0</with> <with>shoes/0</with> <notwith>acc1/0</notwith> <notwith>acc1/1</notwith> <notwith>acc1/2</notwith> <slot>Bard Jacket</slot> </item> </torso>
Hier wird bei Verwendung von Bard Jacket erzwungen, dass sowohl das erste Item von pants als auch das erste Item von shoes verwendet wird, und dass die Items 1, 2 und 3 aus acc1 NICHT verwendet werden.
Beispiel einer Vorlage
<?xml version="1.0" encoding="utf-8"?> <chartemplate> <id>humanmalechild</id> <colordef id="cloth"> <!-- Farben werden im Standard-RGB-Format definiert, das auch Webbrowser verwenden --> <col>FF00FF</col> <col>FF80FF</col> <col>80FFFF</col> </colordef> <colordef id="nocolor"> <col>FFFFFF</col> </colordef> <gender>male</gender> <charheight min="120" max="150" /> <!-- ist der Standardwert, wollte aber als beispiel nochmal setzen --> <skincolor>defaultskin</skincolor> <upperMuscle min="20" max="40" /> <lowerMuscle min="20" max="40" /> <handSize min="40" max="45" /> <!-- Kinder sollten nur glatte Haut haben --> <headtex> <item>Head 4</item> <item>Head 9</item> </headtex> <eartype>human</eartype> <eyecolor>defaulteye</eyecolor> <!-- Keine Bärte für Kinder ;) --> <beard></beard> <!-- passende Frisuren, Farbe1 sind Standardhaare, Farbe 2 die Kleidungsfarben für etwaige Bänder --> <hair color="defaulthair" color2="cloth"> <item>Hair 1</item> <item>Hair 2</item> <!-- Hier wird die Standard-Color aus hairtype überschrieben --> <item color="defaulteye">Hair 4</item> <item>Hair 6</item> <item>Hair 8</item> <item>Hair 11</item> </hair> <torso color="cloth" color2="cloth"> <item>Poor Torso</item> <item>Poor2 Upper</item> <item color="nocolor" color2="nocolor" with="pants/2">Bard Jacket</item> </torso> <pants> <item>Poor Pants</item> <!-- Sofern torso Item 0 ("Poor Torso") gewählt ist, soll dieser Eintrag NICHT gewählt werden --> <item notwith="torso/0">Poor2 Lower</item> <item color="nocolor" color2="nocolor">Bard Pants</item> </pants> <shoes> <item>Poor Shoes</item> </shoes> </chartemplate>