Set

Aus AntamarWiki
Version vom 30. Juni 2011, 13:13 Uhr von Gaddezwerch (Diskussion | Beiträge) (Beispiel für set object="ordenshaus" attribute="schatz")
Wechseln zu: Navigation, Suche

Die Tags get und set geben Zugriff auf die Werte des Helden, also die Eigenschaften, Lebensenergie, Ausdauer, Abenteuerpunkte, Talentwerte etc. Get liest die Werte aus, mit set kann man sie verändern um z.B. Schadenspunkte oder Erfahrungspunkte zu verteilen.

Syntax

<set [object="hero"] [attribute=""] />
  • object: Standardmäßig wird auf dem Held "gearbeitet" und alle seine Werte manipuliert.
Ist object="selected-item" angegeben, wird auf einem zuvor selektierten Gegenstand (siehe item-select) gearbeitet und dessen Attribute verändert.
Ist object="ordenshaus" angegeben, werden Werte des Ordenshauses, in dem sich der Held befindet, verändert.
  • attribute beim Helden alle möglichen Heldenattribute. Es lassen sich jedoch nicht alle Heldenattribute ändern, viele sind nur lesbar, nicht beschreibbar.
Bei einem Gegenstand (object="selected-item") kann das Attribut 'quality' (Zustand, Wert zwischen 0 und 100) verändert werden.
Bei einem Ordenshaus (object="ordenshaus") kann das Attribut 'schatz' verändert werden (nur mittels inc oder dec, nicht mittels val/value!)

Beispiele für den Held

Um Heldenwerte mit set zu verändern, muss das Tag um ein Attribut erweitert werden, das entweder die neue Höhe angibt oder den Betrag um den der Wert verändert wird:

<set attribute="LEP" dec="5"/>

Verringert die Lebensenergie um 5.

<set attribute="LEP" inc="1...6"/>

Hingegen erhöht die LP um 1 bis 6 ("W6") Punkte, aber nur bis zum möglichen Maximum.

  • dec - Wert um den Betrag verringern
  • inc - Wert um den Betrag erhöhen
  • val - neuer Wert (absolut)

dec, inc, val, attribute und name können alle auch Besondere Werte annehmen.



Statt Attributen können auch Variablen-Werte gesetzt werden. Damit kann man z.B. EP im Laufe des Quests ansammeln:

<set name="questEP" inc="5" show="none"/>

Und dann am Ende des Quests gesammelt vergeben:

<set attribute="EP" inc="${questEP}"/>

Es handelt sich dabei um dieselben Variablen wie bei Store_fetch, bei set wird jedoch der Inhalt des Tags nicht beachtet.


Eigenschaften können mittels set temporär verändert werden. Beispiele:

<set quality="ST" inc="4" duration="10 days" />
<set quality="FF" dec="2" duration="3 hours" />


Beispiele für einen Gegenstand (object="selected-item")

Wurde zuvor ein Gegenstand via item-select ausgewählt, kann das Warenattribut 'quality' (der Zustand des Gegenstandes) verändert werden:

<!-- die Qualität um 10 erhöhen (Obergrenze ist automatisch 100, das prüft die Engine von alleine) -->
<set object="selected-item" attribute="quality" inc="10" />

<!-- die Qualität um 7 verringern (Untergrenze ist automatisch 0, das prüft die Engine von alleine) -->
<set object="selected-item" attribute="quality" dec="7" />

<!-- die Qualität auf 100 setzen (Bestwert) -->
<set object="selected-item" attribute="quality" val="100" />


Beispiele für das Ordenshaus (object="ordenshaus")

Beim Ordenshaus kann bisher das Attribut 'schatz' verändert werden, mittels inc oder dec, jedoch nicht mittels val/value, weil dies bei parallelen Ein-/Auszahlungen zu Problemen führen könnte.

<!-- Diebe klauen 15 Gulden aus der Schatzkammer -->
<store name="gold_aktuell"><get object="ordenshaus" attribute="schatz"/></store>
<has name="gold_aktuell" min="15000">
  <success>
    <!-- Diebe erhalten 15 Gulden -->
    <select role="Anführer"/>
    <set attribute="cash" inc="15000" />

    <!-- Ordens-Gold anpassen -->
    <set object="ordenshaus" attribute="schatz" dec="15000" />
  </success>
  <failure>
    <p>Es sind keine 15 Gulden in der Schatzkammer.</p>
  </failure>
</has>