Zusätzliche Informationen für Gruppen-ZBs

Aus AntamarWiki
Version vom 6. März 2017, 21:17 Uhr von Cvk (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Folgenden Dinge sollten zusätzlich, zu den bereits hier genannten ZB-Grundlagen, beachtet werden.

Sprache

Die Helden sollten in der Mehrzahl angesprochen werden, also mit "ihr", "euer".


AOQML

Gruppenquesten und ZBs können wie gewohnt und ausschließlich mit AOQML geschrieben werden. Dabei sind weiterhin alle üblichen AOQML-Tags, wie z.B. challenge oder has möglich! Der einzige Unterschied ist, dass die gesamte Gruppe abgefragt wird.

Eine Einschränkung der zu probenden/prüfenden Helden ist mittels dem select-Tag möglich.

Um einen Helden zu ermitteln, der etwas bestimmtes kann oder gemacht hat oder verletzt ist o.ä., ist das hero-Tag hinzugekommen.

Gruppen-Attribute ermöglichen es, die Anzahl der Gruppenmitglieder, der Kämpfer in der Gruppe usw. abzufragen.

Zudem wurden beim challenge-Tag zwei neue Attribute 'hero-quantity' (Anzahl der Helden, die die Probe bestehen müssen) und 'id' eingeführt, siehe challenge.

Es besteht auch die Möglichkeit, dass der Gruppenführer einen Held explizit für die nächste Szene auswählen kann, dazu wurde choice um das Attribut select-hero erweitert.

Mit for lassen sich Schleifen erstellen, was insbesondere für Gruppen-Begegnungen nützlich ist.

Bei der Erstellung von Gruppen-Questen ist zu beachten, dass die Solo- und die Gruppenversion der Quest in ein File kommt. In der Quest selbst muss dann mit if oder switch abgefragt werden, ob nun der Solo- oder der Gruppentext ausgegeben wird. Natürlich kann man nach der ersten Szene den Solo-Helden in eine andere Szene schicken als die Gruppe, indem man das Attribut "anzahl-gruppenmitglieder" abfragt und dann je nachdem unterschiedliche choicees anbietet.

Gerade beim Erstellen der ersten Gruppen-Begegnungen können die Code Snippets viel Arbeit sparen.

Beispiel-ZB

<?xml version="1.0" encoding="UTF-8"?>
<scene xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://spiel.antamar.org/Antamar/xml/aoqml/aoqml.xsd">
<!-- Humor=Nein; Gegend=Anteria außer Eiskönigreich und Gebirge; Häufigkeit=selten -->

<p>Jetzt, wo es gerade dunkler wurde, zieht ein dichter Nebel auf, der vollkommen eure Sicht versperrt. Ihr könnt kaum die Hand vor Augen sehen! Richtig gruselig, wie die Eulen schreien, die Luft still steht und der Mond dämmrig durch den vollkommenen Nebel leuchtet.</p>

<!-- alle Helden werden selektiert und gleich geprobt. Diese Angabe ist optional, da standardmäßig alle Helden selektiert sind.-->
<select all="true"/>

<!-- alle Helden müssen die Probe bestehen, sonst gilt sie als nicht bestanden -->
<challenge talent="Selbstbeherrschung" mod="5" hero-quantity="all" id="p1">
  <success>
    <p>Nur weil ein paar Vögel piepsen und ihr eure Schuhe nicht mehr seht, brecht ihr nicht gleich in Panik aus.</p>
    <challenge quality="IQ" mod="-1">
      <success>
        <p>Bei dieser Aussicht ist nicht an Weiterreisen zu denken. Also macht ihr ein Lager bereit und rastest bis zum nächsten Morgen.</p>
        <delay hours="4"/>
        <set attribute="EP" inc="2" show="none"/>
      </success>
      <failure>
        <p>Erhobenen Hauptes schreitet ihr durch den Nebel und müsst nach einigen Stürzen und Ästen im Gesicht eingestehen, dass es schlauer gewesen wäre, zu rasten.</p>
        <set name="wurf" val="$[-W6]" show="none"/>
        <set attribute="LEP" dec="${wurf}" show="none"/>
        <set attribute="EP" inc="1" show="none"/>
        <delay hours="4"/>
      </failure>
    </challenge>
  </success>
  <failure>
    <!-- Heldnamen, der die Probe am meisten versaut hat, in eine Variable speichern -->
    <store name="held_name"><hero by-challenge="p1" select="worst" output="name"/></store>
    
    <!-- HeldID, der die Probe so versaut hat, in eine Variable speichern -->
    <store name="held_id"><hero by-challenge="p1" select="worst" output="id"/></store>
    
    <p><fetch name="held_name"/> denkt, hier kann es nicht mit rechten Dingen zugehen! Sicher lauern Dämonen oder Werwölfe hinter dem nächsten Baum.
    Von Panik erfüllt, läuft <fetch name="held_name"/> in den milchig-dunklen Nebel.
    Ihr habt große Mühe, <fetch name="held_name"/> wieder zu beruhigen. Also beschließt ihr, einen Lagerplatz einzurichten und die Nacht über hier zu rasten.</p>
    
    <select hero="${held_id}"/><!-- wählt den Helden aus, der die Probe am meisten versaut hat -->
    
    <set attribute="AUP" dec="10"/><!-- reduziert 10 AUP beim Helden, der die Probe so versemmelt hat -->
    
    <delay hours="4"/><!-- verlängert die Reisedauer (logischerweise für die gesamte Gruppe) -->
  </failure>
</challenge>

</scene>