9ccd896a609824154ab163184bb598a3e75ee236
[naja.git] / data / location_decks / introduction.yaml
1 description: "Introduction"
2 puzzle: true
3
4 # This field is ignored, but it's a useful place to put some action definitions
5 # we can reference later.
6 _action_definitions:
7   - &NULL-ACTION
8     action_class: 'DoNothing'
9     required_bits: []
10     data:
11       message: "Nothing to see here."
12
13   - &NULL-CARD
14     card_name: 'null'
15     actions:
16       - *NULL-ACTION
17
18   - &STEP1-ACTION
19     action_class: 'DoNothing'
20     required_bits: []
21     data:
22       message: "Welcome to the tutorial! You can select any tile, but only move {NORTH,SOUTH,EAST} or {WEST} if those bits are set -- allowed tiles are chequered.\nRight now you can stay on this tile or move {EAST}.\nSelect {EAST} tile and press {RETURN}."
23
24   - &STEP1-CARD
25     card_name: 'step1'
26     actions:
27       - *STEP1-ACTION
28
29   - &STEP2-ACTION
30     action_class: 'SetBits'
31     required_bits: []
32     data:
33       message: "Moving to a tile requires picking an action. This tile has 2 actions. Both this tile's actions set bits on your robot, the {SOUTH} bit."
34
35   - &STEP2-ACTION-NULL
36     action_class: 'SetBits'
37     required_bits: []
38     data:
39       message: "This is the second choice."
40
41   - &STEP2-CARD
42     card_name: 'step2'
43     bits: [SOUTH]
44     actions:
45       - *STEP2-ACTION
46       - *STEP2-ACTION-NULL
47
48   - &STEP3-ACTION
49     action_class: 'ClearBits'
50     required_bits: []
51     data:
52       message: "Other tiles' actions clear bits. This will clear {SOUTH} or {EAST}.\nFor the next part of the tutorial, we are going to control your movement bits strictly, so you don't get lost."
53
54   - &STEP3-CARD-1
55     card_name: 'step3-1'
56     bits: [SOUTH, WEST]
57     actions:
58       - *STEP3-ACTION
59
60   - &STEP3-CARD-2
61     card_name: 'step3-2'
62     bits: [EAST]
63     actions:
64       - *STEP3-ACTION
65
66   - &STEP4-ACTION
67     action_class: 'SetBits'
68     required_bits: []
69     data:
70       message: "There are key bits that can be set, such as {RED}. They may be required by actions.\nThis action also sets {EAST,SOUTH}."
71
72   - &STEP4-CARD
73     card_name: 'step4'
74     bits: [RED, SOUTH, EAST]
75     actions:
76       - *STEP4-ACTION
77
78   - &STEP5-ACTION-BLUE
79     action_class: 'GenericBits'
80     required_bits: [BLUE]
81     data:
82       message: "You need to have the {BLUE} bit to use this action and continue.\nSome actions have more complex requirements."
83       set: [EAST]
84       clear: [NORTH, SOUTH, WEST]
85
86   - &STEP5-ACTION-DEFAULT
87     action_class: 'GenericBits'
88     required_bits: []
89     data:
90       message: "Go back.\nSet {WEST}. Clear {NORTH,SOUTH,EAST}."
91       set: [WEST]
92       clear: [EAST, SOUTH, NORTH]
93
94   - &STEP5-CARD
95     card_name: 'step5'
96     bits: [NORTH, SOUTH, EAST, WEST]
97     actions:
98       - *STEP5-ACTION-BLUE
99       - *STEP5-ACTION-DEFAULT
100
101   - &STEP6-ACTION-RED
102     action_class: 'GenericBits'
103     required_bits: [RED]
104     data:
105       message: "You need to have the {RED} bit to use this action to set the {BLUE} bit."
106       set: [NORTH, BLUE]
107       clear: [SOUTH, EAST, WEST]
108
109   - &STEP6-ACTION-DEFAULT
110     action_class: 'GenericBits'
111     required_bits: []
112     data:
113       message: "This action doesn't require anything. Go back.\nSet {NORTH}. Clear {SOUTH,EAST,WEST}."
114       set: [NORTH]
115       clear: [SOUTH, EAST, WEST]
116
117   - &STEP6-CARD
118     card_name: 'step6'
119     bits: [NORTH, SOUTH, EAST, WEST, BLUE]
120     actions:
121       - *STEP6-ACTION-RED
122       - *STEP6-ACTION-DEFAULT
123
124   - &STEP7-ACTION
125     action_class: 'SetBits'
126     required_bits: []
127     data:
128       message: "Almost there. You have free rein in this column.\nFinish the game by collecting enough {WINTOKEN}: 1 in this level.\nGood luck!"
129
130   - &STEP7-CARD
131     card_name: 'step7'
132     bits: [NORTH, SOUTH]
133     actions:
134       - *STEP7-ACTION
135
136   - &STEP8-ACTION-DEFAULT
137     action_class: 'LoseHealthOrMSB'
138     required_bits: []
139     data:
140       message: "Losing health {HEALTH} is a bad idea..."
141
142   - &STEP8-ACTION-GREEN
143     action_class: 'SetBits'
144     required_bits: [BLUE, RED]
145
146   - &STEP8-CARD
147     card_name: 'step8'
148     bits: [GREEN]
149     actions:
150       - *STEP8-ACTION-DEFAULT
151       - *STEP8-ACTION-GREEN
152
153   - &STEP9-ACTION
154     action_class: 'ToggleBits'
155     required_bits: []
156     data:
157       message: "I wonder what the most significant bit {MSB} does..."
158
159   - &STEP9-CARD
160     card_name: 'step9'
161     bits: [MSB]
162     actions:
163       - *STEP9-ACTION
164
165   - &STEP10-ACTION
166     action_class: 'ShiftLocations'
167     required_bits: [GREEN]
168     data:
169       direction: EAST
170       message: "All of the actions on this tile require {GREEN}. Without it, you can't even enter.\nActions like this one change the game board."
171
172   - &STEP10-CARD
173     card_name: 'step10'
174     actions:
175       - *STEP10-ACTION
176
177   - &STEP11-ACTION
178     action_class: 'GenericBits'
179     required_bits: []
180     data:
181       message: "We may have lied about restricting you to this column.\nSet {WEST}. Clear {NORTH,SOUTH,EAST}."
182       set: [WEST]
183       clear: [NORTH, SOUTH, EAST]
184
185   - &STEP11-CARD
186     card_name: 'step11'
187     bits: [NORTH, SOUTH, EAST, WEST]
188     actions:
189       - *STEP11-ACTION
190
191   - &STEP12-ACTION
192     action_class: 'GenericBits'
193     required_bits: []
194     data:
195       message: "On this board, tiles don't change. In random games, after you take an action the tile will be replaced. Some tiles are also replaced when a timer expires.\nSet {NORTH}. Clear {SOUTH,EAST,WEST}."
196       set: [NORTH]
197       clear: [SOUTH, EAST, WEST]
198
199   - &STEP12-CARD
200     card_name: 'step12'
201     bits: [NORTH, SOUTH, EAST, WEST]
202     actions:
203       - *STEP12-ACTION
204
205   - &STEP13-ACTION
206     action_class: 'GenericBits'
207     required_bits: []
208     data:
209       set: [EAST, NORTH, SOUTH]
210       clear: [WEST]
211
212   - &STEP13-CARD
213     card_name: 'step13'
214     bits: [EAST, NORTH, SOUTH, WEST]
215     actions:
216       - *STEP13-ACTION
217
218   - &WIN-ACTION
219     action_class: 'AcquireWinToken'
220     required_bits: [RED, GREEN, BLUE]
221
222   - &WIN-CARD
223     card_name: 'win'
224     actions:
225       - *WIN-ACTION
226
227 cards:
228   - *STEP1-CARD
229   - *STEP2-CARD
230   - *STEP3-CARD-2
231   - *NULL-CARD
232   - *STEP8-CARD
233
234   - *NULL-CARD
235   - *STEP3-CARD-1
236   - *STEP4-CARD
237   - *STEP5-CARD
238   - *STEP7-CARD
239
240   - *NULL-CARD
241   - *NULL-CARD
242   - *STEP6-CARD
243   - *NULL-CARD
244   - *STEP9-CARD
245
246   - *WIN-CARD
247   - *STEP13-CARD
248   - *STEP13-CARD
249   - *STEP13-CARD
250   - *STEP10-CARD
251
252   - *NULL-CARD
253   - *NULL-CARD
254   - *NULL-CARD
255   - *STEP12-CARD
256   - *STEP11-CARD
257
258 defaults:
259   initial_bits: 0x4
260   initial_pos: [0, 0]
261   max_health: 7
262   wins_required: 1