CodeSnippets: Unterschied zwischen den Versionen

Aus AntamarWiki
Wechseln zu: Navigation, Suche
K (ZB mit Vorraussetzung)
K (ZB mit Voraussetzung)
Zeile 68: Zeile 68:
 
In Z2 wird eine Talentvoraussetzung (auch möglich: Gegenstand X muss vorhanden sein - has item="X|Y|Z") abgefragt, der Char muss als eines der angegebenen Talent auf dem angegeben Mod haben, sonst wird der success-Zweig nicht ausgeführt (in dem der Charakter einen Gegenstand erhält) und es bleibt nur ein Trösttext (in diesem Falle mit einer anderen Probe, um noch etwas AP zu erhalten)...
 
In Z2 wird eine Talentvoraussetzung (auch möglich: Gegenstand X muss vorhanden sein - has item="X|Y|Z") abgefragt, der Char muss als eines der angegebenen Talent auf dem angegeben Mod haben, sonst wird der success-Zweig nicht ausgeführt (in dem der Charakter einen Gegenstand erhält) und es bleibt nur ein Trösttext (in diesem Falle mit einer anderen Probe, um noch etwas AP zu erhalten)...
 
<code xml n>
 
<code xml n>
   <has talent="X|Y|Z" mod="+X">
+
   <has talent="X|Y" mod="+X">
 
     <success>
 
     <success>
 
       <p></p>
 
       <p></p>

Version vom 24. Juli 2008, 17:20 Uhr

Hier entsteht eine Sammlung von Versatzstücken für die AOQML-Programmierung, sogenannten CodeSnippets. Es soll die möglichst eleganteste, sicherste und platzsparendste Methode hier stehen.

ZB-Aufbau

Einfacher ZB-Grundaufbau

Einführungstext (Z1), dann erste Talentprobe (Z2) und wenn diese gelingt, eine weitere (Z8), danach AP-Vergabe (Z11,15) und wenn beide Proben positiv verliefen, auch Gewinn eines Gegenstands (Z16); Texte nur zwischen p und /p:

<p></p>
<challenge talent="X">
  <failure>
    <p></p>
  </failure>
  <success>
    <p></p>
    <challenge talent="X">
      <failure>
        <p></p>
        <set attribute="AP" inc="X"/>
      </failure>
      <success>
        <p></p>
        <set attribute="AP" inc="X"/>
        <take item="X"/>
      </success>
    </challenge>
  </success>
</challenge>

Einfacher ZB-Grundaufbau mit variierenden Textstücken

Viele Begegnungen haben variierende Textinhalte, die aber das gleiche beschreiben, dadurch wird für Abwechselung innerhalb einer ZB gesorgt und es ist nicht immer der gleiche langweilige Text, den man sofort erkennt. Die ist noch besser einsetzbar für gleichwertige Ereignisse, wo also nicht jeder Text innerhalb der ZB aufeinander aufbauen muss und sich auch von den gleichwertigen cases unterscheiden kann.

<p>
<random>
  <case></case>
  <case></case>
  <case></case>
  <case></case>
</random>
</p>

<challenge talent="" mod="+X">
  <failure>
    <p>
    <random>
      <case></case>
      <case></case>
      <case></case>
      <case></case>
    </random>
    </p>
  </failure>
  <success>
    <p>
    <random>
      <case></case>
      <case></case>
      <case></case>
      <case></case>
    </random>
    </p>
  </success>
</challenge>


ZB mit Voraussetzung

In Z2 wird eine Talentvoraussetzung (auch möglich: Gegenstand X muss vorhanden sein - has item="X|Y|Z") abgefragt, der Char muss als eines der angegebenen Talent auf dem angegeben Mod haben, sonst wird der success-Zweig nicht ausgeführt (in dem der Charakter einen Gegenstand erhält) und es bleibt nur ein Trösttext (in diesem Falle mit einer anderen Probe, um noch etwas AP zu erhalten)...

  <has talent="X|Y" mod="+X">
    <success>
      <p></p>
      <take item="X"/>   
    </success>
    <failure>
      <challenge talent="" mod="+X">
        <success>
          <p></p>
          <set attribute="AP" inc="X"/>
        </success>
        <failure>
          <p></p>
          <set attribute="AP" inc="X"/>
        </failure>
      </challenge>
    </failure>
  </has>

Talente

Einfache Talentprobe

<challenge talent="Talent" mod="+X">
  <success>
    <p></p>
  </success>
  <failure>
    <p></p>
  </failure>
