summaryrefslogtreecommitdiff
path: root/events.txt
blob: 528f726dc4c9bbdf2927d7925d553d85f79dcfab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
# Note - must AND/OR take at least one of the choices?

# Versailles Cards

CARD 1 - Jules Ducatel
	asm clear_undo()
	if (game.round < 4)
		asm log("Commune Objective:")
		asm logi("C" + game.red_objective)
		goto "reveal_commune_objective"
	else
		asm log("Commune hand:")
		asm { for (let c of game.red_hand) logi("C" + c) }
		goto "reveal_commune_hand"
	endif
	ops 1 MILITARY

CARD 2 - The Murder of Vincenzini
	increase_revolutionary_momentum
	prompt "Remove up to 3 from Political."
	remove_up_to 3 POLITICAL

CARD 3 - Brassardiers
	prompt "Replace 1 in Military where present."
	replace 1 (where_present(MILITARY))

CARD 4 - Jules Ferry
	prompt "Place up to 2 in Republicans or replace 1 in National Assembly."
	switch ["place","replace"]
	case "place"
		prompt "Place up to 2 in Republicans."
		place_up_to 2 REPUBLICANS
	case "replace"
		prompt "Replace 1 in National Assembly."
		replace 1 NATIONAL_ASSEMBLY
	endswitch

CARD 5 - Le Figaro
	prompt "Place up to 2 in Press or replace 1 in Public Opinion."
	switch ["place","replace"]
	case "place"
		prompt "Place up to 2 in Press."
		place_up_to 2 PRESS
	case "replace"
		prompt "Replace 1 in Public Opinion."
		replace 1 PUBLIC_OPINION
	endswitch

CARD 6 - Général Louis Valentin
	asm game.vm.count = 2
	asm game.vm.spaces = where_present(PARIS)
	if (can_vm_remove())
		goto "general_louis_valentin"
	endif

CARD 7 - Général Espivent
	prompt "Remove up to 2 from Social Movements."
	remove_up_to 2 SOCIAL_MOVEMENTS

CARD 8 - Les Amis de l'Ordre
	# must place 2 in paris spaces
	prompt "Place 2 in Paris."
	place 2 PARIS

CARD 9 - Socialist Newspaper Ban
	increase_revolutionary_momentum
	prompt "Remove up to 2 from Press."
	remove_up_to 2 PRESS
	# forbid Le Reveil from being played
	asm game.snb=1

CARD 10 - Fortification of Mont-Valérien
	prompt "Place up to 1 in Mont-Valérien."
	place_up_to 1 MONT_VALERIEN
	# reassess control after placing the cube
	asm update_presence_and_control()
	if (is_control(MONT_VALERIEN))
		prompt "You may place a Fortification in Mont-Valérien."
		may_place_disc MONT_VALERIEN
	endif

CARD 11 - Adolphe Thiers
	increase_prussian_collaboration
	prompt "Place up to 2 in Royalists."
	place_up_to 2 ROYALISTS

CARD 12 - Otto von Bismarck
	# must remove own cube from National Assembly
	prompt "Remove 1 from National Assembly."
	remove_own NATIONAL_ASSEMBLY
	may_increase_prussian_collaboration
	ops 2 MILITARY

CARD 13 - Général Ernest de Cissey
	ops 4 FORT_D_ISSY

CARD 14 - Colonel de Lochner
	# see https://boardgamegeek.com/thread/2820690/article/39550904#39550904
	if (is_versailles_control(MONT_VALERIEN))
		ops 3 BUTTE_MONTMARTRE
	else
		ops 3 MONT_VALERIEN
	endif

CARD 15 - Jules Favre
	increase_prussian_collaboration
	prompt "Place up to 1 in Republicans"
	place_up_to 1 REPUBLICANS

CARD 16 - Hostage Decree
	prompt "Remove all from Catholic Church."
	remove 20 CATHOLIC_CHURCH

CARD 17 - Maréchal Macmahon
	ops 4 PARIS

# Commune Cards

CARD 18 - Paule Minck
	prompt "Replace 1 in Military where present."
	replace 1 (where_present(MILITARY))

CARD 19 - Walery Wroblewski
	prompt "Place one Barricade in Paris where present."
	place_disc (where_present(PARIS))

CARD 20 - Banque de France
	# must decrease momentum
	decrease_revolutionary_momentum
	prompt "Place up to 1 in Paris."
	place_up_to 1 PARIS
	prompt "You may place a Barricade in Paris."
	may_place_disc PARIS

CARD 21 - Le Réveil
	# must not have played Socialist Newspaper Ban
	may_increase_revolutionary_momentum
	prompt "Place up to 1 in Press."
	place_up_to 1 PRESS

CARD 22 - Execution of Generals
	increase_prussian_collaboration
	prompt "Replace up to 2 in Paris where present."
	replace_up_to 2 (where_present(PARIS))

