card names should not be lists
[naja.git] / data / location_decks / standard.yaml
1 description: "Standard location deck."
2
3 # This field is ignored, but it's a useful place to put some action definitions
4 # we can reference later.
5 _action_definitions:
6   # No-colour actions.
7   - &SET-BITS-DEFAULT
8     action_class: 'LoseHealthOrMSBAndSetBits'
9     required_bits: []
10   - &GAIN-HEALTH-DEFAULT
11     action_class: 'GainHealthAndClearBitsOrMSB'
12     required_bits: []
13   - &TOGGLE-BITS-DEFAULT
14     action_class: 'ToggleBits'
15     required_bits: []
16   - &BAD-DEFAULT
17     action_class: 'LoseHealthOrMSB'
18     required_bits: []
19
20   # One-colour actions.
21   - &SET-BITS-R
22     action_class: 'SetBits'
23     required_bits: [RED]
24   - &SET-BITS-G
25     action_class: 'SetBits'
26     required_bits: [GREEN]
27   - &SET-BITS-B
28     action_class: 'SetBits'
29     required_bits: [BLUE]
30
31   - &SHIFT-N
32     action_class: 'ShiftLocations'
33     required_bits: [BLUE]
34     data: {'direction': NORTH}
35   - &SHIFT-S
36     action_class: 'ShiftLocations'
37     required_bits: [BLUE]
38     data: {'direction': SOUTH}
39   - &SHIFT-E
40     action_class: 'ShiftLocations'
41     required_bits: [GREEN]
42     data: {'direction': EAST}
43   - &SHIFT-W
44     action_class: 'ShiftLocations'
45     required_bits: [GREEN]
46     data: {'direction': WEST}
47
48   - &ROT-CW
49     action_class: 'RotateLocations'
50     required_bits: [RED]
51     data: {'rot_direction': CLOCKWISE}
52   - &ROT-CCW
53     action_class: 'RotateLocations'
54     required_bits: [RED]
55     data: {'rot_direction': ANTICLOCKWISE}
56
57   # Two-colour actions.
58   - &KNIGHT-MOVE
59     action_class: 'AllowChessMove'
60     required_bits: [RED, GREEN]
61     data: {'chesspiece': KNIGHT}
62   - &CASTLE-MOVE
63     action_class: 'AllowChessMove'
64     required_bits: [RED, BLUE]
65     data: {'chesspiece': CASTLE}
66   - &BISHOP-MOVE
67     action_class: 'AllowChessMove'
68     required_bits: [GREEN, BLUE]
69     data: {'chesspiece': BISHOP}
70
71   - &HEAL-RG
72     action_class: 'GainHealth'
73     required_bits: [RED, GREEN]
74   - &HEAL-RB
75     action_class: 'GainHealth'
76     required_bits: [RED, BLUE]
77
78   - &BITSHIFT-L
79     action_class: 'ShiftBits'
80     required_bits: [RED, BLUE]
81     data: {
82       'direction': 'left',
83       'shift': 1,
84     }
85   - &BITSHIFT-R
86     action_class: 'ShiftBits'
87     required_bits: [GREEN, BLUE]
88     data: {
89       'direction': 'right',
90       'shift': 1,
91     }
92
93   # Three-colour actions.
94   - &ACQUIRE-WIN-TOKEN
95     action_class: 'AcquireWinToken'
96     required_bits: [RED, GREEN, BLUE]
97
98 # This field is ignored, but it's a useful place to put some card definitions
99 # we can reference later.
100 _card_definitions:
101   - &WIN-CARD-1
102     card_name: 'win1'
103     actions:
104       - *ACQUIRE-WIN-TOKEN
105   - &WIN-CARD-2
106     card_name: 'win2'
107     actions:
108       - *BAD-DEFAULT
109       - *ACQUIRE-WIN-TOKEN
110   - &WIN-CARD-3
111     card_name: 'win3'
112     actions:
113       - *SET-BITS-DEFAULT
114       - *ACQUIRE-WIN-TOKEN
115
116   - &KNIGHT-AND-SET
117     card_name: 'knight_set'
118     actions:
119       - *BAD-DEFAULT
120       - *SET-BITS-B
121       - *KNIGHT-MOVE
122   - &CASTLE-AND-SET
123     card_name: 'castle_set'
124     actions:
125       - *BAD-DEFAULT
126       - *SET-BITS-G
127       - *CASTLE-MOVE
128   - &BISHOP-AND-SET
129     card_name: 'bishop_set'
130     actions:
131       - *BAD-DEFAULT
132       - *SET-BITS-R
133       - *BISHOP-MOVE
134
135   - &TOGGLE-RG-R
136     card_name: 'toggle-rg-r'
137     bits: [RED, GREEN]  # Colour-blind robot!
138     actions:
139       - *GAIN-HEALTH-DEFAULT
140       - action_class: 'ToggleBits'
141         required_bits: [RED]
142       - action_class: 'SetBits'
143         required_bits: [GREEN, BLUE]
144   - &TOGGLE-RG-G
145     card_name: 'toggle-rg-g'
146     bits: [RED, GREEN]  # Colour-blind robot!
147     actions:
148       - *GAIN-HEALTH-DEFAULT
149       - action_class: 'ToggleBits'
150         required_bits: [GREEN]
151       - action_class: 'SetBits'
152         required_bits: [RED, BLUE]
153
154   - &SHIFT-N-AND-HEAL
155     card_name: 'shift-n-heal'
156     actions:
157       - *TOGGLE-BITS-DEFAULT
158       - *SHIFT-N
159       - *HEAL-RG
160   - &SHIFT-S-AND-HEAL
161     card_name: 'shift-s-heal'
162     actions:
163       - *TOGGLE-BITS-DEFAULT
164       - *SHIFT-S
165       - *HEAL-RG
166   - &SHIFT-E-AND-HEAL
167     card_name: 'shift-e-heal'
168     actions:
169       - *TOGGLE-BITS-DEFAULT
170       - *SHIFT-E
171       - *HEAL-RB
172   - &SHIFT-W-AND-HEAL
173     card_name: 'shift-w-heal'
174     actions:
175       - *TOGGLE-BITS-DEFAULT
176       - *SHIFT-W
177       - *HEAL-RB
178
179   - &ROT-CW-AND-SET
180     card_name: 'rot-cw-set'
181     actions:
182       - *TOGGLE-BITS-DEFAULT
183       - *ROT-CW
184       - *SET-BITS-B
185
186   - &ROT-CCW-AND-SET
187     card_name: 'rot-ccw-set'
188     actions:
189       - *TOGGLE-BITS-DEFAULT
190       - *ROT-CCW
191       - *SET-BITS-G
192
193   - &SHIFT-E-BITSHIFT
194     card_name: 'shift-e-bitshift'
195     actions:
196       - *SHIFT-E
197       - *BITSHIFT-R
198   - &SHIFT-W-BITSHIFT
199     card_name: 'shift-w-bitshift'
200     actions:
201       - *SHIFT-W
202       - *BITSHIFT-L
203
204 cards:
205   - *WIN-CARD-1
206   - *WIN-CARD-2
207   - *WIN-CARD-3
208   - *KNIGHT-AND-SET
209   - *CASTLE-AND-SET
210   - *BISHOP-AND-SET
211   - *TOGGLE-RG-R
212   - *TOGGLE-RG-G
213   - *SHIFT-N-AND-HEAL
214   - *SHIFT-S-AND-HEAL
215   - *SHIFT-E-AND-HEAL
216   - *SHIFT-W-AND-HEAL
217   - *SHIFT-E-BITSHIFT
218   - *SHIFT-W-BITSHIFT
219   - *ROT-CW-AND-SET
220   - *ROT-CCW-AND-SET