Grid iron.
[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   - &TOGGLE-BITS-HARM-DEFAULT
17     action_class: 'ToggleBitsAndHarm'
18     required_bits: []
19   - &BAD-DEFAULT
20     action_class: 'LoseHealthOrMSB'
21     required_bits: []
22   - &SET-MSB-DEFAULT
23     action_class: 'GainMSB'
24     required_bits: []
25
26   - &KNIGHT-MSB-DEFAULT
27     action_class: 'AllowChessMoveIfMSB'
28     required_bits: []
29     data: {'chesspiece': KNIGHT}
30   - &CASTLE-MSB-DEFAULT
31     action_class: 'AllowChessMoveIfMSB'
32     required_bits: []
33     data: {'chesspiece': CASTLE}
34   - &BISHOP-MSB-DEFAULT
35     action_class: 'AllowChessMoveIfMSB'
36     required_bits: []
37     data: {'chesspiece': BISHOP}
38
39   # One-colour actions.
40   - &SET-BITS-R
41     action_class: 'SetBits'
42     required_bits: [RED]
43   - &SET-BITS-G
44     action_class: 'SetBits'
45     required_bits: [GREEN]
46   - &SET-BITS-B
47     action_class: 'SetBits'
48     required_bits: [BLUE]
49
50   - &SHIFT-N
51     action_class: 'ShiftLocations'
52     required_bits: [BLUE]
53     data: {'direction': NORTH}
54   - &SHIFT-S
55     action_class: 'ShiftLocations'
56     required_bits: [BLUE]
57     data: {'direction': SOUTH}
58   - &SHIFT-E
59     action_class: 'ShiftLocations'
60     required_bits: [GREEN]
61     data: {'direction': EAST}
62   - &SHIFT-W
63     action_class: 'ShiftLocations'
64     required_bits: [GREEN]
65     data: {'direction': WEST}
66
67   - &ROT-CW
68     action_class: 'RotateLocations'
69     required_bits: [RED]
70     data: {'rot_direction': CLOCKWISE}
71   - &ROT-CCW
72     action_class: 'RotateLocations'
73     required_bits: [RED]
74     data: {'rot_direction': ANTICLOCKWISE}
75
76   # Two-colour actions.
77   - &KNIGHT-MOVE
78     action_class: 'AllowChessMove'
79     required_bits: [RED, GREEN]
80     data: {'chesspiece': KNIGHT}
81   - &CASTLE-MOVE
82     action_class: 'AllowChessMove'
83     required_bits: [RED, BLUE]
84     data: {'chesspiece': CASTLE}
85   - &BISHOP-MOVE
86     action_class: 'AllowChessMove'
87     required_bits: [GREEN, BLUE]
88     data: {'chesspiece': BISHOP}
89
90   - &HEAL-RG
91     action_class: 'GainHealth'
92     required_bits: [RED, GREEN]
93   - &HEAL-RB
94     action_class: 'GainHealth'
95     required_bits: [RED, BLUE]
96
97   - &BITSHIFT-L
98     action_class: 'ShiftBits'
99     required_bits: [RED, BLUE]
100     data: {
101       'direction': 'left',
102       'shift': 1,
103     }
104   - &BITSHIFT-R
105     action_class: 'ShiftBits'
106     required_bits: [GREEN, BLUE]
107     data: {
108       'direction': 'right',
109       'shift': 1,
110     }
111
112   # Three-colour actions.
113   - &ACQUIRE-WIN-TOKEN
114     action_class: 'AcquireWinToken'
115     required_bits: [RED, GREEN, BLUE]
116
117   # Three-colour actions.
118   - &ACQUIRE-WIN-TOKEN-AND-LOSE-HEALTH
119     action_class: 'AcquireWinTokenAndLoseHealth'
120     required_bits: [RED, GREEN, BLUE]
121
122 # This field is ignored, but it's a useful place to put some card definitions
123 # we can reference later.
124 _card_definitions:
125   - &WIN-CARD-1
126     card_name: 'win1'
127     max_number: 1
128     actions:
129       - *BAD-DEFAULT
130       - *ACQUIRE-WIN-TOKEN
131   - &WIN-CARD-2
132     card_name: 'win2'
133     max_number: 2
134     actions:
135       - *BAD-DEFAULT
136       - *ACQUIRE-WIN-TOKEN-AND-LOSE-HEALTH
137   - &WIN-CARD-3
138     card_name: 'win3'
139     max_number: 1
140     actions:
141       - *SET-BITS-DEFAULT
142       - *ACQUIRE-WIN-TOKEN
143
144   - &KNIGHT-AND-SET
145     card_name: 'knight_set'
146     actions:
147       - *SET-MSB-DEFAULT
148       - *SET-BITS-B
149       - *KNIGHT-MOVE
150   - &CASTLE-AND-SET
151     card_name: 'castle_set'
152     actions:
153       - *SET-MSB-DEFAULT
154       - *SET-BITS-G
155       - *CASTLE-MOVE
156   - &BISHOP-AND-SET
157     card_name: 'bishop_set'
158     actions:
159       - *SET-MSB-DEFAULT
160       - *SET-BITS-R
161       - *BISHOP-MOVE
162
163   - &BISHOP-SET-KNIGHT
164     card_name: 'bishop_set_knight'
165     actions:
166       - *BISHOP-MSB-DEFAULT
167       - *SET-BITS-B
168       - *KNIGHT-MOVE
169   - &KNIGHT-SET-CASTLE
170     card_name: 'knight_set_castle'
171     actions:
172       - *KNIGHT-MSB-DEFAULT
173       - *SET-BITS-G
174       - *CASTLE-MOVE
175   - &CASTLE-SET-BISHOP
176     card_name: 'castle_set_bishop'
177     actions:
178       - *CASTLE-MSB-DEFAULT
179       - *SET-BITS-R
180       - *BISHOP-MOVE
181
182   - &TOGGLE-RG-R
183     card_name: 'toggle-rg-r'
184     bits: [RED, GREEN]  # Colour-blind robot!
185     actions:
186       - *GAIN-HEALTH-DEFAULT
187       - action_class: 'ToggleBits'
188         required_bits: [RED]
189       - action_class: 'SetBits'
190         required_bits: [GREEN, BLUE]
191   - &TOGGLE-RG-G
192     card_name: 'toggle-rg-g'
193     bits: [RED, GREEN]  # Colour-blind robot!
194     actions:
195       - *GAIN-HEALTH-DEFAULT
196       - action_class: 'ToggleBits'
197         required_bits: [GREEN]
198       - action_class: 'SetBits'
199         required_bits: [RED, BLUE]
200
201   - &SHIFT-N-AND-HEAL
202     card_name: 'shift-n-heal'
203     actions:
204       - *TOGGLE-BITS-DEFAULT
205       - *SHIFT-N
206       - *HEAL-RG
207   - &SHIFT-S-AND-HEAL
208     card_name: 'shift-s-heal'
209     actions:
210       - *TOGGLE-BITS-DEFAULT
211       - *SHIFT-S
212       - *HEAL-RG
213   - &SHIFT-E-AND-HEAL
214     card_name: 'shift-e-heal'
215     actions:
216       - *TOGGLE-BITS-DEFAULT
217       - *SHIFT-E
218       - *HEAL-RB
219   - &SHIFT-W-AND-HEAL
220     card_name: 'shift-w-heal'
221     actions:
222       - *TOGGLE-BITS-DEFAULT
223       - *SHIFT-W
224       - *HEAL-RB
225
226   - &SHIFT-N-AND-HARM
227     card_name: 'shift-n-harm'
228     actions:
229       - *TOGGLE-BITS-HARM-DEFAULT
230       - *SHIFT-N
231       - *HEAL-RG
232   - &SHIFT-S-AND-HARM
233     card_name: 'shift-s-harm'
234     actions:
235       - *TOGGLE-BITS-HARM-DEFAULT
236       - *SHIFT-S
237       - *HEAL-RG
238   - &SHIFT-E-AND-HARM
239     card_name: 'shift-e-harm'
240     actions:
241       - *TOGGLE-BITS-HARM-DEFAULT
242       - *SHIFT-E
243       - *HEAL-RB
244   - &SHIFT-W-AND-HARM
245     card_name: 'shift-w-harm'
246     actions:
247       - *TOGGLE-BITS-HARM-DEFAULT
248       - *SHIFT-W
249       - *HEAL-RB
250
251   - &ROT-CW-AND-SET
252     card_name: 'rot-cw-set'
253     actions:
254       - *TOGGLE-BITS-DEFAULT
255       - *ROT-CW
256       - *SET-BITS-B
257
258   - &ROT-CCW-AND-SET
259     card_name: 'rot-ccw-set'
260     actions:
261       - *TOGGLE-BITS-DEFAULT
262       - *ROT-CCW
263       - *SET-BITS-G
264
265   - &SHIFT-E-BITSHIFT
266     card_name: 'shift-e-bitshift'
267     actions:
268       - *SHIFT-E
269       - *BITSHIFT-R
270   - &SHIFT-W-BITSHIFT
271     card_name: 'shift-w-bitshift'
272     actions:
273       - *SHIFT-W
274       - *BITSHIFT-L
275
276   - &MEAN-CARD
277     card_name: 'mean-card'
278     actions:
279       - *BAD-DEFAULT
280
281   - &REALLY-MEAN-CARD
282     card_name: 'mean-card'
283     actions:
284       - action_class: 'ClearBitsAndHealth'
285         required_bits: []
286       - action_class: 'LoseHealthOrMSB'
287         required_bits: [RED]
288
289 cards:
290   - *WIN-CARD-1
291   - *WIN-CARD-2
292   - *WIN-CARD-3
293   - *KNIGHT-AND-SET
294   - *CASTLE-AND-SET
295   - *BISHOP-AND-SET
296   - *BISHOP-SET-KNIGHT
297   - *KNIGHT-SET-CASTLE
298   - *CASTLE-SET-BISHOP
299   - *TOGGLE-RG-R
300   - *TOGGLE-RG-G
301   - *SHIFT-N-AND-HEAL
302   - *SHIFT-S-AND-HEAL
303   - *SHIFT-E-AND-HEAL
304   - *SHIFT-W-AND-HEAL
305   - *SHIFT-N-AND-HARM
306   - *SHIFT-S-AND-HARM
307   - *SHIFT-E-AND-HARM
308   - *SHIFT-W-AND-HARM
309   - *SHIFT-E-BITSHIFT
310   - *SHIFT-W-BITSHIFT
311   - *ROT-CW-AND-SET
312   - *ROT-CCW-AND-SET
313   - *MEAN-CARD
314   - *REALLY-MEAN-CARD
315
316 replacement_params:
317   chance: 0.2
318   min: 4
319   max: 8