Has: Unterschied zwischen den Versionen

Aus AntamarWiki
Wechseln zu: Navigation, Suche
(has val="" möglich)
(companions-affected hinzu)
Zeile 3: Zeile 3:
 
== Syntax ==
 
== Syntax ==
 
<code xml n>
 
<code xml n>
<has [item="" [equipped=""]] [talent=""] [quality=""] [name=""] [attribute=""] [val=""] [min=""] [max=""] [hero-quantity=""] [show="result"] />
+
<has [item="" [equipped=""]] [talent=""] [quality=""] [name=""] [attribute=""] [val=""] [min=""] [max=""] [hero-quantity=""] [companions-affected="true"] [show="result"] />
 
</code>
 
</code>
  
Zeile 19: Zeile 19:
 
Das max-Attribut ist damit praktisch eine Negierung derselben Abfrage mit min und umgekehrt.
 
Das max-Attribut ist damit praktisch eine Negierung derselben Abfrage mit min und umgekehrt.
 
*'''hero-quantity''': (greift nur bei [[Gruppe|Gruppenbegegnungen]]) Wenn z.B. 2 angegeben, müssen zwei Helden die Bedingung erfüllen.
 
*'''hero-quantity''': (greift nur bei [[Gruppe|Gruppenbegegnungen]]) Wenn z.B. 2 angegeben, müssen zwei Helden die Bedingung erfüllen.
 +
*'''companions-affected''': (standardmäßig ''true'') Wenn 'true' und ein ''item'' angegeben, wird auch das Gepäck von evtl. vorhandenen [[Begleiter|Begleitern]] des Helden durchsucht. Wenn 'false' werden die Gepäckgegenstände der Begleiter ignoriert.
  
 
Mit ''show="none"'' wird die has-Abfrage für den Spieler nicht sichtbar durchgeführt (sie wird versteckt durchgeführt).
 
Mit ''show="none"'' wird die has-Abfrage für den Spieler nicht sichtbar durchgeführt (sie wird versteckt durchgeführt).
Zeile 32: Zeile 33:
  
 
<code xml n>
 
<code xml n>
<has item="Zunderdose">
+
<has item="Zunderdose" companions-affected="true">
 
   <success>
 
   <success>
 
     [Probe auf Wildnisleben normal um ein Feuer zu entfachen]
 
     [Probe auf Wildnisleben normal um ein Feuer zu entfachen]
Zeile 44: Zeile 45:
 
Das ODER-Zeichen "|" erlaubt auch alternative Gegenstände, z.B.:
 
Das ODER-Zeichen "|" erlaubt auch alternative Gegenstände, z.B.:
 
<code xml n>
 
<code xml n>
<has item="Zunderdose|Wasserdichte Zunderdose|Feuerstein und Stahl">
+
<has item="Zunderdose|Wasserdichte Zunderdose|Feuerstein und Stahl" companions-affected="true">
 
   <success>
 
   <success>
 
     [Probe auf Wildnisleben normal um ein Feuer zu entfachen]
 
     [Probe auf Wildnisleben normal um ein Feuer zu entfachen]
Zeile 55: Zeile 56:
  
 
=== equipped ===
 
=== equipped ===
Wenn ''equipped'' nicht angegeben, wird der Gegenstand (item) sowohl im Gepäck als auch bei getragener Kleidung/Rüstung/Waffen gesucht.<br />
+
Wenn ''equipped'' nicht angegeben, wird der Gegenstand (item) '''sowohl''' im Gepäck (Rucksack) '''als auch''' bei getragener Kleidung/Rüstung/Waffen gesucht.<br />
Wenn ''equipped="true"'' wird nur in der getragenen Kleidung/Rüstung/Waffe gesucht.<br />
+
Wenn ''equipped="true"'' wird '''nur''' in der getragenen Kleidung/Rüstung/Waffe gesucht.<br />
Wenn ''equipped="false"'' wird nur im Gepäck gesucht.
+
Wenn ''equipped="false"'' wird '''nur''' im Gepäck gesucht.
 
<code xml n>
 
<code xml n>
 
