Hauptmenü öffnen

AntamarWiki β

Änderungen

Hero

2.028 Bytes hinzugefügt, 19:28, 11. Aug. 2021
by-talent: neue Semantik mit -1 für inaktive Fertigkeiten und Zufallsauswahl
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 ==
<code xml n>
<hero [output="name"] [by-challenge=""] [by-talent=""] [by-injuryquality=""] [by-attribute=""] [val=""] [select="" ] />
</code>
* '''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 [[Fertigkeiten|Talentname ]] angegeben werden.* '''by-injuryquality''': Hier kann ein [[Grundwerte#Eigenschaften|Eigenschaftskürzel]] (MU, IQ, ...) angegeben werden.* '''by-attribute''': Angabe eines [[Held_Attribute|Heldenattributs]] wie z.B. Verletzungen ('LEP', 'AUP', 'ERP' oder , '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 "name".
<code xml n>
<challenge talent="Schleichen" hero-quantity="all" idname="Pr1" scope="scene">
<success>
<p>Vorsichtig schleicht ihr weiter.</p>
</challenge>
</code>
 
=== by-talent ===
<code xml n>
<!-- ermitteln, welcher Held am besten Feilschen feilschen kann -->
<hero output="name" by-talent="Feilschen" select="best" /> kann am besten feilschen.
</code>
 
Hat ein Held die Fertigkeit (Talent) nicht aktiviert, zählt es als -1, d.h. ggf. kommen dabei Helden heraus, die das Talent gar nicht aktiviert haben. Daher sollte man sich i.d.R. eine Probe anschließen, z.B:
 
<code xml n>
<!-- ermitteln, wer am besten urelfisch sprechen kann -->
<store name="heldID"><hero output="id" by-talent="Urelfisch" select="best"/></store>
 
<!-- den betreffenden Helden selektieren -->
<select hero="${heldID}"/>
 
<!-- und prüfen, ob er es wirklich kann - alternativ gleich eine challenge -->
<has talent="Urelfisch">
<success>
<p><get attribute="name"/> kann Urelfisch</p>
</success>
<failure>
<p>niemand von euch kann Urelfisch</p>
</failure>
</has>
</code>
 
Sollten mehrere Helden gleich schlecht/guut sein, erfolgt Auswahl zufällig. D.h. mehrmalige Ausführung hintereinander kann unterschiedliche Helden liefern!
 
=== by-quality ===
 
<code xml n>
<!-- ermitteln, welcher Held am meisten Charisma hat -->
<hero output="name" by-quality="CH" select="best" />
</code>
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>
<!-- ermitteln, welcher Held am meisten erschöpft ist -->
<hero output="name" by-injuryattribute="ERP" select="worst" /> ist sehr erschöpft.
</code>
<code xml n>
<!-- ermitteln, welcher Held die meisten Wunden hat -->
<store name="held_verletzt"><hero output="name" by-injuryattribute="wounds" select="worst" /></store>
<!-- falls kein Held Wunden hat, hat die Variable 'held_verletzt' einen leeren Inhalt -->
</code>
 [[Kategorie:AOQML]][[Kategorie:Gruppe]][[Kategorie:Mitarbeit-Tags]]
278
Bearbeitungen