Ranged-Defence: Unterschied zwischen den Versionen

Aus AntamarWiki
Wechseln zu: Navigation, Suche
K
 
(4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 26: Zeile 26:
 
|shots||Anzahl der Schüsse, die der [[NPC Liste|NPC]] auf den Held abgibt. Standardmäßig 1 (=1 Schuss).
 
|shots||Anzahl der Schüsse, die der [[NPC Liste|NPC]] auf den Held abgibt. Standardmäßig 1 (=1 Schuss).
 
|-
 
|-
 +
|enabled||(optional) Standardmäßig 'true'. Wenn 'false' angegeben, wird dieser Fernkämpfer nicht aktiv.
 
|}
 
|}
  
Verhalten bei Gruppen: Wenn der Held in einer [[Gruppe]] unterwegs ist, wird der Zielheld, auf den geschossen wird, zufällig auf Basis der selektierten Helden ermittelt. Die Wahrscheinlichkeit ist für den Gruppenführer höher (sofern er selektiert ist), für alle anderen Helden ist die Wahrscheinlichkeit gleich hoch.
+
Verhalten bei Gruppen: Wenn der Held in einer [[Gruppe]] unterwegs ist, wird der Zielheld, auf den geschossen wird, zufällig auf Basis der selektierten Helden ermittelt.
 +
Wenn kein Held mehr kampffähig sein sollte, wird der Beschuss eingestellt.
 +
 
 +
Weiterhin ist es möglich, eigene Ausgabetexte für die unterschiedlichen Fälle festzulegen. Es können Texte spezifiziert werden für:
 +
* Der Schuss verfehlt das Ziel (''<missed>'')
 +
* Der Schuss wurde mit Schield abgewehrt (''<shielddefence>'')
 +
* Held weicht dem Schuss aus (''<dodge>'')
 +
* Treffer (''<hit>'')
 +
* Kritischer Treffer (''<critical-hit>'')
 +
 
 +
Die Syntax dafür ist wie folgt:
 +
<code xml>
 +
<ranged-defence [type="all"]>
 +
  <npc ... /><!-- siehe oben -->
 +
  <outcome>
 +
    <missed>
 +
      ... Text/Ereignis ...
 +
    </missed>
 +
    <shielddefence>
 +
      ... Text/Ereignis ...
 +
    </shielddefence>
 +
    <dodge>
 +
      ... Text/Ereignis ...
 +
    </dodge>
 +
    <hit>
 +
      ... Text/Ereignis ...   
 +
    </hit>
 +
    <critical-hit>
 +
      ... Text/Ereignis ...
 +
    </critical-hit>
 +
  </outcome>
 +
</ranged-defence>
 +
</code>
 +
 
 +
Die Angabe der Tags ''missed, shielddefence, dodge, hit, critical-hit'' ist dabei optional, d.h. wenn der jeweilige Tag nicht angegben ist, wird auf die Standardausgabe zurückgegriffen.
  
 
== Beispiele ==
 
== Beispiele ==
Zeile 52: Zeile 87:
 
   <npc npcid="340" weapon="Leichte Armbrust" precision="14" shots="2" distance="30" />
 
   <npc npcid="340" weapon="Leichte Armbrust" precision="14" shots="2" distance="30" />
 
   <npc npcid="340" weapon="Repetierarmbrust" precision="15" shots="2" distance="30" />
 
   <npc npcid="340" weapon="Repetierarmbrust" precision="15" shots="2" distance="30" />
 +
</ranged-defence>
 +
</code>
 +
 +
 +
=== Eigene Ausgabetexte ===
 +
<code xml>
 +
