Challenge: Unterschied zwischen den Versionen
Weu (Diskussion | Beiträge) (→quality="...") |
Neonix (Diskussion | Beiträge) (Modis für Proben aus Variable ziehen ist möglich!) |
||
Zeile 28: | Zeile 28: | ||
"-2" oder "+5". Auch [[Besondere Werte]] sind möglich: "-2..-+5". | "-2" oder "+5". Auch [[Besondere Werte]] sind möglich: "-2..-+5". | ||
Die Vorgabe ist "0". | Die Vorgabe ist "0". | ||
+ | |||
+ | ==mod="${variablenname}"== | ||
+ | |||
+ | Man kann auch einen Modifikator aus einer Variable holen, indem man mod="${variablenname}" verwendet und als Variable eine positive oder negative Zahl speichert. Dadurch kann man z.B. den Effekt von Ausrüstung oder Entscheidungen auf eine Probe einrechnen, den man vorher durch store gespeichert und ggf. durch eval oder set verändert hat. | ||
+ | |||
+ | Beispiel 1: | ||
+ | |||
+ | <code xml> | ||
+ | <has item="Kletterseil"> | ||
+ | <success> | ||
+ | <store name="klettermodi" scope="quest">-3</store> | ||
+ | </success> | ||
+ | <failure> | ||
+ | <store name="klettermodi" scope="quest">0</store> | ||
+ | </failure> | ||
+ | </has> | ||
+ | |||
+ | <challenge talent="Klettern" mod="${klettermodi}"> | ||
+ | <success> | ||
+ | <include target="probe_geschafft"/> | ||
+ | </success> | ||
+ | <failure> | ||
+ | <include target="probe_misslungen"/> | ||
+ | </failure> | ||
+ | </challenge> | ||
+ | </code> | ||
+ | |||
+ | Beispiel 2: | ||
+ | |||
+ | <code xml> | ||
+ | <!-- Erst den normalen Modi als Variable speichern. --> | ||
+ | <store name="klettermodi" scope="quest">5</store> | ||
+ | |||
+ | <!-- Dann Ausrüstung abfragen. --> | ||
+ | <has item="Kletterseil"> | ||
+ | <success> | ||
+ | <set name="klettermodi" dec="2"/> | ||
+ | </success> | ||
+ | <failure> | ||
+ | </failure> | ||
+ | </has> | ||
+ | |||
+ | <!-- Jetzt können auch mehrere Boni addiert werden! --> | ||
+ | <has item="Kletterhaken"> | ||
+ | <success> | ||
+ | <set name="klettermodi" dec="2"/> | ||
+ | </success> | ||
+ | <failure> | ||
+ | </failure> | ||
+ | </has> | ||
+ | |||
+ | <!-- Und das Ergebnis dann auswerten. --> | ||
+ | <challenge talent="Klettern" mod="${klettermodi}"> | ||
+ | <success> | ||
+ | <include target="probe_geschafft"/> | ||
+ | </success> | ||
+ | <failure> | ||
+ | <include target="probe_misslungen"/> | ||
+ | </failure> | ||
+ | </challenge> | ||
+ | </code> | ||
+ | |||
+ | |||
==show="..."== | ==show="..."== |
Version vom 28. August 2010, 18:45 Uhr
<challenge talent="..."|quality="..." [mod="..."] [show="..."] [name="..."] [result="..."]>
[<success [min="..."] [max="..."] [double="double"]>...</success>]
[<failure [min="..."] [max="..."] [double="double"]>...</failure>]
</challenge>
Mit diesen Tags können Proben abgelegt werden. Der erste zum Ergebnis passsende Zweig wird ausgeführt.
Inhaltsverzeichnis
talent="..."
An Stelle von ... wird hier eine Talentbezeichnung angegeben, wie sie in der Talentübersicht zu sehen ist, oder eine Variable. Bei mehrfachem Vorkommen in verschiedenen Kategorien (meist Sprache/Schrift) wird der Kategorie-Bezeichner so davor gestellt: talent="Sprache/Isdira" bzw. talent="Schrift/Isdira".
Es kann exklusiv entweder das talent- oder das quality-Attribut angegeben werden. Bei Angabe von name="..." mit einer belegten Variablen können auch beide entfallen.
quality="..."
An Stelle von ... wird hier eine Eigenschaft (Mut, Intelligenz etc.) in Form
zweibuchstabigen Abkürzung angegeben, also MU, IQ,...
Auch Pseudo-Eigenschaften wie Ausdauer (AU), Lebenspunkte (LEP) können hier abgefragt werden oder eine Variable die eine solche Abkürzung enthält.
Es kann exklusiv entweder das talent- oder das quality-Attribut angegeben werden.
mod="..."
An Stelle von ... kann hier ein Modifikator angegeben werden, also z.B. "-2" oder "+5". Auch Besondere Werte sind möglich: "-2..-+5". Die Vorgabe ist "0".
mod="${variablenname}"
Man kann auch einen Modifikator aus einer Variable holen, indem man mod="${variablenname}" verwendet und als Variable eine positive oder negative Zahl speichert. Dadurch kann man z.B. den Effekt von Ausrüstung oder Entscheidungen auf eine Probe einrechnen, den man vorher durch store gespeichert und ggf. durch eval oder set verändert hat.
Beispiel 1:
<has item="Kletterseil">
<success>
<store name="klettermodi" scope="quest">-3</store>
</success>
<failure>
<store name="klettermodi" scope="quest">0</store>
</failure>
</has>
<challenge talent="Klettern" mod="${klettermodi}">
<success>
<include target="probe_geschafft"/>
</success>
<failure>
<include target="probe_misslungen"/>
</failure>
</challenge>
Beispiel 2:
<!-- Erst den normalen Modi als Variable speichern. -->
<store name="klettermodi" scope="quest">5</store>
<!-- Dann Ausrüstung abfragen. -->
<has item="Kletterseil">
<success>
<set name="klettermodi" dec="2"/>
</success>
<failure>
</failure>
</has>
<!-- Jetzt können auch mehrere Boni addiert werden! -->
<has item="Kletterhaken">
<success>
<set name="klettermodi" dec="2"/>
</success>
<failure>
</failure>
</has>
<!-- Und das Ergebnis dann auswerten. -->
<challenge talent="Klettern" mod="${klettermodi}">
<success>
<include target="probe_geschafft"/>
</success>
<failure>
<include target="probe_misslungen"/>
</failure>
</challenge>
show="..."
An Stelle von "..." kann hier "none" (keine Ausgabe der Probe), "challenge" (nur Ausgabe der Probeananforderung, ohne Ergebnis) oder "result" (Ausgabe der Probenanforderung und des Ergebnisses) angegeben werden. Die Vorgabe ist "result".
name="..."
An Stelle von ... kann hier der Name einer Variablen angegeben werden.
Ist ein Talent oder eine Eigenschaft angegeben, dann wird das Probenergebnis
in der Variablen gespeichert. Sind weder Talent noch Eigenschaft angegeben,
dann wird das Probenergebnis aus der Variablen genommen. Damit kann ein
Probenergebnis also mehrfach verwendet werden.
Ohne Angabe von name=... wird keine Variable verwendet.
Beispiel:
<challenge talent="Klettern" name="ProbeNr1"/>
...Andere programmierte Questereignisse bzw. weiterer AOQML-Code ...
<challenge name="ProbeNr1">
<success>Hurra, dir ist es gelungen!</success>
<failure>Oh weh, das ist dir aber Misslungen! </failure>
</challenge>
result="..."
Statt ... kann hier ein Ergebnis (TaP) stehen, welches statt der Würfel verwendet wird. Dieses Attribut ist nur bei DEBUG aktiv und dient dem Austesten aller Zweige. Vorgabe ist, das Würfelergebnis zu verwenden.
min="...", max="..."
Mit ... können hier minimal, bzw. maximal TaP angegeben werden. Achtung: Im negativen Bereich kommt man schnell durcheinander, weil größere Zahlenwerte natürlich kleinere Zahlen sind! Daher kann man im negativen Bereich auch einfach das Minuszeichen weglassen und min/max vertauschen. Das ist intuitiver. Vorgabe: Es wird nur auf Erfolg/Misserfolg ohne weitere Einschränkung geprüft.
double="double"
Kennzeichnet den Zweig als dann auszuführen, wenn bei einer Talentprobe eine doppel 20 (failure-tag) oder doppel 1 (success-tag) auftritt. Natürlich darf nur jeweils ein failure/success-Zweig so markiert werden. Wird der Zweig zusätzlich mit min/max Atributen gekennzeichnet, kann er auch bei nicht doppel 1 oder 20 ausgeführt werden
<challenge ... >
<success double="double">Doppel 1</success>
<success>Normal geschafft</success>
<failure max="9">Normal fehlgeschlagen bzw TaW* > -9</failure>
<failure min="10" double="double">Doppel 20 oder TaW* < -10</failure>
</challenge>