Seite 1 von 1

Zweitschlechtestes Gruppenmitglied

BeitragVerfasst: Do 22 Okt, 2020 23:16
von lordhelix
HI,

gibt es eine Möglichkeit die Engine dahingehend zu erweitrn, das ich in Gruppen neben Worst und Best auch secondBest und secondWorst auslesen kann?


Konkret habe ich eine Ausweichenprobe gegen zwei Wurfwaffen. Die zwei schlechtesten Helden (sofern Probe missglungen) werden getroffen. Ich erhalte über worst jedoch nur den schlechtesten.

Re: Zweitschlechtestes Gruppenmitglied

BeitragVerfasst: Fr 23 Okt, 2020 08:38
von Tommek
Wäre das nicht ein klassischer Fall für ein random? Und für überraschende Fernangeriffe gibt es sonst ranged-defence

Re: Zweitschlechtestes Gruppenmitglied

BeitragVerfasst: Fr 23 Okt, 2020 10:13
von lordhelix
Meine Lösung:

Code: Alles auswählen

<p>Als er hört wie ihr eure Waffen zieht, dreht er sich blitzschnell um und wirft euch zwei Dolche entgegen.</p>
<for all="${sys:heroes}" name="heldid">
   <select hero="${heldid}"/>
   <switch name="helden-getroffen">
   <null>
      <!-- Wenn noch kein Held getroffen -->
      <challenge quality="AUSWEICHEN" mod="8" >
      <success>
      </success>
      <failure>
         <store name="held-1" scope="scene"><get attribute="name"/></store>
         <store name="helden-getroffen" scope="scene">1</store>
      </failure>
    </challenge>
   </null>
   <case val="1">
      <!-- Wenn mittlerweile 1 Held getroffen -->
      <challenge quality="AUSWEICHEN" mod="8" >
      <success>
      </success>
      <failure>
         <store name="held-2" scope="scene"><get attribute="name"/></store>
        <store name="helden-getroffen" scope="scene">2</store>
      </failure>
    </challenge>
   </case>
   <case val="2">
      <!-- Wenn 2 Helden getroffen wird nichts weiter ausgeführt -->
   </case>
 </switch>
</for>
<!-- Auswertung und Ausgabe wieviele Helden UND welche Helden getroffen wurden -->
<switch name="helden-getroffen">
  <null>
     <!-- Alle Helden sind ausgewichen -->
  </null>
  <case val="1">
     <!-- ${held-1} wird getroffen -->
  </case>
  <case val="2">
     <!-- ${held-1} und ${held-2} werden getroffen -->
  </case>
</switch>