</challenge>

Erleichterte Talentprobe durch Gegenstände

In Z1 wird abgefragt, ob einer der angegebenen Gegenstände vorhanden ist, wenn ja, wir die Probe erleichtert (Z3), ansonsten erschwert durchgeführt (Z13):

<has item="X|Y|Z">
  <success>
    <challenge talent="">
      <failure>
        <p></p>
      </failure>
      <success>
        <p></p>
      </success>
    </challenge>
  </success>
  <failure>
    <challenge talent="" mod="+X">
      <failure>
        <p></p>
      </failure>
      <success>
        <p></p>
      </success>
    </challenge>
  </failure>
</has>

Alternative Talentabfrage

Anmerkung: Dies betrifft vor allem Talente, die eher selten sind und wo der Held auf ein Talent ausweichen kann, das er ziemlich sicher hat. Ansonsten könnte im failure-Zweig des ersten has talent auch ein zweites has talent eingebaut werden.

<has talent="Talent1">
  <success>
    <challenge talent="Talent1">
      <success>
      ...
      </success>
      <failure>
      ...
      </failure>
  </success>
  <failure>
    <challenge talent="Talent2">
      <success>
      ...
      </success>
      <failure>
      ...
      </failure>
  </failure>
</has>

Heldenspezifisches

Mann oder Frau?

In Z3 wird der Text für Männer ausgegeben, in Z6 der für Frauen.

<switch attribute="gender">
  <case value="male">
    <p></p>
  </case>
  <else>
    <p></p>
  </else>
</switch>

Hat der Held soundsoviel Geld?

Wenn es wichtig ist, ob der Held einen Mindestbetrag an Geld dabei hat.

<has attribute="cash" min="X">
  <success>
    <p></p>
  </success>
  <failure>
    <p></p>
  </failure>
</has>

Zufälle

Zufallstexte

Eine normale Zufallsauswahl, jeder Case ist gleichberechtigt.

<random>
  <case>
    <p></p>
  </case>
  <case>
    <p></p>
  </case>
  <case>
    <p></p>
  </case>
  <case>
    <p></p>
  </case>
</random>

Prozentuale Zufallsauswahl

Wenn man die Ereignisse einer Zufallsauswahl etwas steuern will, weil manches häufiger als anderes auftreten soll. Zuerst die Variable "zufall" setzen, so:

<set name="zufall" value="1...100"/>

oder so:

<set name="zufall" value="$[W100]"/>

Dann die möglichen Ergebnisse:

    
<switch name="zufall">
  <case min="1" max="49">
  ...für 0-49...
  </case>
  <case min="50" max="69">
  ...für 50-69...
  </case>
  <else>
  ...für den Rest...
  </else>
</switch>

Bewertung unterschiedlicher Ausrüstung bei Proben

Bei Proben sind unterschiedliche Gegenstände oft unterschiedlich nützlich. Folgendes System erlaubt eine einfache aber detaillierte Nutzung verschiedener Gegenstände. Man muss nur noch die entsprechenden Gegenstände einfügen (Getrennt mit | wenn mehrere in Frage kommen) und den Modi auf die Probe festlegen. Bei fehlender Ausrüstung entscheidet der Schreiber, ob und wie es weiter geht (hoher Malus auf die Probe oder einfach nicht möglich):

<has item="Gute Ausrüstung|Andere gute Ausrüstung">
  <failure>
    <has item="Mittlere Ausrüstung|Andere mittlere Ausrüstung">
      <failure>
        <has item="Schlechte Ausrüstung|Andere schlechte Ausrüstung">
          <failure>
            <p>Mangels geeigneter Ausrüstung kannst du das gleich vergessen!</p>
            Weiter im Text/Versagt/Was auch immer... 
          </failure> 
          <success>
            <challenge talent="Benutztes Talent" mod="+Hoher Malus in Zahlen" name="probemitausruestung1" show="none" />
          </success> 
        </has>
      </failure> 
      <success>
        <challenge talent="Benutztes Talent" mod="+Mittlerer oder kein Malus in Zahlen" name="probemitausruestung1" show="none" />
      </success> 
    </has>
  </failure> 
  <success>
    <challenge talent="Benutztes Talent" mod="+Kleiner Malus bis Bonus in Zahlen" name="probemitausruestung1" show="none" />
  </success> 
</has> 
...
<challenge name="probemitausruestung1"> 
  <failure>
    ...
    ...
  </failure> 
  <success>
    ...
    ...
  </success> 
</challenge>