Select

Aus AntamarWiki
Version vom 5. November 2010, 17:44 Uhr von Neonix (Diskussion | Beiträge) (Helden nacheinander anwählen.)
Wechseln zu: Navigation, Suche

Mit Hilfe des select-Tags kann in AOQML bei einer Gruppenbegegnung ein oder mehrere Helden der Gruppe selektiert werden, sodass die folgenden Befehle (nicht alle, aber viele) nur für die selektierten Helden gelten. Beispiele zur Verwendung:

  • nur selektierte Helden sollen Talentprobe durchführen
  • nur selektierte Helden sollen Gegenstände aufnehmen
  • nur selektierte Helden erhalten LEP-Schaden
  • usw.


Syntax

<select [[role="" [count="0"]] [all="false"] [hero=""] />
  • role: Rollenbezeichnung innerhalb der Gruppe. Möglich sind 'Anführer', 'Dieb', 'Kämpfer', 'Mitreisender'. Wenn es keinen Helden mit dieser Rolle in der Gruppe gibt, wird automatisch der Gruppenleiter selektiert.
  • count: Schränkt die Anzahl an zu selektierenden Helden auf Basis der Rollenbezeichnung ein. Wenn bspw. 2 angegeben, werden höchstens zwei Helden selektiert.
  • all: Mit all="true" können alle Helden der Gruppe selektiert werden (standardmäßig zu Beginn einer Gruppen-ZB/-Quest)
  • hero: Mit Angabe des Heldennamens oder der HeldID kann ein Held der Gruppe selektiert werden. Der Held muss sich jedoch in der Gruppe befinden! Sofern möglich, sollte die HeldID verwendet werden, da der Name nicht eindeutig ist.


Beispiele

1)

<select role="Kämpfer" />
<!-- wählt alle Kämpfer in der Gruppe aus.
Die folgende Probe wird folglich auf die selektierten Kämpfer durchgeführt. -->

<challenge quality="ST" mod="3">
...
</challenge>

2)

<select role="Dieb" count="1" />
<!-- wählt genau einen Dieb aus der Gruppe aus.
Die folgende Probe wird nur von diesem selektierten Helden durchgeführt. -->

<challenge talent="Schlösser öffnen">
...
</challenge>

3)

<select role="Anführer"/>
<!-- selektiert den Gruppenleiter -->

<take item="Reiseproviant" />
<!-- nur der Gruppenleiter erhält eine Portion Reiseproviant -->

4)

<!-- Annahme: eine Probe mit der ID "Pr1" wurde in der Szene bereits durchgeführt -->
<store name="heldid" scope="quest"><hero output="id" by-challenge="Pr1" select="worst"/></store>
<select hero="${heldid}"/><!-- Wählt den schlechtesten Held der Probe Pr1. -->


Alle Helden nacheinander wählen

Mit folgender Methode kann man alle SC der Gruppe nacheinander anwählen:

<!-- Muss in 2 Szenen aufgeteilt werden. Szene 1: --> 

<store name="gruppenmitglieder" scope="quest"><get attribute="anzahl_gruppenmitglieder"/></store>

<include="szene2"/> 



<!-- Und dann Szene 2: --> 

<switch name="gruppenmitglieder">
  <null>
  	<!-- Szene fertig da alle durch. --> 
        <include target="weiter"/>
  </null>
  <case val="0">
  	<!-- Szene fertig da alle durch. --> 
        <include target="weiter"/>
  </case>
  <else>
  	<store name="zufaelligerHeldID"><hero output="id" select="random"/></store>
  	<has name="schon_mal_dran_gewesen">
	    <success>
	    	<include target="szene2"/><!-- War schon, also noch ein Versuch. --> 
	    </success>
	    <failure>
	    	<set name="gruppenmitglieder" dec="1"/><!-- Einer weniger. --> 
	    	<store name="schon_mal_dran_gewesen" scope="hero" expire="1h">...</store>
	    	

                <!-- Hier dann, was auch immer man dem Held antuen möchte. ;) --> 


		<!-- Noch eine Runde. -->
		<include target="hitze2"/>
	    </failure>
	</has>
  </else>
</switch>