Unbreak the game by adding card_names to the yaml files
[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:
103       - 'win1'
104     actions:
105       - *ACQUIRE-WIN-TOKEN
106   - &WIN-CARD-2
107     card_name:
108       - 'win2'
109     actions:
110       - *BAD-DEFAULT
111       - *ACQUIRE-WIN-TOKEN
112   - &WIN-CARD-3
113     card_name:
114       - 'win3'
115     actions:
116       - *SET-BITS-DEFAULT
117       - *ACQUIRE-WIN-TOKEN
118
119   - &KNIGHT-AND-SET
120     card_name:
121       - 'knight_set'
122     actions:
123       - *BAD-DEFAULT
124       - *SET-BITS-B
125       - *KNIGHT-MOVE
126   - &CASTLE-AND-SET
127     card_name:
128       - 'castle_set'
129     actions:
130       - *BAD-DEFAULT
131       - *SET-BITS-G
132       - *CASTLE-MOVE
133   - &BISHOP-AND-SET
134     card_name:
135       - 'bishop_set'
136     actions:
137       - *BAD-DEFAULT
138       - *SET-BITS-R
139       - *BISHOP-MOVE
140
141   - &TOGGLE-RG-R
142     card_name:
143       - 'toggle-rg-r'
144     bits: [RED, GREEN]  # Colour-blind robot!
145     actions:
146       - *GAIN-HEALTH-DEFAULT
147       - action_class: 'ToggleBits'
148         required_bits: [RED]
149       - action_class: 'SetBits'
150         required_bits: [GREEN, BLUE]
151   - &TOGGLE-RG-G
152     card_name:
153       - 'toggle-rg-g'
154     bits: [RED, GREEN]  # Colour-blind robot!
155     actions:
156       - *GAIN-HEALTH-DEFAULT
157       - action_class: 'ToggleBits'
158         required_bits: [GREEN]
159       - action_class: 'SetBits'
160         required_bits: [RED, BLUE]
161
162   - &SHIFT-N-AND-HEAL
163     card_name:
164       - 'shift-n-heal'
165     actions:
166       - *TOGGLE-BITS-DEFAULT
167       - *SHIFT-N
168       - *HEAL-RG
169   - &SHIFT-S-AND-HEAL
170     card_name:
171       - 'shift-s-heal'
172     actions:
173       - *TOGGLE-BITS-DEFAULT
174       - *SHIFT-S
175       - *HEAL-RG
176   - &SHIFT-E-AND-HEAL
177     card_name:
178       - 'shift-e-heal'
179     actions:
180       - *TOGGLE-BITS-DEFAULT
181       - *SHIFT-E
182       - *HEAL-RB
183   - &SHIFT-W-AND-HEAL
184     card_name:
185       - 'shift-w-heal'
186     actions:
187       - *TOGGLE-BITS-DEFAULT
188       - *SHIFT-W
189       - *HEAL-RB
190
191   - &ROT-CW-AND-SET
192     card_name:
193       - 'rot-cw-set'
194     actions:
195       - *TOGGLE-BITS-DEFAULT
196       - *ROT-CW
197       - *SET-BITS-B
198
199   - &ROT-CCW-AND-SET
200     card_name:
201       - 'rot-ccw-set'
202     actions:
203       - *TOGGLE-BITS-DEFAULT
204       - *ROT-CCW
205       - *SET-BITS-G
206
207   - &SHIFT-E-BITSHIFT
208     card_name:
209       - 'shift-e-bitshift'
210     actions:
211       - *SHIFT-E
212       - *BITSHIFT-R
213   - &SHIFT-W-BITSHIFT
214     card_name:
215       - 'shift-w-bitshift'
216     actions:
217       - *SHIFT-W
218       - *BITSHIFT-L
219
220 cards:
221   - *WIN-CARD-1
222   - *WIN-CARD-2
223   - *WIN-CARD-3
224   - *KNIGHT-AND-SET
225   - *CASTLE-AND-SET
226   - *BISHOP-AND-SET
227   - *TOGGLE-RG-R
228   - *TOGGLE-RG-G
229   - *SHIFT-N-AND-HEAL
230   - *SHIFT-S-AND-HEAL
231   - *SHIFT-E-AND-HEAL
232   - *SHIFT-W-AND-HEAL
233   - *SHIFT-E-BITSHIFT
234   - *SHIFT-W-BITSHIFT
235   - *ROT-CW-AND-SET
236   - *ROT-CCW-AND-SET