Ranged-Defence
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.
Inhaltsverzeichnis
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)