Make chess puzzle level (Kasparov to F3) winnable.
[naja.git] / data / location_decks / puzzles / chess.yaml
index 03528df01df18071fd39ba4a7bde91f3adc207be..1f96f70c2f0cf59d85d7392e5cff18b3287a7114 100644 (file)
 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:
-  - &TEST-WIN-CARD
-    card_name: 'test-win'
+  - &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
+      - *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
+      - *PYRRHIC-VICTORY
+  - &CHESS-WIN-CARD-KNIGHT
+    card_name: 'chess-win-knight'
+    bits: [NORTH, SOUTH, EAST, WEST, RED, GREEN, BLUE, MSB]
     actions:
-      - action_class: 'AcquireWinToken'
-        required_bits: [RED, GREEN, BLUE]
-  - &TEST-BORING
-    card_name: 'test-boring'
+      - action_class: AllowChessMove
+        required_bits: []
+        data:
+          chesspiece: KNIGHT
+      - *PYRRHIC-VICTORY
+  - &CHESS-WIN-CARD-SEPPUKU
+    card_name: 'chess-win-seppuku'
+    bits: [NORTH, SOUTH, EAST, WEST, RED, GREEN, BLUE, MSB]
     actions:
-      - action_class: 'DoNothing'
+      - action_class: LoseHealthOrMSB
+        required_bits: []
+      - *ORDINARY-VICTORY
+  - &BORING
+    card_name: 'boring'
+    actions:
+      - action_class: DoNothing
         required_bits: []
   - &CHESS-CENTRE
     card_name: 'chess-centre'
     bits: [NORTH, SOUTH, EAST, WEST]
     actions:
-      - action_class: 'SetBits'
+      - action_class: SetBits
         required_bits: []
-      - action_class: 'AllowChessMove'
+      - action_class: AllowChessMove
         data: {'chesspiece': BISHOP}
         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'
+      - 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'
+      - 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'
+      - 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'
+      - action_class: GenericBits
         required_bits: []
         data:
           toggle: [BLUE, MSB]
           clear: [NORTH, SOUTH, WEST]
+          set: [EAST]
 
 cards:
-  - *TEST-WIN-CARD
-  - *TEST-BORING
-  - *TEST-BORING
-  - *TEST-BORING
-  - *TEST-WIN-CARD
+  - *CHESS-WIN-CARD-BISHOP
+  - *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
 
-  - *TEST-WIN-CARD
-  - *TEST-BORING
-  - *TEST-BORING
-  - *TEST-BORING
-  - *TEST-WIN-CARD
+  - *CHESS-WIN-CARD-CASTLE
+  - *BORING
+  - *BORING
+  - *BORING
+  - *CHESS-WIN-CARD-SEPPUKU