Fight: Unterschied zwischen den Versionen

Aus AntamarWiki
Wechseln zu: Navigation, Suche
Zeile 1: Zeile 1:
 
Es sollte zwar in Mini-Quests, die ja auch für Nicht-Kämpfer sein sollen, immer Pfade ohne Kampf geben, aber wenn der Held sich entsprechend anstellt, wird ein Kampf oft nicht zu vermeiden sein. Daher kann man in Quests natürlich auch Kämpfe aufsetzen:
 
Es sollte zwar in Mini-Quests, die ja auch für Nicht-Kämpfer sein sollen, immer Pfade ohne Kampf geben, aber wenn der Held sich entsprechend anstellt, wird ein Kampf oft nicht zu vermeiden sein. Daher kann man in Quests natürlich auch Kämpfe aufsetzen:
 +
 +
== Kampf definieren ==
 +
 +
<code xml n>
 +
<fight>
 +
  <rivals>
 +
    <!-- gegen einen Goblin kämpfen -->
 +
    <npc npcid="326" />
 +
  </rivals>
 +
  <victory>
 +
    <p>Gewonnen!</p>
 +
  </victory>
 +
  <escape>
 +
    <p>Du bist vor dem Goblin geflohen.</p>
 +
  </escape>
 +
  <defeat>
 +
    <p>Du wurdest besiegt.</p>
 +
  </defeat>
 +
</fight>
 +
</code>
 +
 +
Kämpfe werden also mit dem Tag <fight> durchgeführt, Gegner mit via ''npc''-Tag innerhalb von <rivals> eingebaut. Wenn der Held gesiegt hat, wird der <victory>-Zweig ausgeführt. Ist er geflüchtet, wird der <escape>-Zweig ausgeführt. Hat der Held verloren, wird der <defeat>-Zweig ausgeführt.
 +
 +
== Gegner definieren ==
 +
 +
Möchte man mehrere Gegner nutzen, kann man das ''npc''-Tag mehrfach angeben.
 +
<code xml n>
 +
...
 +
  <rivals>
 +
    <!-- 3 Goblins als Gegner -->
 +
    <npc npcid="326" />
 +
    <npc npcid="326" />
 +
    <npc npcid="326" />
 +
  </rivals>
 +
...
 +
</code>
 +
 +
Bei <rivals> (und <friends>) ist in jedem Fall eine 'npcid' anzugeben, d.h. eine GegnerID aus der Datenbank, siehe [[NPC Liste]].
 +
 +
