Select

Aus AntamarWiki
Version vom 9. Mai 2013, 12:15 Uhr von Gaddezwerch (Diskussion | Beiträge) (neu: by-attribute, by-quality, by-talent, by-name mit val/min/max)
Wechseln zu: Navigation, Suche

Mit Hilfe des select-Tags kann in AOQML bei einer Gruppenbegegnung ein oder mehrere Helden der Gruppe selektiert werden, sodass die folgenden Befehle (nicht alle, aber viele) nur für die selektierten Helden gelten. Beispiele zur Verwendung:

  • nur selektierte Helden sollen Talentprobe durchführen
  • nur selektierte Helden sollen Gegenstände aufnehmen
  • nur selektierte Helden erhalten LEP-Schaden
  • usw.


Syntax

<select role="" count="0" all="false" hero="" by-attribute="" by-talent="" by-quality="" by-name="" val="" min="" max="" />
Attribut Standardwert Erklärung
role Rollenbezeichnung innerhalb der Gruppe. Möglich sind 'Anführer', 'Dieb', 'Kämpfer', 'Mitreisender'. Wenn es keinen Helden mit dieser Rolle in der Gruppe gibt, wird automatisch der Gruppenleiter selektiert.
count 0 Schränkt die Anzahl an zu selektierenden Helden auf Basis der Rollenbezeichnung ein. Wenn bspw. 2 angegeben, werden höchstens zwei Helden selektiert. Wenn 0, dann gibt es keine Beschränkung.
all false Mit all="true" können alle Helden der Gruppe selektiert werden.
hero Hier kann die HeldID eines Helden der Gruppe (Achtung: Der Held muss sich in der Gruppe befinden!) angegeben werden. Die HeldID kann bspw. via dem hero-Tag ermittelt werden.
by-attribute Hier kann ein Heldattribut angegeben werden.
by-talent Hier kann eine Fertigkeit, wie z.B. 'Schwimmen', angegeben werden.
by-quality Hier kann eine Eigenschaft, wie z.B. 'ST', angegeben werden.
by-name Hier kann eine Variable angegeben werden. Dies ist sinnvoll, wenn eine Heldvariable (Scope="hero") abgefragt werden soll.
val (nur in Kombination mit by-attribute/by-talent/by-quality/by-name) Wenn ein bestimmter Wert gesetzt sein soll.
min (nur in Kombination mit by-attribute/by-talent/by-quality/by-name) Angabe eines Mindestwertes
max (nur in Kombination mit by-attribute/by-talent/by-quality/by-name) Angabe eines Maximalwertes


Beispiele

Kämpfer auswählen

<select role="Kämpfer" />
<!-- wählt alle Kämpfer in der Gruppe aus.
Die folgende Probe wird folglich auf die selektierten Kämpfer durchgeführt. -->

<challenge quality="ST" mod="3">
...
</challenge>


Diebe auswählen

<select role="Dieb" count="1" />
<!-- wählt genau einen Dieb aus der Gruppe aus.
Die folgende Probe wird nur von diesem selektierten Helden durchgeführt. -->

<challenge talent="Schlösser öffnen">
...
</challenge>


Gruppenführer auswählen

<select role="Anführer"/>
<!-- selektiert den Gruppenleiter -->

<take item="Reiseproviant" />
<!-- nur der Gruppenleiter erhält eine Portion Reiseproviant -->


zufälligen Held auswählen

<select role="*" count="1"/>


Held nach einer Probe auswählen

<!-- Annahme: eine Probe mit der ID "Pr1" wurde in der Szene bereits durchgeführt -->
<store name="heldid" scope="quest"><hero output="id" by-challenge="Pr1" select="worst"/></store>
<select hero="${heldid}"/><!-- Wählt den schlechtesten Held der Probe Pr1. -->


Helden anhand einer Eigenschaft wählen

Wählt alle Helden aus, die mindestens IQ 15 haben.

<select by-quality="IQ" min="15" />


Helden anhand einer Fertigkeit wählen

Wählt alle Helden aus, die Gassenwissen maximal 5 haben.

<select by-talent="Gassenwissen" max="5" />


Helden anhand einer Variable wählen

Wählt alle Helden aus, die die Variable soelder_rang haben.

<select by-name="soelder_rang" />


Alle Helden nacheinander wählen

Um jedes Gruppenmitglied nacheinander anzuwählen, kann man auf eine for-Schleife zurückgreifen.

<for all="${sys:heroes}" name="heldid">
  <select hero="${heldid}"/>
  <p>Name: <get attribute="name"/></p>
</for>