Make chess puzzle level (Kasparov to F3) winnable.
[naja.git] / data / location_decks / puzzles / chess.yaml
index d98e400fdfe1524a6c203b53827ef384a33e0c08..1f96f70c2f0cf59d85d7392e5cff18b3287a7114 100644 (file)
@@ -1,56 +1,66 @@
 description: "Kasparov to F3"
 puzzle: true
 
+# This field is ignored, but it's a useful place to put some action definitions
+# we can reference later.
+_action_defitions:
+  - &PYRRHIC-VICTORY
+    action_class: GenericBits
+    required_bits: [RED, GREEN, BLUE]
+    data:
+      clear: [NORTH, SOUTH, EAST, WEST, RED, GREEN, BLUE, MSB]
+      acquire_win: true
+      lose_health: true
+      once: true
+  - &ORDINARY-VICTORY
+    action_class: GenericBits
+    required_bits: [RED, GREEN, BLUE]
+    data:
+      clear: [NORTH, SOUTH, EAST, WEST, RED, GREEN, BLUE, MSB]
+      acquire_win: true
+      lose_health: false
+      once: true
+
+
 # This field is ignored, but it's a useful place to put some card definitions
 # we can reference later.
 _card_definitions:
   - &CHESS-WIN-CARD-BISHOP
     card_name: 'chess-win-bishop'
+    bits: [NORTH, SOUTH, EAST, WEST, RED, GREEN, BLUE, MSB]
     actions:
       - action_class: AllowChessMove
         required_bits: []
         data:
           chesspiece: BISHOP
-      - action_class: GenericBits
-        required_bits: [RED, GREEN, BLUE]
-        data:
-          clear: [NORTH, SOUTH, EAST, WEST, RED, GREEN, BLUE, MSB]
-          acquire_win: true
-          lose_health: true
-          once: true
+      - *PYRRHIC-VICTORY
   - &CHESS-WIN-CARD-CASTLE
     card_name: 'chess-win-rook'
+    bits: [NORTH, SOUTH, EAST, WEST, RED, GREEN, BLUE, MSB]
     actions:
       - action_class: AllowChessMove
         required_bits: []
         data:
           chesspiece: CASTLE
-      - action_class: AcquireWinToken
-        required_bits: [RED, GREEN, BLUE]
-        data:
-          once: true
+      - *PYRRHIC-VICTORY
   - &CHESS-WIN-CARD-KNIGHT
     card_name: 'chess-win-knight'
+    bits: [NORTH, SOUTH, EAST, WEST, RED, GREEN, BLUE, MSB]
     actions:
       - action_class: AllowChessMove
         required_bits: []
         data:
           chesspiece: KNIGHT
-      - action_class: AcquireWinToken
-        required_bits: [RED, GREEN, BLUE]
-        data:
-          once: true
+      - *PYRRHIC-VICTORY
   - &CHESS-WIN-CARD-SEPPUKU
     card_name: 'chess-win-seppuku'
+    bits: [NORTH, SOUTH, EAST, WEST, RED, GREEN, BLUE, MSB]
     actions:
       - action_class: LoseHealthOrMSB
         required_bits: []
-      - action_class: AcquireWinToken
-        required_bits: [RED, GREEN, BLUE]
-        data:
-          once: true
-  - &TEST-BORING
-    card_name: 'test-boring'
+      - *ORDINARY-VICTORY
+  - &BORING
+    card_name: 'boring'
     actions:
       - action_class: DoNothing
         required_bits: []
@@ -65,69 +75,72 @@ _card_definitions:
         required_bits: [RED, GREEN, BLUE, MSB]
   - &CHESS-NORTH
     card_name: 'chess-north'
-    bits: [NORTH, EAST, WEST, RED]
+    bits: [NORTH, SOUTH, EAST, WEST, RED]
     actions:
       - action_class: GenericBits
         required_bits: []
         data:
           toggle: [RED]
           clear: [NORTH, EAST, WEST]
+          set: [SOUTH]
   - &CHESS-SOUTH
     card_name: 'chess-south'
-    bits: [SOUTH, EAST, WEST, RED, GREEN]
+    bits: [NORTH, SOUTH, EAST, WEST, RED, GREEN]
     actions:
       - action_class: GenericBits
         required_bits: []
         data:
           toggle: [RED, GREEN]
           clear: [SOUTH, EAST, WEST]
+          set: [NORTH]
   - &CHESS-EAST
     card_name: 'chess-east'
-    bits: [NORTH, SOUTH, EAST, RED, BLUE]
+    bits: [NORTH, SOUTH, EAST, WEST, RED, BLUE]
     actions:
       - action_class: GenericBits
         required_bits: []
         data:
           toggle: [RED, BLUE]
           clear: [NORTH, SOUTH, EAST]
-
+          set: [WEST]
   - &CHESS-WEST
     card_name: 'chess-west'
-    bits: [NORTH, SOUTH, WEST, BLUE, MSB]
+    bits: [NORTH, SOUTH, EAST, WEST, BLUE, MSB]
     actions:
       - action_class: GenericBits
         required_bits: []
         data:
           toggle: [BLUE, MSB]
           clear: [NORTH, SOUTH, WEST]
+          set: [EAST]
 
 cards:
   - *CHESS-WIN-CARD-BISHOP
-  - *TEST-BORING
-  - *TEST-BORING
-  - *TEST-BORING
+  - *BORING
+  - *BORING
+  - *BORING
   - *CHESS-WIN-CARD-KNIGHT
 
-  - *TEST-BORING
-  - *TEST-BORING
+  - *BORING
+  - *BORING
   - *CHESS-NORTH
-  - *TEST-BORING
-  - *TEST-BORING
+  - *BORING
+  - *BORING
 
-  - *TEST-BORING
+  - *BORING
   - *CHESS-WEST
   - *CHESS-CENTRE
   - *CHESS-EAST
-  - *TEST-BORING
+  - *BORING
 
-  - *TEST-BORING
-  - *TEST-BORING
+  - *BORING
+  - *BORING
   - *CHESS-SOUTH
-  - *TEST-BORING
-  - *TEST-BORING
+  - *BORING
+  - *BORING
 
   - *CHESS-WIN-CARD-CASTLE
-  - *TEST-BORING
-  - *TEST-BORING
-  - *TEST-BORING
+  - *BORING
+  - *BORING
+  - *BORING
   - *CHESS-WIN-CARD-SEPPUKU