<ranged-defence type="all">
 +
  <npc npcid="4" weapon="Leichte Armbrust" precision="15" shots="2" distance="30" />
 +
  <outcome>
 +
    <missed>
 +
      <p>Der Bolzen verfehlt dich knapp.</p>
 +
    </missed>
 +
    <shielddefence>
 +
      <p>Der Bolzen bohrt sich in dein Schild!</p>
 +
    </shielddefence>
 +
    <dodge>
 +
      <p>Du kannst dem Bolzen ausweichen.</p>
 +
    </dodge>
 +
    <hit>
 +
      <p>Das Skelett ist einfach zu treffsicher, wie du nun schmerzhaft erfahren musst! Und der Bolzen war offenbar auch noch mit irgendeinem Kontaktgift bestrichen. Du fühlst dich auf einmal ganz schwach.</p>
 +
      <set quality="ST" dec="5" expire="2 days"/>   
 +
    </hit>
 +
    <critical-hit>
 +
      <p>Erbarmungslos bohrt sich der Bolzen in eine ungeschützte Stelle deines Körpers! Die Schmerzen sind unbeschreiblich und zu allem Unglück war der Bolzen offenbar auch noch mit irgendeinem Kontaktgift bestrichen. Du fühlst dich auf einmal ganz schwach.</p>
 +
      <set quality="ST" dec="5" expire="2 days"/>
 +
    </critical-hit>
 +
  </outcome>
 +
</ranged-defence>
 +
</code>
 +
 +
=== Eigene Ausgabetexte bei Gruppenquests ===
 +
Standardmäßig findet in ''outcome'' ein Selektieren des betroffenen Helden statt (select-hero="true"). Dies kann ggf. mittels ''select-hero="false"'' abgestellt werden.
 +
Das folgende Beispiel zeigt eine mögliche Variante mit select-hero="true".
 +
 +
<code xml>
 +
<ranged-defence type="all">
 +
  <npc npcid="4" weapon="Leichte Armbrust" precision="15" shots="2" distance="30" />
 +
  <outcome select-hero="true"><!-- select-hero ist standardmäßig auf true! -->
 +
    <missed>
 +
      <p>Der Bolzen verfehlt <get attribute="name" /> knapp.</p>
 +
    </missed>
 +
    <shielddefence>
 +
      <p>Der Bolzen bohrt sich in das Schild von <get attribute="name" />!</p>
 +
    </shielddefence>
 +
    <dodge>
 +
      <p><get attribute="name" /> kann dem Bolzen ausweichen.</p>
 +
    </dodge>
 +
    <hit>
 +
      <p>Das Skelett ist einfach zu treffsicher, wie <get attribute="name" /> nun schmerzhaft erfahren muss! Und der Bolzen war offenbar auch noch mit irgendeinem Kontaktgift bestrichen. <get attribute="name" /> fühlt sich auf einmal ganz schwach.</p>
 +
      <set quality="ST" dec="5" expire="2 days"/>   
 +
    </hit>
 +
    <critical-hit>
 +
      <p>Erbarmungslos bohrt sich der Bolzen in eine ungeschützte Stelle! Die Schmerzen sind unbeschreiblich und zu allem Unglück war der Bolzen offenbar auch noch mit irgendeinem Kontaktgift bestrichen. <get attribute="name" /> fühlt sich auf einmal ganz schwach.</p>
 +
      <set quality="ST" dec="5" expire="2 days"/>
 +
    </critical-hit>
 +
  </outcome>
 
</ranged-defence>
 
</ranged-defence>
 
</code>
 
</code>
Zeile 59: Zeile 150:
  
 
[[Kategorie:AOQML-Tags]]
 
[[Kategorie:AOQML-Tags]]
[[Kategorie:AOQML]]
 

Aktuelle Version vom 25. März 2016, 10:28 Uhr

Mit <ranged-defence> lässt man in Questen und ZB den Held eine Fernkampfabwehr-Probe durchführen. Ein bis mehrere NPC attackieren die Gruppe des Helden mit Fernkampfwaffen.

Syntax

<ranged-defence [type="all"]>
  <npc npcid="" weapon="" precision="" distance="" [bullet=""] [shots="1"] />
