Unbreak the game by adding card_names to the yaml files
[naja.git] / data / location_decks / standard.yaml
index 5ea9a7607f19ec3f516f057487f29a2d374dd68f..885070edfb9d0530109048d1780b653b4970986d 100644 (file)
@@ -2,7 +2,7 @@ description: "Standard location deck."
 
 # This field is ignored, but it's a useful place to put some action definitions
 # we can reference later.
-_standard_actions:
+_action_definitions:
   # No-colour actions.
   - &SET-BITS-DEFAULT
     action_class: 'LoseHealthOrMSBAndSetBits'
@@ -45,6 +45,15 @@ _standard_actions:
     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'
@@ -66,78 +75,148 @@ _standard_actions:
     action_class: 'GainHealth'
     required_bits: [RED, BLUE]
 
+  - &BITSHIFT-L
+    action_class: 'ShiftBits'
+    required_bits: [RED, BLUE]
+    data: {
+      'direction': 'left',
+      'shift': 1,
+    }
+  - &BITSHIFT-R
+    action_class: 'ShiftBits'
+    required_bits: [GREEN, BLUE]
+    data: {
+      'direction': 'right',
+      'shift': 1,
+    }
+
   # Three-colour actions.
   - &ACQUIRE-WIN-TOKEN
     action_class: 'AcquireWinToken'
     required_bits: [RED, GREEN, BLUE]
 
-# This field is ignored, but it's a useful place to put some action definitions
+# This field is ignored, but it's a useful place to put some card definitions
 # we can reference later.
-_standard_cards:
+_card_definitions:
   - &WIN-CARD-1
+    card_name:
+      - 'win1'
     actions:
       - *ACQUIRE-WIN-TOKEN
   - &WIN-CARD-2
+    card_name:
+      - 'win2'
     actions:
       - *BAD-DEFAULT
       - *ACQUIRE-WIN-TOKEN
   - &WIN-CARD-3
+    card_name:
+      - 'win3'
     actions:
       - *SET-BITS-DEFAULT
       - *ACQUIRE-WIN-TOKEN
 
   - &KNIGHT-AND-SET
+    card_name:
+      - 'knight_set'
     actions:
       - *BAD-DEFAULT
       - *SET-BITS-B
       - *KNIGHT-MOVE
   - &CASTLE-AND-SET
+    card_name:
+      - 'castle_set'
     actions:
       - *BAD-DEFAULT
       - *SET-BITS-G
       - *CASTLE-MOVE
   - &BISHOP-AND-SET
+    card_name:
+      - 'bishop_set'
     actions:
       - *BAD-DEFAULT
       - *SET-BITS-R
       - *BISHOP-MOVE
 
   - &TOGGLE-RG-R
+    card_name:
+      - 'toggle-rg-r'
     bits: [RED, GREEN]  # Colour-blind robot!
     actions:
+      - *GAIN-HEALTH-DEFAULT
       - action_class: 'ToggleBits'
         required_bits: [RED]
       - action_class: 'SetBits'
         required_bits: [GREEN, BLUE]
   - &TOGGLE-RG-G
+    card_name:
+      - 'toggle-rg-g'
     bits: [RED, GREEN]  # Colour-blind robot!
     actions:
+      - *GAIN-HEALTH-DEFAULT
       - action_class: 'ToggleBits'
         required_bits: [GREEN]
       - action_class: 'SetBits'
         required_bits: [RED, BLUE]
 
   - &SHIFT-N-AND-HEAL
+    card_name:
+      - 'shift-n-heal'
     actions:
       - *TOGGLE-BITS-DEFAULT
       - *SHIFT-N
       - *HEAL-RG
   - &SHIFT-S-AND-HEAL
+    card_name:
+      - 'shift-s-heal'
     actions:
       - *TOGGLE-BITS-DEFAULT
       - *SHIFT-S
       - *HEAL-RG
   - &SHIFT-E-AND-HEAL
+    card_name:
+      - 'shift-e-heal'
     actions:
       - *TOGGLE-BITS-DEFAULT
       - *SHIFT-E
       - *HEAL-RB
   - &SHIFT-W-AND-HEAL
+    card_name:
+      - 'shift-w-heal'
     actions:
       - *TOGGLE-BITS-DEFAULT
       - *SHIFT-W
       - *HEAL-RB
 
+  - &ROT-CW-AND-SET
+    card_name:
+      - 'rot-cw-set'
+    actions:
+      - *TOGGLE-BITS-DEFAULT
+      - *ROT-CW
+      - *SET-BITS-B
+
+  - &ROT-CCW-AND-SET
+    card_name:
+      - 'rot-ccw-set'
+    actions:
+      - *TOGGLE-BITS-DEFAULT
+      - *ROT-CCW
+      - *SET-BITS-G
+
+  - &SHIFT-E-BITSHIFT
+    card_name:
+      - 'shift-e-bitshift'
+    actions:
+      - *SHIFT-E
+      - *BITSHIFT-R
+  - &SHIFT-W-BITSHIFT
+    card_name:
+      - 'shift-w-bitshift'
+    actions:
+      - *SHIFT-W
+      - *BITSHIFT-L
+
 cards:
   - *WIN-CARD-1
   - *WIN-CARD-2
@@ -151,3 +230,7 @@ cards:
   - *SHIFT-S-AND-HEAL
   - *SHIFT-E-AND-HEAL
   - *SHIFT-W-AND-HEAL
+  - *SHIFT-E-BITSHIFT
+  - *SHIFT-W-BITSHIFT
+  - *ROT-CW-AND-SET
+  - *ROT-CCW-AND-SET