<!-- prüfen, ob der Held einen Schuppenpanzer angelegt hat (gerade trägt) -->
 
<!-- prüfen, ob der Held einen Schuppenpanzer angelegt hat (gerade trägt) -->

Version vom 7. März 2011, 22:19 Uhr

Mit dem <has>-Tag kann in AOQML überprüft werden, ob ein Held ein Talent oder eine Eigenschaft oder einen Gegestand oder eine gespeicherte Variable hat.

Syntax

<has [item="" [equipped=""]] [talent=""] [quality=""] [name=""] [attribute=""] [val=""] [min=""] [max=""] [hero-quantity=""] [companions-affected="true"] [show="result"] />
  • item: Bezeichnung des Gegenstandes, z.B. "Angelschnur mit Haken". Es können auch Waren-Tags verwendet werden.
  • equipped: (nur in Kombination mit item) Wenn nicht angegeben, wird der Gegenstand sowohl im Gepäck als auch bei getragener Kleidung/Rüstung/Waffen gesucht. Wenn equipped="true" wird nur in der getragenen Kleidung/Rüstung/Waffe gesucht. Wenn equipped="false" wird nur im Gepäck gesucht.
  • talent: Bezeichnung des Talentes, z.B. "Zechen"
  • quality: Kurz-Bezeichnung der Eigenschaft, z.B. "ST" (für Stärke)
  • attribute: Bezeichnung des Attributes
  • name: Bezeichnung einer Variablen, siehe u.a. Globale marker, Store/Fetch

Optional zusätzlich dazu:

  • val oder value (nur in Kombination mit attribute oder name!): prüft, ob das zu prüfende Attribut oder die zu prüfende Variable eine konkrete Ausprägung besitzt
  • min: minimale Anzahl bzw. minimaler Wert, um in den </success>-Zweig zu gelangen
  • max: maximale Anzahl bzw. maximaler Wert, um in den </success>-Zweig zu gelangen

Das max-Attribut ist damit praktisch eine Negierung derselben Abfrage mit min und umgekehrt.

  • hero-quantity: (greift nur bei Gruppenbegegnungen) Wenn z.B. 2 angegeben, müssen zwei Helden die Bedingung erfüllen.
  • companions-affected: (standardmäßig true) Wenn 'true' und ein item angegeben, wird auch das Gepäck von evtl. vorhandenen Begleitern des Helden durchsucht. Wenn 'false' werden die Gepäckgegenstände der Begleiter ignoriert.

Mit show="none" wird die has-Abfrage für den Spieler nicht sichtbar durchgeführt (sie wird versteckt durchgeführt).

In allen Attributen ist die Verwendung besonderer Werte möglich.

Für die Auswertung siehe <success>...</success> und <failure>...</failure> unter challenge.

Beispiele

has item

Mit <has item=""> lässt sich prüfen, ob der Held einen oder mehrere bestimmte Gegenstände dabei hat.

<has item="Zunderdose" companions-affected="true">
  <success>
    [Probe auf Wildnisleben normal um ein Feuer zu entfachen]
  </success>
  <failure>
    [Probe auf Wildnisleben +3 um ein Feuer zu entfachen]
  </failure>
</has>

Das ODER-Zeichen "|" erlaubt auch alternative Gegenstände, z.B.:

<has item="Zunderdose|Wasserdichte Zunderdose|Feuerstein und Stahl" companions-affected="true">
  <success>
    [Probe auf Wildnisleben normal um ein Feuer zu entfachen]
  </success>
  <failure>
    [Probe auf Wildnisleben +3 um ein Feuer zu entfachen]
  </failure>
</has>

equipped

Wenn equipped nicht angegeben, wird der Gegenstand (item) sowohl im Gepäck (Rucksack) als auch bei getragener Kleidung/Rüstung/Waffen gesucht.
Wenn equipped="true" wird nur in der getragenen Kleidung/Rüstung/Waffe gesucht.
Wenn equipped="false" wird nur im Gepäck gesucht.

<!-- prüfen, ob der Held einen Schuppenpanzer angelegt hat (gerade trägt) -->
<has item="Schuppenpanzer" equipped="true">
  <success>
    <p>Ein schöner Schuppenpanzer, den du da trägst!</p>
  </success>
</has>

min und max

<!-- prüfen, ob der Held das Talent "Fechtwaffen" auf mindestens 5 gesteigert hat -->
<has talent="Fechtwaffen" min="5">
  <success>
    <p>Du verstehst etwas von Fechtwaffen!</p>
  </success>
  <failure>
    <p>Du kennst dich mit Fechtwaffen bisher nicht besonders gut aus!</p>
  </failure>
</has>

<!-- prüfen, ob der Held die Eigenschaft FF <= 12 hat -->
<has quality="FF" max="12">
  <success>
    <p>Du bist nicht besonders fingerfertig!</p>
  </success>
</has>

<!-- prüfen, wie gut die Sprache 'Zwergisch' bekannt -->
<has talent="Zwergisch" max="3">
  <success>
    <p>Du verstehst kein Wort, von dem, was die Zwerge sagen.</p>
  </success>
</has>


val

Das Attribut val ermöglicht die Prüfung auf ganz bestimmte Ausprägungen. Es steht bisher nur in Kombination mit attribute und name zur Verfügung und sollte nicht mit min- oder max- kombiniert werden.

<!-- Beispiel 1: Variable auf bestimmte Ausprägung prüfen -->
<store name="meine-testvariable" scope="quest">Leberkäs</store>
...
<has name="meine-testvariable" val="Leberkäs">
  <success>
    <!-- die Variable hat den Inhalt 'Leberkäs' -->
  </success>
  <failure>
    <!-- die Variable ist nicht mehr mit 'Leberkäs' beschrieben. Der Wert wurden zwischendurch geändert. -->
  </failure>
</has>

<!-- Beispiel 2: ein Heldattribut auf bestimmte Ausprägung testen -->
<has attribute="race" val="Mensch">
  <success>
    <p>Du bist ein Mensch.</p>
  </success>
  <failure><
    <p>Du bist kein Mensch.</p>
  </failure>
</has>

hero-quantity

Für Gruppen-Begegnungen wurde das Attribut hero-quantity eingeführt, das eine Zahl als Parameter erwartet. hero-quantity gibt an, wie viele Helden die Bedingung erfüllen müssen, um in den success-Pfad zu gelangen.

<!-- NUR FÜR GRUPPENBEGEGNUNGEN !!! Anwendung von hero-quantity
zwei Helden müssen mindestens ein Charisma von 15 aufweisen -->
<has quality="CH" min="15" hero-quantity="2">
  <success>
    <p>Ihr seid ja ganz schön beeindruckend!</p>
  </success>
</has>

Sollte hero-quantity größer sein als die Anzahl der Helden der Gruppe wird hero-quantity intern auf die Anzahl der Gruppenmitglieder gesetzt (wenn 5 angegeben, aber nur 4 Helden in der Gruppe ist der Wert 4).

<!-- prüfen, ob alle Helden der Gruppe die Gesinnung 'getreu' (steht für gesetzestreu) haben -->
<has attribute="gesinnung" val="getreu" hero-quantity="all">
  <success>
    <p>Ihr seid rechtschaffende Helden!</p>
  </success>
</has>

Waren-Tags

Waren-Tags können in AOQML bei has und drop beim Attribut item (anstelle der Angabe eines Gegenstandes) benutzt werden. Dazu muss lediglich ein * gefolgt von der Tag-Bezeichnung angegeben werden, Beispiel:

<has item="*Lichtquelle">
  <success>
    <p>Du machst dir erstmal Licht.</p>
  </success>
  <failure>
    <p>Du kannst nichtmal deine Hand vor den Augen sehen, so dunkel ist es hier.</p>
  </failure>
</has>

<!-- prüfen, ob mind. 15 Nahkampfwaffen dabei -->
<has item="*Nahkampfwaffe" min="15">
  <success>
    <p>Du trägst ja ein ganz schönes Waffenarsenal mit dir herum...</p>
  </success>
</has>