</ranged-defence>
Attribut Erklärung
type Mit 'all' gibt man an, wenn der attackierte Held sowohl ausweichen als auch mit seinem Schild parieren darf. Mit 'shield' gibt man an, dass der Held nur mit seinem Schild parieren darf (kein Ausweichen erlaubt). Mit 'dodge' gibt man an, dass der Held nur ausweichen darf (keine Schildparade erlaubt). Mit 'none' gibt man an, dass der Held weder ausweichen kann noch mit seinem Schild parieren darf.
npcid Die ID des angreifenden NPC
weapon Hier wird eine Fernkampfwaffe erwartet, siehe Aktuelle_Warenliste. Ein paar Beispiele: 'Langbogen', 'Leichte Armbrust', 'Wurfspeer', 'Wurfdolch' usw.
precision Hier gibt man den Fernkampf-Basiswert des NPC an, z.B. 12. Je höher der Wert, desto besser kann der NPC mit seiner Waffe umgehen, d.h. desto höher ist die Wahrscheinlichkeit, dass er den Held trifft. Ein paar Referenzwerte: Unerfahrene Wegelager: 11, Geübter Wegelagerer: 15, Erfahrener Jäger: 18, Scharfschütze: 25
distance Die Entfernung in Schritt vom NPC zum attackierten Held, z.B. 20 (=20 Schritt). Eine sehr nahe Distanz hat zur Folge, dass die Parade des Held um zwei Punkte erschwert wird. Welche Distanzwerte dies im Einzelfall sind, hängt von der Waffe ab. Die Einstellung hierfür wird für jede Fernkampfwaffe in der Datenbank gepflegt. Beispielsweise gilt für einen Langbogen bereits 25 Schritt als nah. Für einen Wurfdolch hingegen gilt 4 Schritt als nah.
bullet (optional) Üblicherweise wird das Geschoss (z.B. Pfeil) auf Basis der angegebenen Waffe automatisch ermittelt. Wenn man möchte, kann man jedoch ein konkretes Geschoss angeben - es muss eine Ware gemäß der Aktuelle_Warenliste sein.
shots Anzahl der Schüsse, die der NPC auf den Held abgibt. Standardmäßig 1 (=1 Schuss).
enabled (optional) Standardmäßig 'true'. Wenn 'false' angegeben, wird dieser Fernkämpfer nicht aktiv.

Verhalten bei Gruppen: Wenn der Held in einer Gruppe unterwegs ist, wird der Zielheld, auf den geschossen wird, zufällig auf Basis der selektierten Helden ermittelt. Wenn kein Held mehr kampffähig sein sollte, wird der Beschuss eingestellt.

Weiterhin ist es möglich, eigene Ausgabetexte für die unterschiedlichen Fälle festzulegen. Es können Texte spezifiziert werden für:

  • Der Schuss verfehlt das Ziel (<missed>)
  • Der Schuss wurde mit Schield abgewehrt (<shielddefence>)
  • Held weicht dem Schuss aus (<dodge>)
  • Treffer (<hit>)
  • Kritischer Treffer (<critical-hit>)

Die Syntax dafür ist wie folgt:

<ranged-defence [type="all"]>
  <npc ... /><!-- siehe oben -->
  <outcome>
    <missed>
       ... Text/Ereignis ...
    </missed>
    <shielddefence>
       ... Text/Ereignis ...
    </shielddefence>
    <dodge>
       ... Text/Ereignis ...
    </dodge>
    <hit>
       ... Text/Ereignis ...     
    </hit>
    <critical-hit>
      ... Text/Ereignis ...
    </critical-hit>
  </outcome>
</ranged-defence>

Die Angabe der Tags missed, shielddefence, dodge, hit, critical-hit ist dabei optional, d.h. wenn der jeweilige Tag nicht angegben ist, wird auf die Standardausgabe zurückgegriffen.

Beispiele

1 Unerfahrener Wegelagerer

<ranged-defence type="all">
  <npc npcid="4" weapon="Kurzbogen" precision="12" distance="30" />
