Hero: Unterschied zwischen den Versionen

Aus AntamarWiki
Wechseln zu: Navigation, Suche
(Beispiele)
(by-injury entfernt -> stattdessen by-attribute)
Zeile 5: Zeile 5:
 
== Syntax ==
 
== Syntax ==
 
<code xml n>
 
<code xml n>
<hero [output="name"] [by-challenge=""] [by-talent=""] [by-quality=""] [by-attribute="" val=""] [by-injury=""] select="" />
+
<hero [output="name"] [by-challenge=""] [by-talent=""] [by-quality=""] [by-attribute=""] [val=""] [select=""] />
 
</code>
 
</code>
  
Zeile 13: Zeile 13:
 
* '''by-talent''': Hier kann ein [[Fertigkeiten|Talentname]] angegeben werden.
 
* '''by-talent''': Hier kann ein [[Fertigkeiten|Talentname]] angegeben werden.
 
* '''by-quality''': Hier kann ein [[Grundwerte#Eigenschaften|Eigenschaftskürzel]] (MU, IQ, ...) angegeben werden.
 
* '''by-quality''': Hier kann ein [[Grundwerte#Eigenschaften|Eigenschaftskürzel]] (MU, IQ, ...) angegeben werden.
* '''by-injury''': 'LEP', 'AUP', 'ERP' oder 'wounds'
+
* '''by-attribute''': Angabe eines [[Held_Attribute|Heldenattributs]] wie z.B. Verletzungen ('LEP', 'AUP', 'ERP', 'wounds'), Talentwerte, Eigenschaftswerte usw.
* '''by-attribute''': Angabe eines [[Held_Attribute|Heldenattributs]] mit der unter ''val'' angegebenen Ausprägung.
 
  
  
Zeile 72: Zeile 71:
  
 
Mögliche Angaben sind 'LEP', 'AUP', 'ERP' und 'wounds'.
 
Mögliche Angaben sind 'LEP', 'AUP', 'ERP' und 'wounds'.
 +
 +
 +
=== by-attribute ===
 +
 +
''by-attribute'' (mögliche Ausprägungen siehe [[Held_Attribute]]) kann mit ''val'' wie folgt kombiniert werden:
 +
<code xml n>
 +
<!-- Held ermitteln, der eher passiv agiert -->
 +
<store name="held_id"><hero output="id" by-attribute="kampf" val="passiv"/></store>
 +
</code>
 +
 +
Alternativ können auch numerische Heldenattribute wie ''select="best"'' oder ''select="worst"'' verglichen werden.
 
<code xml n>
 
<code xml n>
 
<!-- ermitteln, welcher Held am meisten erschöpft ist -->
 
<!-- ermitteln, welcher Held am meisten erschöpft ist -->
<hero output="name" by-injury="ERP" select="worst" /> ist sehr erschöpft.
+
<hero output="name" by-attribute="ERP" select="worst" /> ist sehr erschöpft.
 
</code>
 
</code>
  
 
<code xml n>
 
<code xml n>
 
<!-- ermitteln, welcher Held die meisten Wunden hat -->
 
<!-- ermitteln, welcher Held die meisten Wunden hat -->
<store name="held_verletzt"><hero output="name" by-injury="wounds" select="worst" /></store>
+
<store name="held_verletzt"><hero output="name" by-attribute="wounds" select="worst" /></store>
 
<!-- falls kein Held Wunden hat, hat die Variable 'held_verletzt' einen leeren Inhalt -->
 
<!-- falls kein Held Wunden hat, hat die Variable 'held_verletzt' einen leeren Inhalt -->
  
Zeile 90: Zeile 100:
 
   </else>
 
   </else>
 
</switch>
 
</switch>
</code>
 
 
=== by-attribute ===
 
 
''by-attribute'' (mögliche Ausprägungen siehe [[Held_Attribute]]) kann mit ''val'' wie folgt kombiniert werden:
 
<code xml n>
 
<!-- Held ermitteln, der eher passiv agiert -->
 
<store name="held_id"><hero output="id" by-attribute="kampf" val="passiv"/></store>
 
 
</code>
 
</code>
  

Version vom 9. Februar 2012, 15:09 Uhr

Mit Hilfe des hero-Tags kann in AOQML bei Gruppenbegegnungen (Gruppen-ZB oder Gruppenquest) die HeldID oder der Heldenname eines Helden der Gruppe auf Basis bestimmter Parameter ermittelt werden.

Beispielsweise ist es möglich nach einer misslungen Talentprobe herauszufinden, welcher Held die Probe am meisten "versaut" hat.

Syntax

<hero [output="name"] [by-challenge=""] [by-talent=""] [by-quality=""] [by-attribute=""] [val=""] [select=""] />
  • output: 'name' oder 'id'. 'name' liefert den Name des Helden zurück, 'id' die HeldID.
  • select: 'best' oder 'worst', wenn in Kombination mit anderen Parametern verwendet oder 'random' um einen Helden der Gruppe zufällig auszuwählen.
  • by-challenge: Wenn einer Probe zuvor eine ID gegeben wurde, kann diese ID hier angegeben werden - somit wird die Probe referenziert. Jedoch muss sich die Probe in derselben Szene befinden!
  • by-talent: Hier kann ein Talentname angegeben werden.
  • by-quality: Hier kann ein Eigenschaftskürzel (MU, IQ, ...) angegeben werden.
  • by-attribute: Angabe eines Heldenattributs wie z.B. Verletzungen ('LEP', 'AUP', 'ERP', 'wounds'), Talentwerte, Eigenschaftswerte usw.


Hinweis zur Anwendung: Das <hero>-Tag kann von einem store-Tag umschlossen werden, wenn man bspw. die HeldID in eine Variable speichern möchte, um sie später bei einem select-Tag anzugeben.

Es kann auch vorkommen, dass kein Held zurückgegeben werden kann, weil kein Held der geforderten Bedingung aus den o.g. Attributen entspricht, z.B. wenn man ein sehr selten aktiviertes Talent abfragt. In diesem Fall ist die Rückgabe leer.

Beispiele

by-challenge

<challenge talent="Schleichen" hero-quantity="all" id="Pr1">
  <success>
    <p>Vorsichtig schleicht ihr weiter.</p>
  </success>
  <failure><!-- mindestens ein Held hat die Schleichen-Probe versaut! -->
    <p>Ups!</p>
    <!-- Welcher Held ist schuld? ;) -->
    <p><hero output="name" by-challenge="Pr1" select="worst" /> tritt ungünstig auf ein paar Steinchen, was ungeheuren Lärm verursacht...</p>
  </failure>
</challenge>


by-talent

<!-- ermitteln, welcher Held am besten feilschen kann -->
<hero output="name" by-talent="Feilschen" select="best" /> kann am besten feilschen.

Sollte man ein Talent abfragen, das kein Held in der Gruppe besitzt, ist die Rückgabe leer.

<!-- ermitteln, wer am besten urelfisch sprechen kann -->
<store name="held"><hero output="name" by-talent="Urelfisch" select="best"/></store>
<switch name="held">
  <case val="">
    <p>Es kann von euch leider niemand urelfisch sprechen.</p>
  </case>
  <else>
    <p><fetch name="held"/> ist in Urelfisch ziemlich fit.</p>
  </else>
</switch>


by-quality

<!-- ermitteln, welcher Held am meisten Charisma hat -->
<hero output="name" by-quality="CH" select="best" />


by-injury

Mögliche Angaben sind 'LEP', 'AUP', 'ERP' und 'wounds'.


by-attribute

by-attribute (mögliche Ausprägungen siehe Held_Attribute) kann mit val wie folgt kombiniert werden:

<!-- Held ermitteln, der eher passiv agiert -->
<store name="held_id"><hero output="id" by-attribute="kampf" val="passiv"/></store>

Alternativ können auch numerische Heldenattribute wie select="best" oder select="worst" verglichen werden.

<!-- ermitteln, welcher Held am meisten erschöpft ist -->
<hero output="name" by-attribute="ERP" select="worst" /> ist sehr erschöpft.
<!-- ermitteln, welcher Held die meisten Wunden hat -->
<store name="held_verletzt"><hero output="name" by-attribute="wounds" select="worst" /></store>
<!-- falls kein Held Wunden hat, hat die Variable 'held_verletzt' einen leeren Inhalt -->

<switch name="held_verletzt">
  <case val="">
    <p>Ihr seid alle unverwundet!</p>
  </case>
  <else>
    <p><fetch name="held_verletzt"/> hat die meisten Wunden.</p>
  </else>
</switch>


select="random"

Ein Held der Gruppe kann zufällig ausgewählt werden mit:

<store name="zufaelligerHeldID"><hero output="id" select="random"/></store>
<select hero="${zufaelligerHeldID}"/>