CARD 23 - Les Cantinières
	prompt "Place up to 2 in Military where present (use removed cubes)."
	place_removed_up_to 2 (where_present(MILITARY))

CARD 24 - Eugène Protot
	ops 3 INSTITUTIONAL

CARD 25 - Paul Cluseret
	ops 2 PARIS

CARD 26 - Gaston Crémieux
	increase_revolutionary_momentum
	prompt "Place up to 2 in Social Movements."
	place_up_to 2 SOCIAL_MOVEMENTS

CARD 27 - Louise Michel
	increase_revolutionary_momentum
	prompt "Use 1 OP in Public Opinion or Paris."
	switch ["public_opinion","paris"]
	case "public_opinion"
		ops 1 PUBLIC_OPINION
	case "paris"
		ops 1 PARIS
	endswitch

CARD 28 - Jaroslav Dombrowski
	prompt "Place up to 1 in Paris."
	place_up_to 1 PARIS
	prompt "You may place a Barricade in Paris."
	may_place_disc PARIS

CARD 29 - Raoul Rigault
	increase_revolutionary_momentum
	prompt "Move up to 2 from Catholic Church to Paris."
	move_up_to 2 CATHOLIC_CHURCH PARIS

CARD 30 - Karl Marx
	asm init_karl_marx()
	goto "karl_marx_discard"

CARD 31 - Blanquists
	increase_revolutionary_momentum
	ops 2 MILITARY

CARD 32 - Général Lullier
	ops 4 CHATEAU_DE_VINCENNES

CARD 33 - Jules Vallès
	increase_revolutionary_momentum
	ops 2 PUBLIC_OPINION

CARD 34 - Charles Delescluze
	ops 3 MILITARY
	ops 1 POLITICAL

# Neutral Cards

CARD 35 - Conciliation
	prompt "Move up to 2 from Public Opinion or Paris."
	switch ["public_opinion","paris"]
	case "public_opinion"
		prompt "Move up to 2 from Public Opinion to Paris."
		move_up_to 2 PUBLIC_OPINION PARIS
	case "paris"
		prompt "Move up to 2 from Paris to Public Opinion."
		move_up_to 2 PARIS PUBLIC_OPINION
	endswitch

CARD 36 - Georges Clemenceau
	prompt "Move up to 3 from Paris to Institutional."
	move_up_to 3 PARIS INSTITUTIONAL

CARD 37 - Archbishop Georges Darboy
	prompt "Move up to 4 from any spaces to Catholic Church."
	move_up_to 4 ANY CATHOLIC_CHURCH

CARD 38 - Victor Hugo
	# must have initiative
	# must decrease both player momentums
	decrease_revolutionary_momentum
	decrease_prussian_collaboration
	ops 4 PUBLIC_OPINION

CARD 39 - Léon Gambetta
	# must have initiative
	prompt "Replace up to 1 in Institutional."
	replace_up_to 1 INSTITUTIONAL
	if (game.active === COMMUNE)
		decrease_prussian_collaboration
	else
		decrease_revolutionary_momentum
	endif

CARD 40 - Elihu Washburne
	# must have initiative
	if (game.active === COMMUNE)
		increase_revolutionary_momentum
	else
		increase_prussian_collaboration
	endif
	ops 2 INSTITUTIONAL

CARD 41 - Freemason Parade
	# must have initiative
	goto "freemason_parade"
	prompt "Remove a cube from both factions."
	remove_own (game.vm.freemason_parade)
	remove 1 (game.vm.freemason_parade)
	prompt "Place up to 2 or replace 1 in Institutional."
	switch ["place","replace"]
	case "place"
		prompt "Place up to 2 in Institutional."
		place_up_to 2 INSTITUTIONAL
	case "replace"
		prompt "Replace 1 in Institutional."
		replace 1 INSTITUTIONAL
	endswitch

# Objective Cards

CARD 42 - Paris Cannons
	if (can_advance_momentum())
		prompt "Use 3 OP in Paris or increase your Player Momentum."
		switch ["momentum","ops"]
		case "momentum"
			if (game.active === COMMUNE)
				increase_revolutionary_momentum
			else
				increase_prussian_collaboration
			endif
		case "ops"
			ops 3 PARIS
		endswitch
	else
		ops 3 PARIS
	endif

CARD 43 - Aux Barricades!
	ops 2 PARIS
	if (game.active === COMMUNE)
		prompt "You may place a Barricade in Butte-aux-Cailles."
		may_place_disc BUTTE_AUX_CAILLES
	endif

CARD 44 - Commune's Stronghold
	prompt "Use 2 OP in Military or remove 1 from any space."
	switch ["ops","remove"]
	case "ops"
		ops 2 MILITARY
	case "remove"
		prompt "Remove 1 from any space."
		remove 1 ANY
	endswitch

