AOQML Fernkampf-Funktion

Re: AOQML Fernkampf-Funktion

Beitragvon proser » Fr 14 Jun, 2013 08:30

Müsste es im Schema beim neuen Element "ranged-defence" nicht heißen <xs:element ref="npcRanger"/>? Bei dem derzeit verwendeten "group" bekomme ich eine Fehlermeldung für das gesamte XSD.

Spoiler:
Wenn es nur wieder Visual Studio betrifft, bitte ignorieren.
0===[:::::::::::::::::::::::::::::::::><:::::::::::::::::::::::::::::::::]===0
Benutzeravatar
proser
Marschall
Marschall
 
Beiträge: 4140
Registriert: Do 14 Dez, 2006 13:33
Wohnort: Hamburch
Heldenname: Streifer

Re: AOQML Fernkampf-Funktion

Beitragvon Gaddezwerch » Fr 14 Jun, 2013 11:34

hast Recht.
:meidetdasorkland: <-- Das meine ich ernst! Wirklich!
Gaddezwerch
Programmierer
Programmierer
 
Beiträge: 4848
Registriert: Fr 18 Mai, 2007 00:04
Heldenname: Alos Traken

Re: AOQML Fernkampf-Funktion

Beitragvon proser » Mi 19 Jun, 2013 09:04

Als Unter-Tag von <ranged-defence> scheint die Engine auf dem Test-Server <npc> zu verwenden. Im Schema ist es <npcRanger>. Vermutlich kann man das dort nicht anders machen, weil <npc> schon für <fight> existiert. Wird <npcRanger> oder <npc> gelten?



Außerdem wollte ich gerne EP für ein erfolgreiches Ausweichen vergeben. Dafür habe ich mir Folgendes gedacht:
Code: Alles auswählen
<store name="merkLE" scope="scene"><get attribute="LEP" /></store>

<ranged-defence type="all">
  <npc npcid="525" precision="20" weapon="Windenarmbrust" bullet="Armbrust-Kriegsbolzen" distance="30...40" />
</ranged-defence>

<switch attribute="LEP">
  <case val="${merkLE}">
    <p>Der Schütze richtet keinen Schaden an.</p>
    <set name="questEP" inc="3" show="none" />
  </case>
  <else>
    <p>Leider wirst du getroffen.</p>
  </else>
</switch>

Aber bei dieser Variante könnte ja auch der Angriff fehlgeschlagen sein, oder der Treffer hat die Rüstung nicht durchschlagen. Beides irgendwie nicht belohnenswert. Hat jemand eine andere Idee?
Spoiler:
Oder neue Untertags: attack-failure, (defence-)success, (defence-)failure?
0===[:::::::::::::::::::::::::::::::::><:::::::::::::::::::::::::::::::::]===0
Benutzeravatar
proser
Marschall
Marschall
 
Beiträge: 4140
Registriert: Do 14 Dez, 2006 13:33
Wohnort: Hamburch
Heldenname: Streifer

Re: AOQML Fernkampf-Funktion

Beitragvon Gaddezwerch » Mi 19 Jun, 2013 10:56

jo npcRanger im Schema ist ein Fehler, es muss npc sein.

Ich werde ranged-defence demnächst erweitern:

Code: Alles auswählen
<ranged-defence type="all">
  <npc npcid="842" weapon="Leichte Armbrust" precision="14" distance="12" bullet="Armbrust-Kriegsbolzen" shots="1" />
  <outcome>
    <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><strong>Kritischer Treffer!</strong> 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>


Das outcome-Subtag kann man dann entweder 'global' für alle NPC im Kampf angeben, wie im Beispiel, oder man kann es auch pro NPC separat einstellen, wenn NPC-individuelle Texte erscheinen sollen.
Code: Alles auswählen
<npc ...>
   <outcome>
    <shielddefence>...</shielddefence>
  </outcome>
</npc>


Für Gruppen kann man dann einstellen:
Code: Alles auswählen
<outcome select-hero="true">
um immer den gerade attackierten Held zu selektieren.
:meidetdasorkland: <-- Das meine ich ernst! Wirklich!
Gaddezwerch
Programmierer
Programmierer
 
Beiträge: 4848
Registriert: Fr 18 Mai, 2007 00:04
Heldenname: Alos Traken

Re: AOQML Fernkampf-Funktion

Beitragvon Gaddezwerch » So 15 Dez, 2013 12:07

Ich habe (bereits vor einiger Zeit) Ranged-Defence um <outcome> erweitert, wie im vorherigen Beitrag beschrieben.
Nur eine npc-spezifische Ausgabe habe ich jetzt nicht eingebaut, das lohnt aktuell den Aufwand nicht, so häufig wird der Tag ja nicht benutzt ... gibt da im Moment wichtigeres.
:meidetdasorkland: <-- Das meine ich ernst! Wirklich!
Gaddezwerch
Programmierer
Programmierer
 
Beiträge: 4848
Registriert: Fr 18 Mai, 2007 00:04
Heldenname: Alos Traken

Re: AOQML Fernkampf-Funktion

Beitragvon neonix » So 15 Dez, 2013 12:31

Ich habe mich jetzt erst vor kurzem um ranged-defence gekümmert und finde es eigentlich schon sehr gut nutzbar. Jedenfalls von der Programmierung her.

Nützlich wäre noch eine Möglichkeit, eine primäre Fernwaffe unter Kampf festzulegen, während die Hände weiter mit Nahkampfwaffen belegt bleiben. Dann könnte man zumindest mal Name der Waffe und ggf. Reichweite etc. per aoqml auslesen. Ist ja, so weit ich weiß, alles schon seit Äonen in der DB gespeichert.

Wenn man aus ranged-defense ein ranged-attack bastelt bliebe wohl noch das Problem, den entstandenen Schaden komfortabel beim NSC zu speichern und auszuwerten, oder? Ansonsten hätten wir dann immerhin schon mal einen provisorischen Fernkampf fertig und könnten die problematischen Sachen wie taktische Bewegung, Deckung, Sicht etc. jeweils den Schreibern überlassen.

Nächstes Jahr irgendwann. :wink:
Zufallszauberer und Questenschmied.
Kanzler Westendar und Vizekanzler Flora & Fauna.
Ansonsten verantwortlich für Rastfunktion, Mietstall, Tempel, Gosse, Söldnerlager, Blutrabe, Kommandantur ET, Alte Kaserne, diverse Gegenstandsquesten und so weiter...
Benutzeravatar
neonix
Erzmarschall
Erzmarschall
 
Beiträge: 5077
Registriert: Di 11 Dez, 2007 11:33
Wohnort: Braunschweig
Heldenname: Marquez Santarosa
Mitglied bei: Helden Schurken Suchende

Vorherige

Zurück zu Antamar®-Archiv



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste