Hauptmenü öffnen

AntamarWiki β

Challenge

<challenge talent="..."|quality="..." [mod="..."] [show="..."] [name="..."] [result="..."] [hero-quantity="..."]>
   [<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.

hero-quantity="..."

Dieser Tag wird nur bei Gruppenbegegnungen ausgewertet. Als Angabe wird eine Zahl (>=1) oder 'all' erwartet. Die Zahl gibt an, wie viele Helden die Probe bestehen müssen, damit sie insgesamt als bestanden gilt. Wenn 'all' angegeben, müssen alle Helden der Gruppe die Probe bestehen. Wenn der Tag nicht angegeben wird, ist standardmäßig 1 eingestellt, d.h. lediglich ein Held in der Gruppe muss die Probe bestehen, damit die Probe als bestanden gilt.

Beispiel für eine Gruppenbegegnung:

<challenge talent="Sinnenschärfe" mod="3">
  <success>
    <!-- bestanden, wenn mind. ein Held die Probe bestanden hat -->
  </success>
</challenge>

<challenge quality="ST" mod="2" hero-quantity="2">
  <success>
    <!-- bestanden, wenn mind. zwei Helden der Gruppe die Probe bestanden haben -->
  </success>
</challenge>

<challenge talent="Selbstbeherrschung" hero-quantity="all">
  <success>
    <!-- bestanden, wenn alle Helden der Gruppe die Probe bestanden haben -->
  </success>
</challenge>

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>