Hero: Unterschied zwischen den Versionen

Aus AntamarWiki
Wechseln zu: Navigation, Suche
(by-challenge: denmächst via name=)
Zeile 23: Zeile 23:
  
 
=== by-challenge ===
 
=== by-challenge ===
 +
 +
Referenziert die Challenge über deren Attribut id.
 +
 +
'''ACHTUNG''': Demnächst wird das Attribut name referenziert!
  
 
<code xml n>
 
<code xml n>
<challenge talent="Schleichen" hero-quantity="all" id="Pr1">
+
<challenge talent="Schleichen" hero-quantity="all" id="Pr1" name="Pr1" scope="scene">
 
   <success>
 
   <success>
 
     <p>Vorsichtig schleicht ihr weiter.</p>
 
     <p>Vorsichtig schleicht ihr weiter.</p>
Zeile 36: Zeile 40:
 
</challenge>
 
</challenge>
 
</code>
 
</code>
 
  
 
=== by-talent ===
 
=== by-talent ===

Version vom 2. Oktober 2020, 10:05 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', 'nick' oder 'id'. 'name' liefert den Name des Helden zurück, 'nick' seinen Decknamen und '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

Referenziert die Challenge über deren Attribut id.

ACHTUNG: Demnächst wird das Attribut name referenziert!

<challenge talent="Schleichen" hero-quantity="all" id="Pr1" name="Pr1" scope="scene">
  <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}"/>