Den so geladenen Gegner kann man dann noch abwandeln, indem man seinen Namen und ein Geschlecht setzt und ihm mittels 'weapon' eine andere Waffe gibt (entweder den Namen der Waffe eintragen oder die WaffeID mit führendem #, siehe [[Waffenliste]]). Für das Attribut 'gender' (Geschlecht) ist 'male' der Vorgabewert, kann also auch weggelassen werden. Das Attribut 'surrender-below="xx"' dient dazu, sie einen Fluchtversuch unternehmen zu lassen, wenn ihre LE unter den Wert "xx" fallen. Das Attribut ''escape'' gibt an, ob eine Flucht für diesen Gegner möglich sein soll, standardmäßig ist 'true' eingestellt. Um eine Flucht des Gegners zu verhindern, muss also escape="false" angegeben werden.
  
 
<code xml n>
 
<code xml n>
 
...
 
...
   <fight>
+
   <npc npcid="326" name="Wütender Goblin" gender="male" weapon="Holzspeer" surrender-below="10" escape="true" />  
    <friends>
 
      <!-- z.B. Gruumsh 1:1 aus der DB; soll nicht fliehen dürfen -->
 
      <npc npcid="67" escape="false" />
 
    </friends>
 
    <rivals>
 
      <!-- z.B. ein Hauptmann aus der DB als Salina mit einem Säbel -->
 
      <npc npcid="34" name="Salina" gender="female" weapon="Säbel" surrender-below="10"/>
 
    </rivals>
 
    <defeat>
 
      <include target="kampf-verloren"/>
 
    </defeat>
 
    <escape>
 
      <include target="kampf-gefluechtet"/>
 
    </escape>
 
    <victory>
 
      <include target="kampf-gewonnen"/>
 
    </victory>
 
  </fight>
 
 
...
 
...
 
</code>
 
</code>
  
Kämpfe werden also mit dem Tag <fight> durchgeführt, Gegner mit <rivals> und Freunde mit <friends> hinzugefügt (ggf. auch mehrere).
 
  
 +
== Mitstreiter hinzufügen ==
 +
 +
Um Freunde/Mitstreiter auf der Seite der Helden kämpfen zu lassen, kann das <friends>-Tag benutzt werden, das sich analog zum <rivals>-Tag benutzen lässt:
 +
 +
<code xml n>
 +
<fight>
 +
  <friends>
 +
    <!-- z.B. Gruumsh 1:1 aus der DB; soll nicht fliehen dürfen -->
 +
    <npc npcid="67" escape="false" />
 +
  </friends>
 +
  <rivals>
 +
    <!-- z.B. ein Hauptmann aus der DB als Salina mit einem Säbel -->
 +
    <npc npcid="34" name="Salina" gender="female" weapon="Säbel" surrender-below="10"/>
 +
  </rivals>
 +
  <defeat>
 +
    <include target="kampf-verloren"/>
 +
  </defeat>
 +
  <escape>
 +
    <include target="kampf-gefluechtet"/>
 +
  </escape>
 +
  <victory>
 +
    <include target="kampf-gewonnen"/>
 +
  </victory>
 +
</fight>
 +
</code>
 +
 +
 +
== Keine Flucht des Helden ==
  
 
Das Fluchtverhalten des Helden kann durch das Attribut 'escape' im fight-Tag definiert werden, bei 'false' kämpft er bis zuletzt.
 
Das Fluchtverhalten des Helden kann durch das Attribut 'escape' im fight-Tag definiert werden, bei 'false' kämpft er bis zuletzt.
Zeile 37: Zeile 86:
  
  
Bei <rivals> und <friends> ist in jedem Fall eine 'npcid' anzugeben (eine GegnerID aus der Datenbank, siehe [[NPC Liste]]) Den so geladenen Gegner kann man dann noch abwandeln, indem man seinen Namen und ein Geschlecht setzt und ihm mittels 'weapon' eine andere Waffe gibt (entweder den Namen der Waffe eintragen oder die WaffeID mit führendem #, siehe [[Waffenliste]]). Für das Attribut 'gender' (Geschlecht) ist 'male' der Vorgabewert, kann also auch weggelassen werden. Das Attribut 'surrender-below="xx"' dient dazu, sie einen Fluchtversuch unternehmen zu lassen, wenn ihre LE unter den Wert "xx" fallen.
+
== Gegner tot oder geflohen? ==
 
 
 
 
Wenn der Held gesiegt hat, wird der <victory>-Zweig ausgeführt. Ist er geflüchtet, wird der <escape>-Zweig ausgeführt. Hat der Held verloren, wird der <defeat>-Zweig ausgeführt.
 
 
 
 
Möglichkeiten, um festzustellen, was mit den Gegnern im Kampf geschehen ist, kommen noch.
 
Möglichkeiten, um festzustellen, was mit den Gegnern im Kampf geschehen ist, kommen noch.
  
 
[[Kategorie:AOQML-Tags]]
 
[[Kategorie:AOQML-Tags]]
 
[[Kategorie:AOQML]]
 
[[Kategorie:AOQML]]

Version vom 22. Oktober 2010, 01:17 Uhr

Es sollte zwar in Mini-Quests, die ja auch für Nicht-Kämpfer sein sollen, immer Pfade ohne Kampf geben, aber wenn der Held sich entsprechend anstellt, wird ein Kampf oft nicht zu vermeiden sein. Daher kann man in Quests natürlich auch Kämpfe aufsetzen:

Kampf definieren

<fight>
  <rivals>
    <!-- gegen einen Goblin kämpfen -->
    <npc npcid="326" />
  </rivals>
  <victory>
    <p>Gewonnen!</p>
  </victory>
  <escape>
    <p>Du bist vor dem Goblin geflohen.</p>
  </escape>
  <defeat>
    <p>Du wurdest besiegt.</p>
  </defeat>
</fight>

Kämpfe werden also mit dem Tag <fight> durchgeführt, Gegner mit via npc-Tag innerhalb von <rivals> eingebaut. Wenn der Held gesiegt hat, wird der <victory>-Zweig ausgeführt. Ist er geflüchtet, wird der <escape>-Zweig ausgeführt. Hat der Held verloren, wird der <defeat>-Zweig ausgeführt.

Gegner definieren

Möchte man mehrere Gegner nutzen, kann man das npc-Tag mehrfach angeben.

...
  <rivals>
    <!-- 3 Goblins als Gegner -->
    <npc npcid="326" />
    <npc npcid="326" />
    <npc npcid="326" />
  </rivals>
...

Bei <rivals> (und <friends>) ist in jedem Fall eine 'npcid' anzugeben, d.h. eine GegnerID aus der Datenbank, siehe NPC Liste.

Den so geladenen Gegner kann man dann noch abwandeln, indem man seinen Namen und ein Geschlecht setzt und ihm mittels 'weapon' eine andere Waffe gibt (entweder den Namen der Waffe eintragen oder die WaffeID mit führendem #, siehe Waffenliste). Für das Attribut 'gender' (Geschlecht) ist 'male' der Vorgabewert, kann also auch weggelassen werden. Das Attribut 'surrender-below="xx"' dient dazu, sie einen Fluchtversuch unternehmen zu lassen, wenn ihre LE unter den Wert "xx" fallen. Das Attribut escape gibt an, ob eine Flucht für diesen Gegner möglich sein soll, standardmäßig ist 'true' eingestellt. Um eine Flucht des Gegners zu verhindern, muss also escape="false" angegeben werden.

...
  <npc npcid="326" name="Wütender Goblin" gender="male" weapon="Holzspeer" surrender-below="10" escape="true" /> 
...


Mitstreiter hinzufügen

Um Freunde/Mitstreiter auf der Seite der Helden kämpfen zu lassen, kann das <friends>-Tag benutzt werden, das sich analog zum <rivals>-Tag benutzen lässt:

<fight>
  <friends>
    <!-- z.B. Gruumsh 1:1 aus der DB; soll nicht fliehen dürfen -->
    <npc npcid="67" escape="false" />
  </friends>
  <rivals>
    <!-- z.B. ein Hauptmann aus der DB als Salina mit einem Säbel -->
    <npc npcid="34" name="Salina" gender="female" weapon="Säbel" surrender-below="10"/>
  </rivals>
  <defeat>
    <include target="kampf-verloren"/>
  </defeat>
  <escape>
     <include target="kampf-gefluechtet"/>
  </escape>
  <victory>
    <include target="kampf-gewonnen"/>
  </victory>
</fight>


Keine Flucht des Helden

Das Fluchtverhalten des Helden kann durch das Attribut 'escape' im fight-Tag definiert werden, bei 'false' kämpft er bis zuletzt.

<fight escape="false"><!-- Held kämpft bis zum bitteren Ende -->
...
</fight>

bewirkt, dass der Held nie fliehen darf. Standardmäßig ist escape="true" - das escape-Attribut kann also auch weggelassen werden.


Gegner tot oder geflohen?

Möglichkeiten, um festzustellen, was mit den Gegnern im Kampf geschehen ist, kommen noch.