Start folder for puzzle decks.
[naja.git] / data / location_decks / puzzles / test.yaml
diff --git a/data/location_decks/puzzles/test.yaml b/data/location_decks/puzzles/test.yaml
new file mode 100644 (file)
index 0000000..33dc902
--- /dev/null
@@ -0,0 +1,133 @@
+description: "Test Puzzle"
+puzzle: true
+
+# This field is ignored, but it's a useful place to put some action definitions
+# we can reference later.
+_action_definitions:
+  # No-colour actions.
+  - &SET-BITS-DEFAULT
+    action_class: 'LoseHealthOrMSBAndSetBits'
+    required_bits: []
+  - &GAIN-HEALTH-DEFAULT
+    action_class: 'GainHealthAndClearBitsOrMSB'
+    required_bits: []
+  - &TOGGLE-BITS-DEFAULT
+    action_class: 'ToggleBits'
+    required_bits: []
+  - &BAD-DEFAULT
+    action_class: 'LoseHealthOrMSB'
+    required_bits: []
+
+  # One-colour actions.
+  - &SET-BITS-R
+    action_class: 'SetBits'
+    required_bits: [RED]
+  - &SET-BITS-G
+    action_class: 'SetBits'
+    required_bits: [GREEN]
+  - &SET-BITS-B
+    action_class: 'SetBits'
+    required_bits: [BLUE]
+
+  - &SHIFT-N
+    action_class: 'ShiftLocations'
+    required_bits: [BLUE]
+    data: {'direction': NORTH}
+  - &SHIFT-S
+    action_class: 'ShiftLocations'
+    required_bits: [BLUE]
+    data: {'direction': SOUTH}
+  - &SHIFT-E
+    action_class: 'ShiftLocations'
+    required_bits: [GREEN]
+    data: {'direction': EAST}
+  - &SHIFT-W
+    action_class: 'ShiftLocations'
+    required_bits: [GREEN]
+    data: {'direction': WEST}
+
+  - &ROT-CW
+    action_class: 'RotateLocations'
+    required_bits: [RED]
+    data: {'rot_direction': CLOCKWISE}
+  - &ROT-CCW
+    action_class: 'RotateLocations'
+    required_bits: [RED]
+    data: {'rot_direction': ANTICLOCKWISE}
+
+  # Two-colour actions.
+  - &KNIGHT-MOVE
+    action_class: 'AllowChessMove'
+    required_bits: [RED, GREEN]
+    data: {'chesspiece': KNIGHT}
+  - &CASTLE-MOVE
+    action_class: 'AllowChessMove'
+    required_bits: [RED, BLUE]
+    data: {'chesspiece': CASTLE}
+  - &BISHOP-MOVE
+    action_class: 'AllowChessMove'
+    required_bits: [GREEN, BLUE]
+    data: {'chesspiece': BISHOP}
+
+  - &HEAL-RG
+    action_class: 'GainHealth'
+    required_bits: [RED, GREEN]
+  - &HEAL-RB
+    action_class: 'GainHealth'
+    required_bits: [RED, BLUE]
+
+  # Three-colour actions.
+  - &ACQUIRE-WIN-TOKEN
+    action_class: 'AcquireWinToken'
+    required_bits: [RED, GREEN, BLUE]
+
+  # Test actions
+  - &TEST-WIN
+    action_class: 'AcquireWinToken'
+    required_bits: []
+  - &TEST-NULL
+    action_class: 'DoNothing'
+    required_bits: []
+
+# 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'
+    actions:
+      - *TEST-WIN
+  - &TEST-BORING
+    card_name: 'test-boring'
+    actions:
+      - *TEST-NULL
+
+cards:
+  - *TEST-WIN-CARD
+  - *TEST-BORING
+  - *TEST-BORING
+  - *TEST-BORING
+  - *TEST-WIN-CARD
+
+  - *TEST-BORING
+  - *TEST-BORING
+  - *TEST-BORING
+  - *TEST-BORING
+  - *TEST-BORING
+
+  - *TEST-BORING
+  - *TEST-BORING
+  - *TEST-BORING
+  - *TEST-BORING
+  - *TEST-BORING
+
+  - *TEST-BORING
+  - *TEST-BORING
+  - *TEST-BORING
+  - *TEST-BORING
+  - *TEST-BORING
+
+  - *TEST-WIN-CARD
+  - *TEST-BORING
+  - *TEST-BORING
+  - *TEST-BORING
+  - *TEST-WIN-CARD