CARD 45 - Fighting in Issy Village
	ops 2 FORTS
	if (game.active === VERSAILLES)
		prompt "You may place a Fortification in Fort d'Issy."
		may_place_disc FORT_D_ISSY
	endif

CARD 46 - Battle of Mont-Valérien
	ops 3 FORTS
	if (game.active === COMMUNE)
		decrease_prussian_collaboration
	else
		increase_prussian_collaboration
	endif

CARD 47 - Raid on Château de Vincennes
	prompt "Use 2 OP in Military or remove 1 from any space."
	switch ["ops","remove"]
	case "ops"
		ops 2 MILITARY
	case "remove"
		remove 1 ANY
	endswitch

CARD 48 - Revolution in the Press
	prompt "Use 3 OP in Public Opinion or replace 1 in any space."
	switch ["ops","replace"]
	case "ops"
		ops 3 PUBLIC_OPINION
	case "replace"
		replace 1 ANY
	endswitch

CARD 49 - Pius IX
	prompt "Replace in 2 different Political or remove 1 from any space."
	switch ["replace","remove"]
	case "replace"
		asm game.vm.count = 2
		asm game.vm.spaces = POLITICAL.slice()
		if (can_vm_replace())
			goto "pius_ix"
		endif
	endif
	case "remove"
		remove 1 ANY
	endswitch

CARD 50 - Socialist International
	ops 2 PUBLIC_OPINION
	if (game.active === COMMUNE)
		increase_revolutionary_momentum
	else
		decrease_revolutionary_momentum
	endif

CARD 51 - Royalists Dissension
	prompt "Use 2 OP in Institutional or remove 1 from any space."
	switch ["ops","remove"]
	case "ops"
		ops 2 INSTITUTIONAL
	case "remove"
		remove 1 ANY
	endswitch

CARD 52 - Rise of Republicanism
	prompt "Use 3 OP in Institutional or replace 1 in Military."
	switch ["ops","replace"]
	case "ops"
		ops 3 INSTITUTIONAL
	case "replace"
		replace 1 MILITARY
	endswitch

CARD 53 - Legitimacy
	ops 3 POLITICAL
	if (game.active === COMMUNE)
		increase_revolutionary_momentum
	else
		increase_prussian_collaboration
	endif

# C3i Censorship Cards

CARD 54 - Louis Rossel
	prompt "Move up to all cubes in Forts or Paris."
	switch ["forts","paris"]
	case "forts"
		move_within FORTS
	case "paris"
		move_within PARIS
	endswitch
	# forbid General Lullier from being played
	asm game.louis_rossel=1

CARD 55 - Gustave Flourens
	increase_revolutionary_momentum
	prompt "Move up to 1 from Public Opinion to Military."
	move_up_to 1 PUBLIC_OPINION MILITARY

CARD 56 - Jean-Baptiste Clément
	prompt "Place up to 2 in Public Opinion (use removed cubes)."
	place_removed_up_to 2 PUBLIC_OPINION

CARD 57 - Elizabeth Dimitrieff
	asm clear_undo()
	asm game.red_hand.push(draw_strategy_card())
	asm game.red_hand.push(draw_strategy_card())
	asm game.vm.count = 2
	goto "elizabeth_dimitrieff_discard"

CARD 58 - Paris Bombarded
	asm init_paris_bombarded()
	goto "paris_bombarded"

CARD 59 - Général Gallifet
	prompt "Remove up to 3 in Paris where present."
	remove_up_to 3 (where_present(PARIS))
	asm add_political_vp(VERSAILLES, -1)

CARD 60 - Sapper Tactics
	prompt "Remove one Barricade where present."
	remove_disc (where_present(ANY))

CARD 61 - Georges Vaysset
	asm clear_undo()
	asm log("Commune hand:")
	asm { for (let c of game.red_hand) logi("C" + c) }
	goto "georges_vaysset"

CARD 62 - Colonne Vendôme
	# must have initiative
	if (game.active === COMMUNE)
		decrease_prussian_collaboration
	else
		decrease_revolutionary_momentum
	endif
	prompt "Replace up to 1 in Institutional."
	replace_up_to 1 INSTITUTIONAL

CARD 63 - Versailles' Left
	# must have initiative
	prompt "Replace up to 1 in Republicans."
	replace_up_to 1 REPUBLICANS
	asm update_presence_and_control()
	asm game.versailles_left = game.active
	if (has_commune_cube(RED_BONUS_CUBES[2]))
		if (game.active === COMMUNE && is_commune_control(REPUBLICANS))
			goto "versailles_left"
		endif
		if (game.active === VERSAILLES && is_versailles_control(REPUBLICANS))
			goto "versailles_left"
		endif
	endif