</ranged-defence>

2 Wegelagerer mit Armbrüsten

<ranged-defence type="all">
  <npc npcid="340" weapon="Leichte Armbrust" precision="14" distance="30" />
  <npc npcid="340" weapon="Repetierarmbrust" precision="15" distance="30" />
</ranged-defence>

2 Wegelagerer, jeweils 2 Schüsse

<ranged-defence type="all">
  <npc npcid="340" weapon="Leichte Armbrust" precision="14" shots="2" distance="30" />
  <npc npcid="340" weapon="Repetierarmbrust" precision="15" shots="2" distance="30" />
</ranged-defence>


Eigene Ausgabetexte

<ranged-defence type="all">
  <npc npcid="4" weapon="Leichte Armbrust" precision="15" shots="2" distance="30" />
  <outcome>
    <missed>
      <p>Der Bolzen verfehlt dich knapp.</p>
    </missed>
    <shielddefence>
      <p>Der Bolzen bohrt sich in dein Schild!</p>
    </shielddefence>
    <dodge>
      <p>Du kannst dem Bolzen ausweichen.</p>
    </dodge>
    <hit>
      <p>Das Skelett ist einfach zu treffsicher, wie du nun schmerzhaft erfahren musst! Und der Bolzen war offenbar auch noch mit irgendeinem Kontaktgift bestrichen. Du fühlst dich auf einmal ganz schwach.</p>
      <set quality="ST" dec="5" expire="2 days"/>     
    </hit>
    <critical-hit>
      <p>Erbarmungslos bohrt sich der Bolzen in eine ungeschützte Stelle deines Körpers! Die Schmerzen sind unbeschreiblich und zu allem Unglück war der Bolzen offenbar auch noch mit irgendeinem Kontaktgift bestrichen. Du fühlst dich auf einmal ganz schwach.</p>
      <set quality="ST" dec="5" expire="2 days"/>
    </critical-hit>
  </outcome>
</ranged-defence>

Eigene Ausgabetexte bei Gruppenquests

Standardmäßig findet in outcome ein Selektieren des betroffenen Helden statt (select-hero="true"). Dies kann ggf. mittels select-hero="false" abgestellt werden. Das folgende Beispiel zeigt eine mögliche Variante mit select-hero="true".

<ranged-defence type="all">
  <npc npcid="4" weapon="Leichte Armbrust" precision="15" shots="2" distance="30" />
  <outcome select-hero="true"><!-- select-hero ist standardmäßig auf true! -->
    <missed>
      <p>Der Bolzen verfehlt <get attribute="name" /> knapp.</p>
    </missed>
    <shielddefence>
      <p>Der Bolzen bohrt sich in das Schild von <get attribute="name" />!</p>
    </shielddefence>
    <dodge>
      <p><get attribute="name" /> kann dem Bolzen ausweichen.</p>
    </dodge>
    <hit>
      <p>Das Skelett ist einfach zu treffsicher, wie <get attribute="name" /> nun schmerzhaft erfahren muss! Und der Bolzen war offenbar auch noch mit irgendeinem Kontaktgift bestrichen. <get attribute="name" /> fühlt sich auf einmal ganz schwach.</p>
      <set quality="ST" dec="5" expire="2 days"/>     
    </hit>
    <critical-hit>
      <p>Erbarmungslos bohrt sich der Bolzen in eine ungeschützte Stelle! Die Schmerzen sind unbeschreiblich und zu allem Unglück war der Bolzen offenbar auch noch mit irgendeinem Kontaktgift bestrichen. <get attribute="name" /> fühlt sich auf einmal ganz schwach.</p>
      <set quality="ST" dec="5" expire="2 days"/>
    </critical-hit>
  </outcome>
</ranged-defence>

Beispielsammlung

Eine Sammlung weiterer Beispiele gibt es in diesem Zip, das auf dem Testserver ausgeführt werden kann: Datei:TestRangedDefence.zip (funktioniert Solo + Gruppe)