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