Switch to full style
Thema gesperrt

Fight: Flucht des Gegners beachten

Di 21 Jun, 2011 17:09

Bei vielen ZBs gibt's ja das Problem, dass am Ende behauptet wird, der Gegner wäre gestorben, obwohl er eigentlich geflohen ist.

Ich schlage vor, fight, besser gesagt den victory-Tag, wie folgt zu erweitern:
Code:
<fight>
  <rivals>
    <npc npcid="7" name="Ork" escape="true"/>
    <npc npcid="8" name="Oger" escape="true"/>
  </rivals>
  <victory min-escaped="2">
    Held hat gewonnen und alle beide sind geflohen.
  </victory>
  <victory min-escaped="1">
    Held hat gewonnen und einer ist geflohen.
  </victory>
  <victory>
   Wird ausgeführt, wenn Held gewonnen hat und kein anderer victory-Zweig greift
  </victory>
  <escape>
    Held ist geflohen.
   </escape>
  <defeat>
    Held wurde besiegt.
  </defeat>
</fight>

min-escaped gibt also eine Anzahl an Gegnern, die geflohen sind. Das hat den Nachteil, dass man nicht genau weiß, wer geflohen ist, aber brauchen wir das?

Alternativ könnte ich mir auch folgendes vorstellen:
Code:
<fight>
  <rivals>
    <npc npcid="7" name="Ork" escape="true"/>
    <npc npcid="8" name="Oger" escape="true"/>
  </rivals>
  <victory escaped="1+2">
    Held hat gewonnen und alle beide sind geflohen.
  </victory>
  <victory escaped="1">
    Held hat gewonnen und der Ork ist geflohen.
  </victory>
  <victory escaped="2">
    Held hat gewonnen und der Oger ist geflohen.
  </victory>
  <victory escaped="1|2">
    Held hat gewonnen und Ork oder Oger ist geflohen (würde in diesem Beispiel nie greifen, weil der Fall bereits abgeklopft wurde).
  </victory>
  <victory>
   Wird ausgeführt, wenn Held gewonnen hat und kein anderer victory-Zweig greift
  </victory>
  <escape>
    Held ist geflohen.
   </escape>
  <defeat>
    Held wurde besiegt.
  </defeat>
</fight>

Die Zahlen 1 und 2 in escaped beziehen sich dabei auf die Reihenfolge des npc-Tags in rivals.


Noch wichtig: Es wird im Siegesfall nur ein victory-Zweig ausgeführt, niemals mehrere.
Bestehende ZB und Questen würden nicht ungültig werden, weil im Notfall immer der normale victory-Zweig ausgeführt wird.

Brauchen wir noch etwas?

Re: Fight: Flucht des Gegners beachten

Di 21 Jun, 2011 17:19

Wäre nicht sinnvoller, wenn man innerhalb eines fight-Tags, also in den Unterzweigen, abfragen könnte, wer geflohen ist?

Re: Fight: Flucht des Gegners beachten

Di 21 Jun, 2011 17:23

Ja, an sich schon.
Wie machen wir das am besten?

Re: Fight: Flucht des Gegners beachten

Di 21 Jun, 2011 18:00

Ich würde Variablen mit Szenen-Scope belegen: ${npc:Vergebener Name} oder ${npc:#1}, darin steht dann entweder der Status "escaped", "dead" etc. oder direkt Variable mit dem Status: ${npc:Vergebener Name:escaped} mit true/false. Was wäre praktischer?

Abfragen kann man dann ja mit Switch. Will man den Status über die Szene hinaus retten, müsste man die Werte in eigenen Variablen speichern.

Re: Fight: Flucht des Gegners beachten

Di 21 Jun, 2011 18:28

Gute Idee, so machen wir das!
Sagen wir
npc:#1:status -> 'dead', 'live', 'escaped'
npc:#1:health -> Zahlenwert
npc:#1:wounds -> Zahlenwert

Re: Fight: Flucht des Gegners beachten

Di 21 Jun, 2011 18:39

"Der Wegelagerer flieht halbtot mit mittelschwerer Beinwunde."


Langsam wird die Ergebnisauswertung der Kämpfe detailliert - und eklich... :o_O:

Re: Fight: Flucht des Gegners beachten

Mi 22 Jun, 2011 07:57

Muss man ja nur nutzen wo es vom Text her passen soll.
Thema gesperrt