Has: Unterschied zwischen den Versionen

Aus AntamarWiki
Wechseln zu: Navigation, Suche
K (hero-quantity: typo)
Zeile 4: Zeile 4:
 
<code xml>
 
<code xml>
 
<has [item="" [equipped=""]] [talent=""] [quality=""] [name=""] [attribute=""] [companion-type=""]
 
<has [item="" [equipped=""]] [talent=""] [quality=""] [name=""] [attribute=""] [companion-type=""]
     [val=""] [min=""] [max=""] [hero-quantity="all"] [companions-affected="true"] [show="result"] />
+
     [val=""] [min=""] [max=""] [hero-quantity="1"] [companions-affected="true"] [show="result"] />
 
</code>
 
</code>
  
Zeile 22: Zeile 22:
 
*'''max''': maximale Anzahl bzw. maximaler 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.
 
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. Standardmäßig reicht es, wenn ein Held die Bedingung erfüllt.
 
*'''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.
 
*'''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.
  
Zeile 128: Zeile 128:
  
 
=== hero-quantity ===
 
=== 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.  
+
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. Standardmäßig ist der Wert 1, d.h. es reicht normalerweise, wenn ein Held die Bedingung erfüllt. In einigen Fällen macht es jedoch Sinn, wenn mehrere Helden die Bedingung erfüllen müssen, z.B.:
 
<code xml n>
 
<code xml n>
 
<!-- NUR FÜR GRUPPENBEGEGNUNGEN !!! Anwendung von hero-quantity
 
<!-- NUR FÜR GRUPPENBEGEGNUNGEN !!! Anwendung von hero-quantity
Zeile 148: Zeile 148:
 
</has>
 
</has>
 
</code>
 
</code>
 
Wird ''hero-quantity'' nicht explizit angegeben, wird standardmäßig der Wert '''all''' angenommen.
 
  
 
=== companion-type ===
 
=== companion-type ===

Version vom 20. Juli 2012, 11:56 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=""] [companion-type=""]
     [val=""] [min=""] [max=""] [hero-quantity="1"] [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
  • companion-type: Hiermit kann geprüft werden, ob der Held einen bestimmten Begleiter hat. Mögliche Ausprägungen sind: 'Hund', 'Esel', 'Pferd', 'Kamel'
  • Achtung, ausgerüstete Begleiter können nicht mehr als Gegenstände erkannt werden!


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. Standardmäßig reicht es, wenn ein Held die Bedingung erfüllt.
  • 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. Standardmäßig ist der Wert 1, d.h. es reicht normalerweise, wenn ein Held die Bedingung erfüllt. In einigen Fällen macht es jedoch Sinn, wenn mehrere Helden die Bedingung erfüllen müssen, z.B.:

<!-- 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>

companion-type

Erlaubt die Prüfung, ob der Held ein bestimmtes Tier als Begleiter hat:

<!-- Hund aktiv? -->
<has companion-type="Hund">
  <success>
    <p><q>Ooooh, du hast aber einen süüüüüßen Hund!</q>.</p>
  </success>
  <failure>
    <p>Du hast keinen Hund als Begleiter.</p>
  </failure>
</has>

<!-- Esel aktiv? -->
<has companion-type="Esel">
  <success>
    <p>Dein Esel ist heute wieder sturr.</p>
  </success>
</has>

Geprüft werden können: 'Hund', 'Esel', 'Pferd' und 'Kamel'.

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>