diff options
author | iainp5 <iain.pearce.ip@gmail.com> | 2024-08-29 09:27:28 +0100 |
---|---|---|
committer | iainp5 <iain.pearce.ip@gmail.com> | 2024-09-16 11:46:21 +0100 |
commit | 21110b62b9c262dd819de22f242172f6cd7c6951 (patch) | |
tree | a31edc631eee71bdb6596bdcff9b70a2809bd6e3 | |
parent | d3b11b195c1a0411e5157614b787c6f37b414e72 (diff) | |
download | 1989-dawn-of-freedom-21110b62b9c262dd819de22f242172f6cd7c6951.tar.gz |
Updates to vm_prompt
-rw-r--r-- | events.txt | 310 | ||||
-rw-r--r-- | gencode.js | 107 | ||||
-rw-r--r-- | rules.js | 1267 |
3 files changed, 1011 insertions, 673 deletions
@@ -6,85 +6,91 @@ legacy_of_martial_law valid_spaces_country_sc 'Poland' support_check 1 permanently_remove -return + CARD 2 - Solidarity Legalised* # Place a Democratic SP in every uncontrolled Worker and Farmer space in Poland. Allows play of Walesa. solidarity_legalised valid_spaces_solidarity_legalised +prompt 'every uncontrolled Worker and Farmer space in Poland' add_limited_infl 9 1 permanently_remove -return + CARD 3 - Walesa # Place a total of 4 SPs in any spaces(s) in Poland. The Democratic Player may then may Support Checks in Poland using the Ops value of this card. Requires Solidarity Legalized* to be played as event. valid_spaces_country 'Poland' +prompt 'any space(s) in Poland' add_infl_free 4 valid_spaces_country_sc 'Poland' support_check 2 permanently_remove -return + CARD 4 - Michnik # Place 3 Democratic SPs in the Polish Intellectuals space. valid_spaces 26 +prompt 'the Polish Intellectuals space' add_x_infl 3 permanently_remove -return + CARD 5 - General strike # The Communist Player must discard a held card and roll a die. To end the strike the total of the Ops value and the die roll must exceed 5. The Communist Player must continue discarding cards until the General Strike is over, though he may play a Power Struggle - Card during the strike. general_strike -return + CARD 6 - Brought in for Questioning # The Democratic Player must randomly discard a card. If it is a Communist event it takes place immediately. brought_in_for_questioning -return + CARD 7 - State Run Media* # Remove four Democratic SPs, no more than 2 per space. valid_spaces_opponent remove_limited_opp_infl 4 2 permanently_remove -return + CARD 8 - Prudence # Opponent -1 Ops for the rest of the turn, to minimum of 1. prudence -return + CARD 9 - The Wall* # Place in front of the Communist Player. In his next Support Check in Germany cancel drm for any adjacent spaces controlled by the Democratic Player. the_wall permanently_remove -return + CARD 10 - Cult of Personality # Place 4 Communist SPs in Worker or Farmer spaces in Romania, no more than 2 per space. valid_spaces_country_socio_2 'Romania' 3 4 +prompt 'in Worker or Farmer spaces in Romania, no more than 2 per space' add_limited_infl 4 2 permanently_remove -return + CARD 11 - Dissident arrested # Remove 2 Democratic SPs from any Intellectuals space. valid_spaces_opponent_socio 5 +prompt 'any Intellectuals space' remove_x_opp_infl 2 -return + CARD 12 - Apparatchicks # Place 3 Communist SPs in any Bureaucratic space(s). valid_spaces_socio 2 +prompt 'any Bureaucratic space(s)' add_infl 3 permanently_remove -return + CARD 13 - Stasi # For the rest this turn the Democratic Player must reveal the card he will play this action round before the Communist plays his card. stasi permanently_remove -return + CARD 14 - Gorbachev Charms the West # Improve USSR stability by one. Remove 2 opponent SPs and make a support check using the Ops value of this card. May not be held. May not be played as an Event after Breakaway Baltic Republics. @@ -92,197 +98,214 @@ valid_spaces_opponent remove_opp_infl 2 valid_spaces_sc support_check 1 -return + CARD 15 - Honecker # The Communist Player may take any non-Power Struggle - card in the discard pile and put it in his hand. The Communist Player may take one extra action round this turn. May not be played as event after Modrow*. honecker permanently_remove -return + CARD 16 - Nomenklatura* # Place 3 SPs in any Elite space(s), or remove all Democratic SPs from Elite spaces. nomenklatura permanently_remove -return + CARD 17 - Roundtable talks # Place in front of the Democratic Player. In the next Power Struggle - he draw 2 random Power Struggle - cards from the Communist player. Then place this card in the discard pile. roundtable_talks -return + CARD 18 - Poszgay Defends the Revolution # Place Communist SPs in 4 spaces in Hungary not under Democratic control. poszgay +prompt 'spaces in Hungary not under Democratic control' add_limited_infl 4 1 permanently_remove -return + CARD 19 - Papal vist # Place 3 SPs in any Catholic Church space. valid_spaces 20 35 38 +prompt 'in any Catholic Church space' add_x_infl 3 permanently_remove -return + CARD 20 - Deutsche Marks* # Democratic Player gives the Communist Player his highest Ops value card. If a Communist event it takes place immediately, otherwise use the Ops value of the card without triggering the event. deutsche_marks permanently_remove -return + CARD 21 - Common European Home -# Play together with opponent's event to cancel the event taking place. Improve USSR -stability by 1. Opponent earns 1 VP if this card played for Ops. +# Play together with opponent's event to cancel the event taking place. Opponent earns 1 VP if this card played for Ops. common_european_home -return + CARD 22 - Power Struggle - Poland # Support=3, Dominance=6, Control=9 Power(Communist only)= 3 x the number of times played. +1 for each Battleground space. May not be held. Remove only if Democrat takes power. power_struggle -return + CARD 23 - Power Struggle - Hungary # Support=1, Dominance=2, Control=4 Power(Communist only)= 1 x the number of times played. +1 for each Battleground space. May not be held. Remove only if Democrat takes power. power_struggle -return + CARD 24 - St Nicolas Church # Place sufficient Democratic SPs in the Lutheran Church space for Democratic control. Allows play of The Monday Demonstrations. valid_spaces 6 +prompt 'the Lutheran Church' take_control_prep 1 st_nicholas_church -return + CARD 25 - Perestroika # +1 Ops value for cards played by the Communist for the rest of turn. perestroika -return + CARD 26 - Helsinki Final Act* # +1 VP for every Support Check die roll by the Communist Player in Student or Intellectual spaces the rest of the game. helsinki_final_act permanently_remove -return + CARD 27 - Consumerism # Remove a Communist SP from a Worker space and make one Support Check in a Worker space in the same country using the Ops value of this card. valid_spaces_opponent_socio 4 +prompt ' from a Worker space' remove_opp_infl 1 valid_spaces_opponent_socio 4 active_country support_check 1 -return + CARD 28 - Factory Party Cells # Remove a Democratic SP from 3 Worker spaces, no more than 2 per space. valid_spaces_opponent_socio 4 +prompt '3 Worker spaces, no more than 2 per space' remove_limited_opp_infl 3 2 -return + CARD 29 - Jan Palach Week* # Place 6 Democratic SPs in the Charles University space. valid_spaces 30 +prompt 'the Charles University space' add_x_infl 6 permanently_remove -return + CARD 30 - Tear Gas # Place in front of the Communist Player. In his next Support Check roll in a Student space he receives a +1 drm, then remove this card from the game. tear_gas -return + CARD 31 - Intelligentsia # Place 4 Democratic SPs in Intellectual spaces, no more than 2 per space. valid_spaces 4 26 31 46 55 73 +prompt 'Intellectual spaces, no more than 2 per space' add_limited_infl 4 2 -return + CARD 32 - Peasant Parties* # Place 4 Communist SPs in Farmer spaces, no more than 2 per space. valid_spaces_socio 3 +prompt 'Farmer spaces, no more than 2 per space' add_limited_infl 4 2 permanently_remove -return + CARD 33 - Sajudis* # +1 VP. Reduce USSR stability by 1. Place sufficient Democratic support in any Minorities space for control. Allows play of The Baltic Way. valid_spaces 56 70 +prompt 'any Minorities space' take_control_prep 1 sajudis permanently_remove -return + CARD 34 - Fidesz* # Place 5 Democratic SPs in Hungary students space. valid_spaces 47 +prompt 'the Hungary students space' add_x_infl 6 permanently_remove -return + CARD 35 - Heal our Bleeding Wounds* # Increase USSR Stability by 1. If played in Early Year, -3 VPs. If played in Mid Year, -1 VP. If played in Late Year, +3 VPs. heal_our_bleeding_wounds permanently_remove -return + CARD 36 - Dash for the West* # Roll a die. If the die roll exceeds the number of Communist controlled spaces in Germany, +1 VP and select any Blue Event with asterisk(*) from the discard pile. The event occurs immediately. dash_for_the_west permanently_remove -return + CARD 37 - Nagy Reburied* # Remove all Communist SPs from the Hungary Elite space. Then place 4 Communist SPs in Hungary, no more than 2 per space. valid_spaces 43 +prompt 'the Hungary Elite space' remove_all_infl 1 valid_spaces_country 'Hungary' +prompt 'Hungary, no more than 2 per space' add_limited_infl 4 2 permanently_remove -return + CARD 38 - July Concept # Place 3 Communist SPs in Bulgaria valid_spaces_country 'Bulgaria' -add_infl 3 +prompt 'Bulgaria' +add_infl_free 3 permanently_remove -return + CARD 39 - Eco-Glasnost* # Place 4 Democratic SPs in Ruse. valid_spaces 66 +prompt 'Ruse' add_x_infl 4 eco_glasnost -return + CARD 40 - Hungarian Democratic Forum # Place 3 Democratic SPs in Hungary and make one Support Check in Hungary. valid_spaces_country 'Hungary' +prompt 'Hungary' add_infl_free 3 valid_spaces_country_sc 'Hungary' +prompt ' in Hungary' support_check 1 permanently_remove -return + CARD 41 - Ceausescu* -# Remove 3 Democratic SPs in Romania and make a Support Check using the Ops value of this card. If the Democratic Player has any SPs in spaces adjacent to Cluj at the end of this action round remove 1 Communist SP from Bucharest. May not be played as an event after The Tyrant is Gone. +# Remove 3 Democratic SPs in Romania and make a Support Check in Romania using the Ops value of this card. If the Democratic Player has any SPs in spaces adjacent to Cluj at the end of this action round remove 1 Communist SP from Bucharest. May not be played as an event after The Tyrant is Gone. valid_spaces_country_sc 'Romania' +prompt ' from Romania' remove_opp_infl 3 valid_spaces_country_sc 'Romania' +prompt ' in Romania' support_check 1 ceausescu permanently_remove -return + CARD 42 - Power Struggle - East Germany # Support=3, Dominance=6 , Control=9, Power(Communist only)= 3 X the number of times played. +1 for each Battleground space. May not be held. Remove only if Democrat takes power. power_struggle -return + CARD 43 - Power Struggle - Bulgaria # Support=2, Dominance=3 , Control=5, Power(Communist only)= 1 X the number of times played. +1 for each Battleground space. May not be held. Remove only if Democrat takes power. power_struggle -return + CARD 44 - Inflationary Currency # Target any Country where your opponent has Power. Place 2 SPs and make 1 Support Check in the Country using the Ops value of this card. Your opponent may cancel the Support Check by discarding a 3 Ops value card. @@ -295,322 +318,343 @@ valid_spaces_country_sc support_check 1 endif permanently_remove -return + CARD 45 - Soviet Troop Withdrawals* -# Improve USSR stability by 1. The Democratic Player may remove 5 Communist SPs from Eastern Europe, no more than 2 per space. +# The Democratic Player may remove 5 Communist SPs from Eastern Europe, no more than 2 per space. valid_spaces_region_opp 'Eastern Europe' +prompt 'Eastern Europe' remove_limited_opp_infl 5 2 permanently_remove -return + CARD 46 - Goodbye Lenin!* # The Communist Player must reveal all his events with title written in red. The Democrat may exchange this card for any of them with the event occurring immediately, or he may play this card for Operations. goodbye_lenin permanently_remove -return + CARD 47 - Bulgarian Turks Expelled* -# -2 VP. Remove any Democratic SPs in Razgard. +# -2 VP. Remove any Democratic SPs in Razgrad. bulgarian_turks_expelled +prompt 'Razgrad' remove_all_infl 1 permanently_remove -return + CARD 48 - We are the People!* # The Democrat can move up to 4 SPs from the Lutheran Church space to any spaces in Germany, no more than 2 per space. The Communist may no longer make Support Checks in Leipzig. we_are_the_people permanently_remove -return + CARD 49 - Foreign Currency Debt Burden* # The Democrat designates 1 country in Eastern Europe. For the rest of this turn the Communist has a -2 modifier for support checks in this country. foreign_currency_debt_burden -return + CARD 50 - The Sinatra Doctrine* # +1 Ops value for cards played by the Democratic Player the rest of this turn. the_sinatra_doctrine permanently_remove -return + CARD 51 - 40th Anniversary Celebration* # Place 2 Communist SPs in Germany. If Communist is ahead add 4 SPs. Then subtract 1 VP. 40th_anniversary_celebration valid_spaces_country 'East_Germany' +prompt 'East Germany' add_infl_free 40th_anniversary_celebration_vp permanently_remove -return + CARD 52 - Normalisation -# Remove all Democratic SPs from Czechoslovakia Elite and Bureaucrat Spaces. +# Remove all Democratic SPs from the Czechoslovakia Elite and Bureaucrat Spaces. normalisation +prompt 'the Czechoslovakia Elite and Bureaucrat Spaces' remove_all_infl 2 permanently_remove -return + CARD 53 - Li Peng* # +1 modifier to all Communist Tiananmen Square track attempts for the rest of the game li_peng -return + CARD 54 - The Crowd Turns Against Ceausescu* # Place in front of the Democratic Player. After the players draw cards for the next Power Struggle - in Romania, the Democratic Player draws the top 15 cards from the Power Struggle - Deck. He may use the total rank of any Rally in the Square Cards for Operations, then these 15 cards are discarded before the Power Struggle - is resolved. Allows play of The Tyrant is Gone*. the_crowd_turns_against_ceausescu -return + CARD 55 - Power Struggle - Czechoslovakia # Support=2 Dominance=4 , Control=7, Power(Communist only)= 2 X the number of times played. +1 for each Battleground space. May not be held. Remove only if Democrat takes power. power_struggle -return + CARD 56 - Foreign Television # Remove 4 Communist SPs no more than 2 per space. foreign_television remove_limited_opp_infl 4 2 permanently_remove -return + CARD 57 - Central Committee Reshuffle* # Place 3 Communist SPs in any Country where the Communist holds Power. central_committee_reshuffle add_infl 3 permanently_remove -return + CARD 58 - Austria-Hungary Border Reopened* # +1 Ops value if all Ops are spent in Germany for the rest of this turn. austria_hungary_border_reopened -return + CARD 59 - GrenzTruppen* # -1 modifier for Democratic Support Checks in East Germany the rest of this turn. grenztruppen -return + CARD 60 - Toxic Waste* # Add 3 Democratic SPs in any Worker space(s). valid_spaces_socio 4 -add_infl 3 +prompt 'any Worker space(s)' +add_infl_free 3 permanently_remove -return + CARD 61 - The Monday Demonstrations* # Place sufficient SPs in the Lutheran Church Space and Leipzig for Democratic control. Then the Democratic Player may make FIVE support checks in Germany using the Ops value of this card. Requires play of St. Nicholas Church as an event. the_monday_demonstrations +prompt 'the Lutheran Church Space and Leipzig' take_control_prep 2 valid_spaces_country_sc 'East_Germany' +prompt ' in East Germany' support_check 5 permanently_remove -return + CARD 62 - Yakovlev Counsels Gorbachev* # Place in front of the Democratic Player. The Democrat receives a +1 drm to his roll if he wins the next Power Struggle. Then remove this card from the game. yakovlev_counsels_gorbachev -return + CARD 63 - Genscher* # Cancels +1 Ops cost to place Democratic SPs in Communist controlled spaces in Germany the rest of this turn. genscher -return + CARD 64 - Legacy of 1968* # The Democratic Player may place 1 SP in all spaces in Czechoslovakia not controlled by the Communist Player legacy_of_1968 +prompt 'all spaces in Czechoslovakia not controlled by the Communist Player' add_limited_infl 11 1 permanently_remove -return + CARD 65 - Presidential Visit* # The Communist's hand size is reduced to 7 next turn. presidential_visit -return + CARD 66 - New Forum # Place a Democratic SP in 3 spaces in Germany valid_spaces_country 'East_Germany' +prompt '3 spaces in East Germany' add_limited_infl 3 1 permanently_remove -return + CARD 67 - Reformer Rehabilitated* # If you are ahead on the Tiananmen Square track, draw any card in the discard pile. The event takes place immediately. reformer_rehabilitated -return + CARD 68 - Klaus and Komarek* # Remove 2 Communist SPs and add 2 Democratic SPs in Prague. klaus_and_komarek +prompt 'Prague' remove_x_opp_infl 2 valid_spaces 29 add_x_infl 2 permanently_remove -return + CARD 69 - Systematization* # The Communist player may eliminate 1 space in Romania. Any Democratic SPs are eliminated. Communist SPs are relocated to Bucharest. The connections to the destroyed space are considered to pass through and connect the adjacent spaces directly. valid_spaces_country 'Romania' systematization permanently_remove -return + CARD 70 - Securitate* # The Democrat must reveal his battlecards at the start of the Power Struggles in Romania. This event remains in effect until cancelled by Army Backs the Revolution event. securitate -return + CARD 71 - Kiss of Death* # The Communist Player must randomly discard a card. If it is neutral or Democratic it takes place immediately. permanently_remove kiss_of_death -return + CARD 72 - Peasant Parties Revolt # Place in front of the Democratic Player. In the next Power Struggle - if the Democratic Player controls a farm space, he draws 1 Battlecard at random from the Communist hand and places it in his own. Then remove this card from the game. peasant_parties_revolt -return + CARD 73 - Laszlo Tokes* # Place 1 Democratic SP in Timisoara and Harghita/Covasna. The Democratic may then place SPs or make Support Check rolls in Romania using the Ops value of this card. Allows play of Massacre in Timisoara. valid_spaces 50 56 +prompt 'in Timisoara and Harghita/Covasna' add_limited_infl 2 1 laszlo_tokes permanently_remove -return + CARD 74 - FRG Embassies # +1 for Democratic Support Checks in Eastern Europe the rest of this turn. frg_embassies -return + CARD 75 - Exit Visas* # The Democratic Player may discard any cards in his hand and draw new cards from the deck. exit_visas permanently_remove -return + CARD 76 - Warsaw Pact Summit # The Warsaw Pact holds a summit in Bucharest. The Communist player chooses who dominates the summit, the hardliners or the reformers. The Communist may either make 2 Support Checks with a +2 drm against Student and intellectual spaces, or place 4 SPs in spaces with no influence that are not controlled by the Democratic player. warsaw_pact_summit permanently_remove -return + CARD 77 - Samizdat # The Democratic Player can put a card in his hand aside for next turn and draw a replacement card from the deck. samizdat permanently_remove -return + CARD 78 - Workers Revolt # Choose any Worker space in a country where your opponent has Power. Roll a die. Revolt is successful 4-6. If successful replace your opponent's SPs with your own. -1 drm for every space your opponent controls adjacent to the target space. workers_revolt -return + CARD 79 - The Third Way* -# -2 VP. Improve USSR stability by 1. Place 3 Communist SPs in the German writers space. +# -2 VP. Place 3 Communist SPs in the German writers space. the_third_way valid_spaces 4 +prompt 'the East German Writers space' add_x_infl 3 permanently_remove -return + CARD 80 - Nepotism* # Roll a die. 1-2: Place 4 Communist SPs in Worker spaces in the Balkans. 3-4: add 3 SPs in Worker spaces in the Balkans. 5-6: add 1 SP to a Worker space in the Balkans. nepotism valid_spaces_region_socio 'Balkans' 4 -add_infl +prompt 'Worker spaces in the Balkans' +add_infl_free permanently_remove -return + CARD 81 - The Baltic Way* # +2 VP. Reduce USSR stability by 1. Place sufficient Democratic SPs in any Minorities space for control. .Requires play of Sajudis. Allows play of Breakaway Baltic Republics. the_baltic_way +prompt 'any Minorities space' take_control_prep 1 permanently_remove -return + CARD 82 - Spitzel* # Remove 2 Democratic SPs in Germany. valid_spaces_country_sc 'East_Germany' +prompt ' from East Germany' remove_opp_infl 2 permanently_remove -return + CARD 83 - Modrow* # Roll a die. If the die roll exceeds the number of Democratically controlled spaces in Germany, then place 4 Communist SPs in Germany, no more than 2 per space. modrow valid_spaces_country 'East_Germany' +prompt 'East Germany' add_limited_infl 4 2 permanently_remove -return + CARD 84 - Breakaway Baltic Republics* -# +3 VPs. Reduce USSR stability by 2. Place sufficient Democratic SPs in any Minorities space for control. Cancels the effect of Gorbachev Charms the West for the rest of the game. Make 1 Support Check using the Ops value of this card. Requires play of The Baltic Way as an event. +# +3 VPs. Reduce USSR stability by 2. Place sufficient Democratic SPs in any Minorities space for control. Cancels the effect of Gorbachev Charms the West for the rest of the game. Make 1 Support Check using the Ops value of this card. Requires play of The Baltic Way as an event. breakaway_baltic_republics +prompt 'any Minorities space' take_control_prep 1 valid_spaces_sc support_check 1 permanently_remove -return + CARD 85 - Tank Column/Tank Man* # Advance 1 space on the Tiananmen Square track. tank_column permanently_remove -return + CARD 86 - The Wall Must Go!* # Reduce USSR stability by 1. The Democratic Player attempts to tear down the Berlin Wall. Each player rolls a die and adds the number of spaces in Germany they control. Higher total wins. This is best 2 out of 3. If successful +3 VPs and the Communist must remove 3 SPs from Germany. the_wall_must_go remove_infl 3 permanently_remove -return + CARD 87 - Kohl Proposes Reunification* -# +2 VP. Reduce USSR stability by 1. The Democratic Player may place SPs or make Support Checks using the Ops value of this card if The Wall Must Go! has been played as an event successfully. +# +2 VP. The Democratic Player may place SPs or make Support Checks using the Ops value of this card if The Wall Must Go! has been played as an event successfully. kohl_proposes_reunification permanently_remove -return + CARD 88 - Adamec* # Roll a die. On a 4-6 add 4 Communist SPs in Czechoslovakia, no more than 2 per space. -1 drm for every Worker or Farmer space in Czechoslovakia that is controlled by the Democratic Player. adamec valid_spaces_country 'Czechoslovakia' +prompt 'Czechoslovakia' add_limited_infl 4 2 permanently_remove -return + CARD 89 - Domino Theory* # If the Democrat holds Power in at least 2 counties, he may retrieve any Power Struggle - card from the discard pile and play it immediately as an event. The Democrat receives a -1 drm to his dice rolls for this Power Struggle. domino_theory permanently_remove -return + CARD 90 - Civic Forum* # +1 VP. Place 4 SPs in Czechoslovakia. The Democratic Player may make Support Checks in Czechoslovakia using the Ops value of this card if the Czech Writers space is Democratically controlled. valid_spaces_country 'Czechoslovakia' +prompt 'Czechoslovakia' add_infl_free 4 civic_forum valid_spaces_country_sc 'Czechoslovakia' support_check 2 permanently_remove -return + CARD 91 - My First Banana* # Remove 2 Communist SPs and make two Support Checks in Germany using the Ops value of this card. valid_spaces_country_opp 'East_Germany' +prompt ' from East Germany' remove_opp_infl 2 valid_spaces_country_sc 'East_Germany' +prompt ' in East Germany' support_check 2 permanently_remove -return + CARD 92 - Betrayal # Choose any Orthodox Church space. Replace all Democratic SPs with Communist SPs. betrayal permanently_remove -return + CARD 93 - Shock Therapy* # Target country must be one where the Communist has been toppled from power. Successful 3-6. -1 for every Communist Worker or Farmer space. +2 VPs and place 3 SPs in the country @@ -618,21 +662,23 @@ shock_therapy valid_spaces_country add_infl 3 permanently_remove -return + CARD 94 - Union of Democratic Forces* -# Place 4 SPs in Bulgaria. Democratic Player may make Support Checks in Bulgaria using the Ops value of this card if the Bulgarian writers space is Democratically controlled. +# Remove 4 Communist SPs from Bulgaria. Democratic Player may make Support Checks in Bulgaria using the Ops value of this card if the Bulgarian writers space is Democratically controlled. valid_spaces_country_sc 'Bulgaria' +prompt ' from Bulgaria' remove_opp_infl 4 valid_spaces_country_sc 'Bulgaria' +prompt ' in Bulgaria' support_check 2 permanently_remove -return + CARD 95 - Power Struggle - Romania # Support=2, Dominance=4, Control=6 Power(Communist only)= 2 x the number of times played. +1 for each Battleground space. May not be held. Remove only if Democrat takes power. power_struggle -return + CARD 96 - The Chinese Solution* # Can only take place if the Communist has reached the Protesters Massacred space on the Tiananmen Square track. The Communist may choose 1 country where he retains Power and conduct 5 Support Checks with a +3 modifier, but suffers a penalty of +3 VPs. @@ -640,70 +686,74 @@ the_chinese_solution valid_spaces_country_sc support_check_modified 5 3 permanently_remove -return + CARD 97 - The Tyrant is Gone* -# Remove 2 Communist SPs from the Romanian Elite Space. The Democrat announces where the Ceausescus flee, choosing a space with no Democratic SPs. If the Democratic Player gains control of the space before the end of the game the Ceausescus are captured, +2 VP. If not they escape, -2 VP. Requires play of The Crowd Turns Against Ceausescu +# Remove 4 Communist SPs from the Romanian Elite Space. The Democrat announces where the Ceausescus flee, choosing a space with no Democratic SPs. If the Democratic Player gains control of the space before the end of the game the Ceausescus are captured, +2 VP. If not they escape, -2 VP. Requires play of The Crowd Turns Against Ceausescu valid_spaces 51 -remove_opp_infl 4 +prompt 'the Romanian Elite Space' +remove_x_opp_infl 4 the_tyrant_is_gone permanently_remove -return + CARD 98 - Politburo Intrigue* -# Remove 3 Democratic SPs in Bulgaria, no more than 2 per space. -Then make one Support Check in Bulgaria, using the Ops value of this card. +# Remove 3 Democratic SPs in Bulgaria, no more than 2 per space. Then make one Support Check in Bulgaria, using the Ops value of this card. valid_spaces_country_sc 'Bulgaria' +prompt 'Bulgaria' remove_limited_opp_infl 3 2 valid_spaces_country_sc 'Bulgaria' support_check 1 permanently_remove -return + CARD 99 - Ligachev* -# Can only be played as an event if the Democratic Player has reduced USSR stability this turn. -3 VP. +# -3 VP if the Democrat does not play Gorbachev Charms the West for the event his next action round. -3 VPs take effect as soon as the Democrat plays his card but before the effect of the Democrat's card takes place. ligachev permanently_remove -return + CARD 100 - Stand Fast* # -1 to opponent Support Checks in spaces you control for the rest of this turn. stand_fast permanently_remove -return + CARD 101 - Elena* # Add 2 SPs to the Romania Elite Space. -1 drm for Democratic Player for Support Checks in Romania the rest of this turn. No longer playable after The Tyrant is Gone valid_spaces 51 +prompt 'the Romania Elite Space' add_infl 2 elena -return + CARD 102 - National Salvation Front* -# Place in front of the Communist Player. In the next Power Struggle - in the Balkans, the Communist player may draw two Battlecards at random from the Democratic Player and place them in the Communist Player's hand. Then remove this card from the game. +# Place in front of the Communist Player. In the next Power Struggle in the Balkans, the Communist player may draw two Battlecards at random from the Democratic Player and place them in the Communist Player's hand. Then remove this card from the game. national_salvation_front -return + CARD 103 - Government Resigns* # Remove all Communist SPs from any uncontrolled Elite space. government_resigns +prompt 'any uncontrolled Elite space' remove_all_infl 1 permanently_remove -return + CARD 104 - New Year's Eve Party* # The Communist may declare the game will end at the end of this turn. If the Communist has power in 4 or more countires -3 VPs, if 3 or fewer countries +3 VPs. This takes place immediately. At the end of the turn the Democrat may choose 1 country where the Communist still holds Power to have a final power struggle. There is no final scoring. new_years_eve_party -return + CARD 105 - Public Against Violence* # Place 2 Democratic SPs each in Kosice and Presov. Make one Support Check in Bratislava using the Ops value of this card. valid_spaces 36 37 +prompt 'Kosice and Presov' add_limited_infl 4 2 public_against_violence support_check_modified 1 2 permanently_remove -return + CARD 106 - Social Democratic Platform Adopted* # Play as an event in a Country where the Democrat has Power. Add 2 SPs and make 1 Support Check in the Country using the Ops value of this card. @@ -713,30 +763,32 @@ add_infl 2 valid_spaces_country_sc support_check 1 permanently_remove -return + CARD 107 - Massacre in Timisoara* # Communist Player makes Support Checks in Romania using the Ops value of this card with +2 drm. Requires play of Lazslo Tokes. valid_spaces_country_sc 'Romania' +prompt ' in Romania' support_check_modified 2 2 permanently_remove -return + CARD 108 - Army Backs Revolution* # Place in front of the Democratic Player. Cancels effects of Securitate* event. army_backs_revolution permanently_remove -return + CARD 109 - Kremlin Coup* # Can only take place if Breakaway Baltic Republics has been played as an event. -3 VPs. In all countries where the Communist retains Power, place sufficient SPs in Elite space for Communist control, then make a support check against the bureaucratic space with a +1 modifier, even if there are no Democratic SPs in the space. kremlin_coup +prompt 'Elite spaces in all countries where the Communist retains Power' take_control_prep 6 permanently_remove -return + CARD 110 - Malta Summit* # Roll a die. The summit is successful 4-6. If successful, +3VPs and remove 5 Communist SPs from elite space(s). The Democrat receives a modifier based on the USSR Stability Track: +1 if Sajudis +2 if The Baltic Way +3 if Breakaway Baltic Republics Not playable for the event after Kremlin Coup. malta_summit permanently_remove -return + diff --git a/gencode.js b/gencode.js new file mode 100644 index 0000000..6e66a02 --- /dev/null +++ b/gencode.js @@ -0,0 +1,107 @@ +"use strict" + +let fs = require("fs") + +let pc = 0 + +function tokenize(s) { + let list = [] + let p = 0, + n = s.length + while (p < n) { + while (p < n && s[p] === " ") + ++p + if (p < n) { + let m = p + while (p < n && s[p] !== " ") { + let q = s[p++] + switch (q) { + case "(": + case "[": + case "{": + for (let x = 1; p < n && x > 0; ++p) { + switch (s[p]) { + case "(": + case "[": + case "{": + ++x + break + case ")": + case "]": + case "}": + --x + break + } + } + break + case '"': + case "'": + case "`": + while (p < n && s[p] !== q) + ++p + break + } + } + list.push(s.substring(m, p)) + } + } + return list +} + +function emit(line) { + ++pc + line[0] = "vm_" + line[0] + for (let i = 1; i < line.length; ++i) { + if (typeof line[i] === "string") { + if (line[i] === "all") + line[i] = 999 + if (line[i][0] === "(" && !line[i].match(/\)=>/)) + line[i] = "()=>" + line[i] + if (line[i][0] === "`") + line[i] = "()=>" + line[i] + } + } + console.log("\t[ " + line.join(", ") + " ],") +} + +console.log("// #region GENERATED EVENT CODE") +console.log("const CODE = []") +let first = false + +for (let line of fs.readFileSync("events.txt", "utf-8").split("\n")) { + line = line.trim() + if (line.length === 0 || line[0] === "#") + continue + if (line === "EOF") + break + line = tokenize(line) + switch (line[0]) { + case "CARD": + if (first++) { + emit(["return"]) + console.log("]") + } + console.log("") + console.log("CODE[" + line[1] + "] = [ // " + line.slice(3).join(" ")) + break + + case "log": + case "prompt": + emit([ line[0], line.slice(1).join(" ") ]) + break + + case "asm": + case "if": + case "while": + emit([ line[0], "()=>" + line.slice(1).join(" ") ]) + break + + default: + emit(line) + break + } +} + +emit(["return"]) +console.log("]") +console.log("// #endregion")
\ No newline at end of file @@ -410,7 +410,7 @@ states.choose_card = { prompt() {
if (game.played_card > 0) {
game.state = 'play_card'
- view.prompt = 'Choose a card: done'
+ view.prompt = 'Choose a card: done.'
gen_action("done");
return;
}
@@ -682,7 +682,7 @@ states.finish_support_check_prep = { inactive: 'do support checks',
prompt () {
if (game.available_ops === 0) {
- view.prompt = 'Support checks: done'
+ view.prompt = 'Support checks: done.'
gen_action('done')
//return
} else {
@@ -828,7 +828,7 @@ states.support_check_prep = { inactive: 'do support checks',
prompt () {
if (game.available_ops === 0) {
- view.prompt = 'Support checks: done'
+ view.prompt = 'Support checks: done.'
gen_action('done')
//return
}
@@ -1042,7 +1042,7 @@ states.raise_stakes_1 = { prompt () {
console.log('game.raised_stakes_discard', game.raised_stakes_discard)
if (game.raised_stakes_discard === 3) {
- view.prompt = 'Raise the stakes: done'
+ view.prompt = 'Raise the stakes: done.'
gen_action('done')
} else if (game.raised_stakes_discard > 0) {
view.prompt = `Discard ${3-game.raised_stakes_discard} cards to raise the stakes`
@@ -1086,7 +1086,7 @@ states.raise_stakes_2 = { prompt () {
if (game.raised_stakes_discard === 3) {
- view.prompt = 'Raise the stakes: done'
+ view.prompt = 'Raise the stakes: done.'
gen_action('done')
} else if (game.raised_stakes_discard > 0) {
view.prompt = `Discard ${3-game.raised_stakes_discard} cards to raise the stakes`
@@ -1787,7 +1787,7 @@ states.stasi_play_card = { prompt () {
if (game.played_card > 0) {
game.state = 'play_card'
- view.prompt = 'Play card: done'
+ view.prompt = 'Play card: done.'
gen_action("done");
return;
}
@@ -3054,6 +3054,10 @@ function check_systematisation() { }
}
+function this_card() {
+ return game.vm_event > 0 ? game.vm_event : game.played_card
+}
+
const pluralize = (count, noun, suffix = 's') =>
`${count} ${noun}${count !== 1 ? suffix : ''}`
@@ -3256,11 +3260,13 @@ function vm_endif() { }
function event_prompt(str) {
+ console.log('event_prompt called with', str)
if (typeof str === "undefined")
str = CODE[game.vm.fp][game.vm.prompt][1]
if (typeof str === "function")
str = str()
- view.prompt = data.card_title[this_card()] + ": " + str
+ console.log('str:', str)
+ return str
}
function vm_prompt() {
@@ -4696,7 +4702,7 @@ states.vm_take_control = { view.prompt = 'All spaces already controlled. Continue.'
gen_action('done')
} else if (game.vm_available_ops > 0 ) {
- view.prompt = 'Select a space to take control.'
+ view.prompt = `Take control of ${event_prompt()}.`
for (let space_id of game.valid_spaces) {
/*const space = spaces.find(s => s && s.space_id === space_id);
if (space) {*/
@@ -4704,7 +4710,7 @@ states.vm_take_control = { //}
}
} else {
- view.prompt = 'Done'
+ view.prompt = 'Done.'
gen_action('done')
}
},
@@ -4724,7 +4730,7 @@ states.vm_add_infl = { gen_action('done')
}
else if (game.vm_available_ops > 0 ) {
- view.prompt = `Add influence. ${game.vm_available_ops} remaining.`
+ view.prompt = `${cards[this_card()].name}: add ${game.vm_available_ops} influence to ${event_prompt()}.`
for (let space_id of game.valid_spaces) {
/*const space = spaces.find(s => s && s.space_id === space_id);
@@ -4747,14 +4753,16 @@ states.vm_add_infl = { }
states.vm_add_infl_free = {
- inactive: 'add influence.',
+ get inactive() {
+ return `resolve ${cards[this_card()].name}: add influence.`
+ },
prompt () {
if (game.vm_available_ops > 0 && game.valid_spaces.length === 0 ) {
view.prompt = 'No available spaces remaining. Add influence: done.'
gen_action('done')
}
else if (game.vm_available_ops > 0 ) {
- view.prompt = `Add influence. ${game.vm_available_ops} remaining.`
+ view.prompt = `${cards[this_card()].name}: add ${game.vm_available_ops} influence to ${event_prompt()}.`
for (let space_id of game.valid_spaces) {
/*const space = spaces.find(s => s && s.space_id === space_id);
@@ -4777,10 +4785,13 @@ states.vm_add_infl_free = { }
states.vm_add_x_infl = {
- inactive: 'add influence.',
+ get inactive() {
+ return `resolve ${cards[this_card()].name}: add influence.`
+ },
+// inactive: `resolve ${cards[this_card()].name}: add influence.`,
prompt () {
if (game.vm_available_ops > 0 ) {
- view.prompt = `Add ${game.vm_available_ops} influence.`
+ view.prompt = `${cards[this_card()].name}: Add ${game.vm_available_ops} influence to ${event_prompt()}.`
for (let space_id of game.valid_spaces) {
/*const space = spaces.find(s => s && s.space_id === space_id);
@@ -4789,7 +4800,7 @@ states.vm_add_x_infl = { //}
}
} else {
- view.prompt = 'Done'
+ view.prompt = 'Done.'
gen_action('done')
}
},
@@ -4803,10 +4814,12 @@ states.vm_add_x_infl = { }
states.vm_add_limited_infl = {
- inactive: 'add influence.',
+ get inactive() {
+ return `resolve ${cards[this_card()].name}: add influcence.`
+ },
prompt () {
if (game.vm_available_ops > 0 && game.valid_spaces.length > 0) {
- view.prompt = `Add influence. ${game.vm_available_ops} influence remaining.`
+ view.prompt = `${cards[this_card()].name}: add ${game.vm_available_ops} influence to ${event_prompt()}.`
for (let space_id of game.valid_spaces) {
/*const space = spaces.find(s => s && s.space_id === space_id);
@@ -4815,7 +4828,7 @@ states.vm_add_limited_infl = { //}
}
} else {
- view.prompt = 'Done'
+ view.prompt = 'Done.'
gen_action('done')
}
},
@@ -4836,7 +4849,7 @@ states.vm_remove_infl = { gen_action('done')
return
}
- view.prompt = 'Select a space to remove influence'
+ view.prompt = `Remove ${game.vm_available_ops} opponent influence${event_prompt()}.`
for (let space_id of game.valid_spaces) {
/*const space = spaces.find(s => s && s.space_id === space_id);
@@ -4857,10 +4870,12 @@ states.vm_remove_infl = { states.vm_remove_x_infl = {
- inactive: 'remove influence.',
+ get inactive() {
+ return `resolve ${cards[this_card()].name}: remove influence from ${event_prompt()}.`
+ },
prompt () {
if (game.vm_available_ops > 0 ) {
- view.prompt = `Remove ${game.vm_available_ops} influence.`
+ view.prompt = `${cards[this_card()].name}: remove ${game.vm_available_ops} influence from ${event_prompt()}.`
for (let space_id of game.valid_spaces) {
/*const space = spaces.find(s => s && s.space_id === space_id);
@@ -4869,7 +4884,7 @@ states.vm_remove_x_infl = { //}
}
} else {
- view.prompt = 'Remove influence: done'
+ view.prompt = 'Remove influence: done.'
gen_action('done')
}
},
@@ -4886,7 +4901,7 @@ states.vm_remove_limited_infl = { inactive: 'remove influence.',
prompt () {
if (game.vm_available_ops > 0 && game.valid_spaces.length > 0) {
- view.prompt = `Remove influence.`
+ view.prompt = `Remove ${game.vm_available_ops} influence, no more than ${game.vm_max_infl} per space.`
for (let space_id of game.valid_spaces) {
/*const space = spaces.find(s => s && s.space_id === space_id);
@@ -4895,7 +4910,7 @@ states.vm_remove_limited_infl = { //}
}
} else {
- view.prompt = 'Done'
+ view.prompt = 'Done.'
gen_action('done')
}
},
@@ -4916,7 +4931,7 @@ states.vm_remove_all_infl = { gen_action('done')
return
}
- view.prompt = 'Remove influence'
+ view.prompt = `Remove all influence from ${event_prompt()}.`
for (let space_id of game.valid_spaces) {
/*const space = spaces.find(s => s && s.space_id === space_id);
@@ -4939,14 +4954,14 @@ states.vm_support_check_prep = { inactive: 'do support check',
prompt () {
if (game.vm_available_ops === 0) {
- view.prompt = 'Support check: done'
+ view.prompt = 'Support check: done.'
gen_action('done')
} else if (game.valid_spaces.length === 0) {
view.prompt = 'No valid targets for support check.'
gen_action('done')
} else {
if (game.vm_available_ops > 0) {
- view.prompt = `Select a space. ${pluralize(game.vm_available_ops, 'support check')} remaining.`
+ view.prompt = `Select a space${event_prompt()}. ${pluralize(game.vm_available_ops, 'support check')} remaining.`
}
for (let space_id of game.valid_spaces) {
if (!space_id) continue
@@ -5037,7 +5052,7 @@ states.vm_brought_in_for_questioning = { inactive: 'discard a card',
prompt() {
if (game.phase === 1) {
- view.prompt = 'Discard a card: done'
+ view.prompt = 'Discard a card: done.'
gen_action('done')
} else if (game.democrat_hand.length === 0) {
view.prompt = 'Brought in for Questioning. No cards to discard.'
@@ -5691,7 +5706,7 @@ states.vm_malta_summit = { view.prompt = 'Roll a die.'
gen_action('roll')
} else {
- view.prompt = 'Done'
+ view.prompt = 'Done.'
gen_action('done')
}
},
@@ -6446,7 +6461,7 @@ states.vm_tst_6 = { inactive: 'make their free support check.',
prompt() {
if (game.vm_available_ops === 0) {
- view.prompt = 'Tiananmen Square Track award support check: done'
+ view.prompt = 'Tiananmen Square Track award support check: done.'
gen_action('done')
return
} else {
@@ -6622,249 +6637,317 @@ states.vm_support_falters = { /* =================== EVENTS ================================ */
+// #region GENERATED EVENT CODE
const CODE = []
-CODE[1] = [//Legacy of Martial Law*
- [vm_valid_spaces_country_opp, 'Poland'],
- [vm_legacy_of_martial_law],
- [vm_valid_spaces_country_sc, 'Poland'],
- [vm_support_check, 1],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[1] = [ // Legacy of Martial Law*
+ [ vm_valid_spaces_country_opp, 'Poland' ],
+ [ vm_legacy_of_martial_law ],
+ [ vm_valid_spaces_country_sc, 'Poland' ],
+ [ vm_support_check, 1 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[2] = [//Solidarity Legalised*
- [vm_solidarity_legalised],
- [vm_valid_spaces_solidarity_legalised],
- [vm_add_limited_infl, 9, 1],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[2] = [ // Solidarity Legalised*
+ [ vm_solidarity_legalised ],
+ [ vm_valid_spaces_solidarity_legalised ],
+ [ vm_prompt, 'every uncontrolled Worker and Farmer space in Poland' ],
+ [ vm_add_limited_infl, 9, 1 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[3] = [//Walesa
- [vm_valid_spaces_country, 'Poland'],
- [vm_add_infl_free, 4],
- [vm_valid_spaces_country_sc, 'Poland'],
- [vm_support_check, 2],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[3] = [ // Walesa
+ [ vm_valid_spaces_country, 'Poland' ],
+ [ vm_prompt, 'any space(s) in Poland' ],
+ [ vm_add_infl_free, 4 ],
+ [ vm_valid_spaces_country_sc, 'Poland' ],
+ [ vm_support_check, 2 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[4] = [//Michnik
- [vm_valid_spaces, 26],
- [vm_add_x_infl, 3],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[4] = [ // Michnik
+ [ vm_valid_spaces, 26 ],
+ [ vm_prompt, 'the Polish Intellectuals space' ],
+ [ vm_add_x_infl, 3 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[5] = [//General strike
- [vm_general_strike],
- [vm_return]
+
+CODE[5] = [ // General strike
+ [ vm_general_strike ],
+ [ vm_return ],
]
-CODE[6] = [//Brought in for Questioning
- [vm_brought_in_for_questioning],
- [vm_return]
+
+CODE[6] = [ // Brought in for Questioning
+ [ vm_brought_in_for_questioning ],
+ [ vm_return ],
]
-CODE[7] = [//State Run Media*
- [vm_valid_spaces_opponent],
- [vm_remove_limited_opp_infl, 4, 2],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[7] = [ // State Run Media*
+ [ vm_valid_spaces_opponent ],
+ [ vm_remove_limited_opp_infl, 4, 2 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[8] = [//Prudence
- [vm_prudence],
- [vm_return]
+
+CODE[8] = [ // Prudence
+ [ vm_prudence ],
+ [ vm_return ],
]
-CODE[9] = [// The Wall*
- [vm_the_wall],
- [vm_permanently_remove]
- [vm_return]
+
+CODE[9] = [ // The Wall*
+ [ vm_the_wall ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[10] = [//Cult of Personality
- [vm_valid_spaces_country_socio_2, 'Romania', 3, 4],
- [vm_add_limited_infl, 4, 2],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[10] = [ // Cult of Personality
+ [ vm_valid_spaces_country_socio_2, 'Romania', 3, 4 ],
+ [ vm_prompt, 'in Worker or Farmer spaces in Romania, no more than 2 per space' ],
+ [ vm_add_limited_infl, 4, 2 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[11] = [//Dissident arrested
- [vm_valid_spaces_opponent_socio, 5],
- [vm_remove_x_opp_infl, 2],
- [vm_return]
+
+CODE[11] = [ // Dissident arrested
+ [ vm_valid_spaces_opponent_socio, 5 ],
+ [ vm_prompt, 'any Intellectuals space' ],
+ [ vm_remove_x_opp_infl, 2 ],
+ [ vm_return ],
]
-CODE[12] = [//Apparatchicks
- [vm_valid_spaces_socio, 2],
- [vm_add_infl, 3],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[12] = [ // Apparatchicks
+ [ vm_valid_spaces_socio, 2 ],
+ [ vm_prompt, 'any Bureaucratic space(s)' ],
+ [ vm_add_infl, 3 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[13] = [// Stasi
- [vm_stasi],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[13] = [ // Stasi
+ [ vm_stasi ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[14] = [//Gorbachev Charms the West
- [vm_valid_spaces_opponent],
- [vm_remove_opp_infl, 2],
- [vm_valid_spaces_sc],
- [vm_support_check, 1],
- [vm_return]
+
+CODE[14] = [ // Gorbachev Charms the West
+ [ vm_valid_spaces_opponent ],
+ [ vm_remove_opp_infl, 2 ],
+ [ vm_valid_spaces_sc ],
+ [ vm_support_check, 1 ],
+ [ vm_return ],
]
-CODE[15] = [//Honecker
- [vm_honecker],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[15] = [ // Honecker
+ [ vm_honecker ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[16] = [//Nomenklatura*
- [vm_nomenklatura],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[16] = [ // Nomenklatura*
+ [ vm_nomenklatura ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[17] = [//Roundtable talks
- [vm_roundtable_talks],
- [vm_return]
+
+CODE[17] = [ // Roundtable talks
+ [ vm_roundtable_talks ],
+ [ vm_return ],
]
-CODE[18] = [//Poszgay Defends the Revolution
- [vm_poszgay],
- [vm_add_limited_infl, 4, 1],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[18] = [ // Poszgay Defends the Revolution
+ [ vm_poszgay ],
+ [ vm_prompt, 'spaces in Hungary not under Democratic control' ],
+ [ vm_add_limited_infl, 4, 1 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[19] = [// Papal vist
- [vm_valid_spaces, 20, 35, 38],
- [vm_add_x_infl, 3],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[19] = [ // Papal vist
+ [ vm_valid_spaces, 20, 35, 38 ],
+ [ vm_prompt, 'in any Catholic Church space' ],
+ [ vm_add_x_infl, 3 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[20] = [//Deutsche Marks*
- [vm_deutsche_marks],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[20] = [ // Deutsche Marks*
+ [ vm_deutsche_marks ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[21] = [//Common European Home
- [vm_common_european_home],
- [vm_return]
+
+CODE[21] = [ // Common European Home
+ [ vm_common_european_home ],
+ [ vm_return ],
]
-CODE[22] = [//Power Struggle - Poland
- [vm_power_struggle],
- [vm_return]
+
+CODE[22] = [ // Power Struggle - Poland
+ [ vm_power_struggle ],
+ [ vm_return ],
]
-CODE[23] = [//Power Struggle - Hungary
- [vm_power_struggle],
- [vm_return]
+
+CODE[23] = [ // Power Struggle - Hungary
+ [ vm_power_struggle ],
+ [ vm_return ],
]
-CODE[24] = [// St Nicolas Church
- [vm_valid_spaces, 6],
- [vm_take_control_prep, 1],
- [vm_st_nicholas_church],
- [vm_return]
+
+CODE[24] = [ // St Nicolas Church
+ [ vm_valid_spaces, 6 ],
+ [ vm_prompt, 'the Lutheran Church' ],
+ [ vm_take_control_prep, 1 ],
+ [ vm_st_nicholas_church ],
+ [ vm_return ],
]
-CODE[25] = [// Perestroika
- [vm_perestroika],
- [vm_return]
+
+CODE[25] = [ // Perestroika
+ [ vm_perestroika ],
+ [ vm_return ],
]
-CODE[26] = [//Helsinki Final Act*
- [vm_helsinki_final_act],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[26] = [ // Helsinki Final Act*
+ [ vm_helsinki_final_act ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[27] = [// Consumerism
- [vm_valid_spaces_opponent_socio, 4],
- [vm_remove_opp_infl, 1],
- [vm_valid_spaces_opponent_socio, 4],
- [vm_active_country],
- [vm_support_check, 1],
- [vm_return]
+
+CODE[27] = [ // Consumerism
+ [ vm_valid_spaces_opponent_socio, 4 ],
+ [ vm_prompt, ' from a Worker space' ],
+ [ vm_remove_opp_infl, 1 ],
+ [ vm_valid_spaces_opponent_socio, 4 ],
+ [ vm_active_country ],
+ [ vm_support_check, 1 ],
+ [ vm_return ],
]
-CODE[28] = [//Factory Party Cells
- [vm_valid_spaces_opponent_socio, 4],
- [vm_remove_limited_opp_infl, 3, 2],
- [vm_return]
+CODE[28] = [ // Factory Party Cells
+ [ vm_valid_spaces_opponent_socio, 4 ],
+ [ vm_prompt, '3 Worker spaces, no more than 2 per space' ],
+ [ vm_remove_limited_opp_infl, 3, 2 ],
+ [ vm_return ],
]
-CODE[29] = [//Jan Palach Week*
- [vm_valid_spaces, 30],
- [vm_add_x_infl, 6],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[29] = [ // Jan Palach Week*
+ [ vm_valid_spaces, 30 ],
+ [ vm_prompt, 'the Charles University space' ],
+ [ vm_add_x_infl, 6 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[30] = [// Tear Gas
- [vm_tear_gas],
- [vm_return]
+
+CODE[30] = [ // Tear Gas
+ [ vm_tear_gas ],
+ [ vm_return ],
]
-CODE[31] = [// Intelligentsia
- [vm_valid_spaces, 4, 26, 31, 46, 55, 73],
- [vm_add_limited_infl, 4, 2],
- [vm_return]
+
+CODE[31] = [ // Intelligentsia
+ [ vm_valid_spaces, 4, 26, 31, 46, 55, 73 ],
+ [ vm_prompt, 'Intellectual spaces, no more than 2 per space' ],
+ [ vm_add_limited_infl, 4, 2 ],
+ [ vm_return ],
]
-CODE[32] = [//Peasant Parties*
- [vm_valid_spaces_socio, 3],
- [vm_add_limited_infl, 4, 2],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[32] = [ // Peasant Parties*
+ [ vm_valid_spaces_socio, 3 ],
+ [ vm_prompt, 'Farmer spaces, no more than 2 per space' ],
+ [ vm_add_limited_infl, 4, 2 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[33] = [//Sajudis*
- [vm_valid_spaces, 56, 70],
- [vm_take_control_prep, 1],
- [vm_sajudis],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[33] = [ // Sajudis*
+ [ vm_valid_spaces, 56, 70 ],
+ [ vm_prompt, 'any Minorities space' ],
+ [ vm_take_control_prep, 1 ],
+ [ vm_sajudis ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[34] = [//Fidesz*
- [vm_valid_spaces, 47],
- [vm_add_x_infl, 6],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[34] = [ // Fidesz*
+ [ vm_valid_spaces, 47 ],
+ [ vm_prompt, 'the Hungary students space' ],
+ [ vm_add_x_infl, 6 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[35] = [//Heal our Bleeding Wounds*
- [vm_heal_our_bleeding_wounds],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[35] = [ // Heal our Bleeding Wounds*
+ [ vm_heal_our_bleeding_wounds ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[36] = [//Dash for the West*
- [vm_dash_for_the_west],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[36] = [ // Dash for the West*
+ [ vm_dash_for_the_west ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[37] = [//Nagy Reburied*
- [vm_valid_spaces, 43],
- [vm_remove_all_infl, 1],
- [vm_valid_spaces_country, 'Hungary'],
- [vm_add_limited_infl, 4, 2],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[37] = [ // Nagy Reburied*
+ [ vm_valid_spaces, 43 ],
+ [ vm_prompt, 'the Hungary Elite space' ],
+ [ vm_remove_all_infl, 1 ],
+ [ vm_valid_spaces_country, 'Hungary' ],
+ [ vm_prompt, 'Hungary, no more than 2 per space' ],
+ [ vm_add_limited_infl, 4, 2 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[38] = [// July Concept
- [vm_valid_spaces_country, 'Bulgaria'],
- [vm_add_infl, 3],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[38] = [ // July Concept
+ [ vm_valid_spaces_country, 'Bulgaria' ],
+ [ vm_prompt, 'Bulgaria' ],
+ [ vm_add_infl_free, 3 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[39] = [//Eco-Glasnost*
- [vm_valid_spaces, 66],
- [vm_add_x_infl, 4],
- [vm_eco_glasnost],
- [vm_return]
+
+CODE[39] = [ // Eco-Glasnost*
+ [ vm_valid_spaces, 66 ],
+ [ vm_prompt, 'Ruse' ],
+ [ vm_add_x_infl, 4 ],
+ [ vm_eco_glasnost ],
+ [ vm_return ],
]
-CODE[40] = [//Hungarian Democratic Forum
- [vm_valid_spaces_country, 'Hungary'],
- [vm_add_infl_free, 3],
- [vm_valid_spaces_country_sc, 'Hungary'],
- [vm_support_check, 1],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[40] = [ // Hungarian Democratic Forum
+ [ vm_valid_spaces_country, 'Hungary' ],
+ [ vm_prompt, 'Hungary' ],
+ [ vm_add_infl_free, 3 ],
+ [ vm_valid_spaces_country_sc, 'Hungary' ],
+ [ vm_prompt, ' in Hungary' ],
+ [ vm_support_check, 1 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[41] = [//Ceausescu*
- [vm_valid_spaces_country_sc, 'Romania'],
- [vm_remove_opp_infl, 3],
- [vm_valid_spaces_country_sc, 'Romania'],
- [vm_support_check, 1],
- [vm_ceausescu],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[41] = [ // Ceausescu*
+ [ vm_valid_spaces_country_sc, 'Romania' ],
+ [ vm_prompt, ' from Romania' ],
+ [ vm_remove_opp_infl, 3 ],
+ [ vm_valid_spaces_country_sc, 'Romania' ],
+ [ vm_prompt, ' in Romania' ],
+ [ vm_support_check, 1 ],
+ [ vm_ceausescu ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[42] = [//Power Struggle - East Germany
- [vm_power_struggle],
- [vm_return]
+
+CODE[42] = [ // Power Struggle - East Germany
+ [ vm_power_struggle ],
+ [ vm_return ],
]
-CODE[43] = [//Power Struggle - Bulgaria
- [vm_power_struggle],
- [vm_return]
+
+CODE[43] = [ // Power Struggle - Bulgaria
+ [ vm_power_struggle ],
+ [ vm_return ],
]
+
CODE[44] = [ // Inflationary Currency
[ vm_inflationary_currency ],
[ vm_valid_spaces_country_sc ],
@@ -6876,387 +6959,483 @@ CODE[44] = [ // Inflationary Currency [ vm_endif ],
[ vm_permanently_remove ],
[ vm_return ],
+]
+
+CODE[45] = [ // Soviet Troop Withdrawals*
+ [ vm_valid_spaces_region_opp, 'Eastern Europe' ],
+ [ vm_prompt, 'Eastern Europe' ],
+ [ vm_remove_limited_opp_infl, 5, 2 ],
+ [ vm_permanently_remove ],
[ vm_return ],
]
-CODE[45] = [//Soviet Troop Withdrawals*
- [vm_valid_spaces_region_opp, 'Eastern Europe'],
- [vm_remove_limited_opp_infl, 5, 2],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[46] = [ // Goodbye Lenin!*
+ [ vm_goodbye_lenin ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[46] = [//Goodbye Lenin!*
- [vm_goodbye_lenin],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[47] = [ // Bulgarian Turks Expelled*
+ [ vm_bulgarian_turks_expelled ],
+ [ vm_prompt, 'Razgrad' ],
+ [ vm_remove_all_infl, 1 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
+]
+
+CODE[48] = [ // We are the People!*
+ [ vm_we_are_the_people ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[47] = [//Bulgarian Turks Expelled*
- [vm_bulgarian_turks_expelled],
- [vm_remove_all_infl, 1],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[49] = [ // Foreign Currency Debt Burden*
+ [ vm_foreign_currency_debt_burden ],
+ [ vm_return ],
]
-CODE[48] = [//We are the People!*
- [vm_we_are_the_people],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[50] = [ // The Sinatra Doctrine*
+ [ vm_the_sinatra_doctrine ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[49] = [//Foreign Currency Debt Burden*
- [vm_foreign_currency_debt_burden],
- [vm_return]
+
+CODE[51] = [ // 40th Anniversary Celebration*
+ [ vm_40th_anniversary_celebration ],
+ [ vm_valid_spaces_country, 'East_Germany' ],
+ [ vm_prompt, 'East Germany'],
+ [ vm_add_infl_free ],
+ [ vm_40th_anniversary_celebration_vp ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[50] = [//The Sinatra Doctrine*
- [vm_the_sintra_doctrine],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[52] = [ // Normalisation
+ [ vm_normalisation ],
+ [ vm_prompt, 'the Czechoslovakia Elite and Bureaucrat Spaces' ],
+ [ vm_remove_all_infl, 2 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[51] = [//40th Anniverstary Celebration
- [vm_40th_anniversary_celebration],
- [vm_valid_spaces_country, 'East_Germany'],
- [vm_add_infl_free],
- [vm_40th_anniversary_celebration_vp],
- [vm_permanently_remove],
- [vm_return]
+CODE[53] = [ // Li Peng*
+ [ vm_li_peng ],
+ [ vm_return ],
]
-CODE[52] = [//Normalisation
- [vm_normalisation],
- [vm_remove_all_infl, 2],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[54] = [ // The Crowd Turns Against Ceausescu*
+ [ vm_the_crowd_turns_against_ceausescu ],
+ [ vm_return ],
]
-CODE[53] = [//Li Peng*
- [vm_li_peng],
- [vm_return]
+
+CODE[55] = [ // Power Struggle - Czechoslovakia
+ [ vm_power_struggle ],
+ [ vm_return ],
]
-CODE[54] = [//The Crowd Turns Against Ceausescu*
- [vm_the_crowd_turns_against_ceausescu],
- [vm_return]
+
+CODE[56] = [ // Foreign Television
+ [ vm_foreign_television ],
+ [ vm_remove_limited_opp_infl, 4, 2 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[55] = [//Power Struggle - Czechoslovakia
- [vm_power_struggle],
- [vm_return]
+
+CODE[57] = [ // Central Committee Reshuffle*
+ [ vm_central_committee_reshuffle ],
+ [ vm_add_infl, 3 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[56] = [//Foreign Television
- [vm_foreign_television],
- [vm_remove_limited_opp_infl, 4 ,2],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[58] = [ // Austria-Hungary Border Reopened*
+ [ vm_austria_hungary_border_reopened ],
+ [ vm_return ],
]
-CODE[57] = [//Central Committee Reshuffle*
- [vm_central_committee_reshuffle],
- [vm_add_infl, 3],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[59] = [ // GrenzTruppen*
+ [ vm_grenztruppen ],
+ [ vm_return ],
]
-CODE[58] = [//Austria-Hungary Border Reopened*
- [vm_austria_hungary_border_reopened],
- [vm_return]
- ]
-CODE[59] = [//GrenzTruppen*
- [vm_grenztruppen],
- [vm_return]
- ]
-CODE[60] = [//Toxic Waste*
- [vm_valid_spaces_socio, 4],
- [vm_add_infl, 3],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[60] = [ // Toxic Waste*
+ [ vm_valid_spaces_socio, 4 ],
+ [ vm_prompt, 'any Worker space(s)' ],
+ [ vm_add_infl_free, 3 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[61] = [//The Monday Demonstrations*
- [vm_the_monday_demonstrations],
- [vm_take_control_prep, 2],
- [vm_valid_spaces_country_sc, 'East_Germany'],
- [vm_support_check, 5],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[61] = [ // The Monday Demonstrations*
+ [ vm_the_monday_demonstrations ],
+ [ vm_prompt, 'the Lutheran Church Space and Leipzig' ],
+ [ vm_take_control_prep, 2 ],
+ [ vm_valid_spaces_country_sc, 'East_Germany' ],
+ [ vm_prompt, ' in East Germany' ],
+ [ vm_support_check, 5 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[62] = [//Yakovlev Counsels Gorbachev*
- [vm_yakovlev_counsels_gorbachev],
- [vm_return]
+
+CODE[62] = [ // Yakovlev Counsels Gorbachev*
+ [ vm_yakovlev_counsels_gorbachev ],
+ [ vm_return ],
]
-CODE[63] = [//Genscher*
- [vm_genscher],
- [vm_return]
+
+CODE[63] = [ // Genscher*
+ [ vm_genscher ],
+ [ vm_return ],
]
-CODE[64] = [//Legacy of 1968*
- [vm_legacy_of_1968],
- [vm_add_limited_infl, 11, 1],
- [vm_permanently_remove],
- [vm_return]
- ]
-CODE[65] = [//Presidential Visit*
- [vm_presidential_visit],
- [vm_return]
+
+CODE[64] = [ // Legacy of 1968*
+ [ vm_legacy_of_1968 ],
+ [ vm_prompt, 'all spaces in Czechoslovakia not controlled by the Communist Player' ],
+ [ vm_add_limited_infl, 11, 1 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[66] = [//New Forum
- [vm_valid_spaces_country, 'East_Germany'],
- [vm_add_limited_infl, 3, 1],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[65] = [ // Presidential Visit*
+ [ vm_presidential_visit ],
+ [ vm_return ],
]
-CODE[67] = [//Reformer Rehabilitated*
- [vm_reformer_rehabilitated],
- [vm_return]
- ]
-CODE[68] = [//Klaus and Komarek*
- [vm_klaus_and_komarek],
- [vm_remove_x_opp_infl, 2],
- [vm_valid_spaces, 29],
- [vm_add_x_infl, 2],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[66] = [ // New Forum
+ [ vm_valid_spaces_country, 'East_Germany' ],
+ [ vm_prompt, '3 spaces in East Germany' ],
+ [ vm_add_limited_infl, 3, 1 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[69] = [//Systematization*
- [vm_valid_spaces_country, 'Romania'],
- [vm_systematization],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[67] = [ // Reformer Rehabilitated*
+ [ vm_reformer_rehabilitated ],
+ [ vm_return ],
]
-CODE[70] = [//Securitate*
- [vm_securitate],
- [vm_return],
+
+CODE[68] = [ // Klaus and Komarek*
+ [ vm_klaus_and_komarek ],
+ [ vm_prompt, 'Prague' ],
+ [ vm_remove_x_opp_infl, 2 ],
+ [ vm_valid_spaces, 29 ],
+ [ vm_add_x_infl, 2 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[71] = [//Kiss of Death*
- [vm_permanently_remove],
- [vm_kiss_of_death],
- [vm_return]
+
+CODE[69] = [ // Systematization*
+ [ vm_valid_spaces_country, 'Romania' ],
+ [ vm_systematization ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[72] = [//Peasant Parties Revolt
- [vm_peasant_parties_revolt],
- [vm_return]
- ]
-CODE[73] = [//Laszlo Tokes*
- [vm_valid_spaces, 50, 56],
- [vm_add_limited_infl, 2, 1],
- [vm_laszlo_tokes],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[70] = [ // Securitate*
+ [ vm_securitate ],
+ [ vm_return ],
]
-CODE[74] = [//FRG Embassies
- [vm_frg_embassies],
- [vm_return]
+
+CODE[71] = [ // Kiss of Death*
+ [ vm_permanently_remove ],
+ [ vm_kiss_of_death ],
+ [ vm_return ],
]
-CODE[75] = [//Exit Visas*
- [vm_exit_visas],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[72] = [ // Peasant Parties Revolt
+ [ vm_peasant_parties_revolt ],
+ [ vm_return ],
]
-CODE[76] = [//Warsaw Pact Summit
- [vm_warsaw_pact_summit],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[73] = [ // Laszlo Tokes*
+ [ vm_valid_spaces, 50, 56 ],
+ [ vm_prompt, 'in Timisoara and Harghita/Covasna' ],
+ [ vm_add_limited_infl, 2, 1 ],
+ [ vm_laszlo_tokes ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[77] = [//Samizdat
- [vm_samizdat],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[74] = [ // FRG Embassies
+ [ vm_frg_embassies ],
+ [ vm_return ],
]
-CODE[78] = [//Workers Revolt
- [vm_workers_revolt],
- [vm_return]
+
+CODE[75] = [ // Exit Visas*
+ [ vm_exit_visas ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[79] = [//The Third Way*
- [vm_the_third_way],
- [vm_valid_spaces, 4],
- [vm_add_x_infl, 3],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[76] = [ // Warsaw Pact Summit
+ [ vm_warsaw_pact_summit ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[80] = [//Nepotism*
- [vm_nepotism],
- [vm_valid_spaces_region_socio, 'Balkans', 4],
- [vm_add_infl],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[77] = [ // Samizdat
+ [ vm_samizdat ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[81] = [//The Baltic Way*
- [vm_the_baltic_way],
- [vm_take_control_prep, 1],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[78] = [ // Workers Revolt
+ [ vm_workers_revolt ],
+ [ vm_return ],
]
-CODE[82] = [//Spitzel*
- [vm_valid_spaces_country_sc, 'East_Germany'],
- [vm_remove_opp_infl, 2],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[79] = [ // The Third Way*
+ [ vm_the_third_way ],
+ [ vm_valid_spaces, 4 ],
+ [ vm_prompt, 'the East German Writers space' ],
+ [ vm_add_x_infl, 3 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[83] = [//Modrow*
- [vm_modrow],
- [vm_valid_spaces_country, 'East_Germany'],
- [vm_add_limited_infl, 4, 2],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[80] = [ // Nepotism*
+ [ vm_nepotism ],
+ [ vm_valid_spaces_region_socio, 'Balkans', 4 ],
+ [ vm_prompt, 'Worker spaces in the Balkans' ],
+ [ vm_add_infl_free ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[84] = [//Breakaway Baltic Republics*
- [vm_breakaway_baltic_republics],
- [vm_take_control_prep, 1],
- [vm_valid_spaces_sc],
- [vm_support_check, 1],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[81] = [ // The Baltic Way*
+ [ vm_the_baltic_way ],
+ [ vm_prompt, 'any Minorities space' ],
+ [ vm_take_control_prep, 1 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[85] = [//Tank Column/Tank Man*
- [vm_tank_column],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[82] = [ // Spitzel*
+ [ vm_valid_spaces_country_sc, 'East_Germany' ],
+ [ vm_prompt, ' from East Germany' ],
+ [ vm_remove_opp_infl, 2 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[86] = [//The Wall Must Go!*
- [vm_the_wall_must_go],
- [vm_remove_infl, 3],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[83] = [ // Modrow*
+ [ vm_modrow ],
+ [ vm_valid_spaces_country, 'East_Germany' ],
+ [ vm_prompt, 'East Germany' ],
+ [ vm_add_limited_infl, 4, 2 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[87] = [//Kohl Proposes Reunification*
- [vm_kohl_proposes_reunification],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[84] = [ // Breakaway Baltic Republics*
+ [ vm_breakaway_baltic_republics ],
+ [ vm_prompt, 'any Minorities space' ],
+ [ vm_take_control_prep, 1 ],
+ [ vm_valid_spaces_sc ],
+ [ vm_support_check, 1 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[88] = [//Adamec*
- [vm_adamec],
- [vm_valid_spaces_country, 'Czechoslovakia'],
- [vm_add_limited_infl, 4, 2],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[85] = [ // Tank Column/Tank Man*
+ [ vm_tank_column ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[89] = [//Domino Theory*
- [vm_domino_theory],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[86] = [ // The Wall Must Go!*
+ [ vm_the_wall_must_go ],
+ [ vm_remove_infl, 3 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[90] = [//Civic Forum*
- [vm_valid_spaces_country, 'Czechoslovakia'],
- [vm_add_infl_free, 4],
- [vm_civic_forum],
- [vm_valid_spaces_country_sc, 'Czechoslovakia'],
- [vm_support_check, 2],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[87] = [ // Kohl Proposes Reunification*
+ [ vm_kohl_proposes_reunification ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[91] = [//My First Banana*
- [vm_valid_spaces_country_opp, 'East_Germany'],
- [vm_remove_opp_infl, 2],
- [vm_valid_spaces_country_sc, 'East_Germany'],
- [vm_support_check, 2],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[88] = [ // Adamec*
+ [ vm_adamec ],
+ [ vm_valid_spaces_country, 'Czechoslovakia' ],
+ [ vm_prompt, 'Czechoslovakia' ],
+ [ vm_add_limited_infl, 4, 2 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[92] = [//vm_betrayal
- [vm_betrayal],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[89] = [ // Domino Theory*
+ [ vm_domino_theory ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[93] = [//Shock Therapy*
- [vm_shock_therapy],
- [vm_valid_spaces_country],
- [vm_add_infl, 3],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[90] = [ // Civic Forum*
+ [ vm_valid_spaces_country, 'Czechoslovakia' ],
+ [ vm_prompt, 'Czechoslovakia' ],
+ [ vm_add_infl_free, 4 ],
+ [ vm_civic_forum ],
+ [ vm_valid_spaces_country_sc, 'Czechoslovakia' ],
+ [ vm_support_check, 2 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[94] = [//Union of Democratic Forces*
- [vm_valid_spaces_country_sc, 'Bulgaria'],
- [vm_remove_opp_infl, 4],
- [vm_valid_spaces_country_sc, 'Bulgaria'],
- [vm_support_check, 2],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[91] = [ // My First Banana*
+ [ vm_valid_spaces_country_opp, 'East_Germany' ],
+ [ vm_prompt, ' from East Germany' ],
+ [ vm_remove_opp_infl, 2 ],
+ [ vm_valid_spaces_country_sc, 'East_Germany' ],
+ [ vm_prompt, ' in East Germany' ],
+ [ vm_support_check, 2 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[95] = [//Power Struggle - Romania
- [vm_power_struggle],
- [vm_return]
+
+CODE[92] = [ // Betrayal
+ [ vm_betrayal ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[96] = [//The Chinese Solution*
- [vm_the_chinese_solution],
- [vm_valid_spaces_country_sc],
- [vm_support_check_modified, 5, 3],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[93] = [ // Shock Therapy*
+ [ vm_shock_therapy ],
+ [ vm_valid_spaces_country ],
+ [ vm_add_infl, 3 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[97] = [//The Tyrant is Gone*
- [vm_valid_spaces, 51],
- [vm_remove_opp_infl, 4],
- [vm_the_tyrant_is_gone],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[94] = [ // Union of Democratic Forces*
+ [ vm_valid_spaces_country_sc, 'Bulgaria' ],
+ [ vm_prompt, ' from Bulgaria' ],
+ [ vm_remove_opp_infl, 4 ],
+ [ vm_valid_spaces_country_sc, 'Bulgaria' ],
+ [ vm_prompt, ' in Bulgaria' ],
+ [ vm_support_check, 2 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[98] = [//Politbuto Intrigue*
- [vm_valid_spaces_country_sc, 'Bulgaria'],
- [vm_remove_limited_opp_infl, 3, 2],
- [vm_valid_spaces_country_sc, 'Bulgaria'],
- [vm_support_check, 1],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[95] = [ // Power Struggle - Romania
+ [ vm_power_struggle ],
+ [ vm_return ],
]
-CODE[99] = [//Ligachev*
- [vm_ligachev],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[96] = [ // The Chinese Solution*
+ [ vm_the_chinese_solution ],
+ [ vm_valid_spaces_country_sc ],
+ [ vm_support_check_modified, 5, 3 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[100] = [//Stand Fast*
- [vm_stand_fast],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[97] = [ // The Tyrant is Gone*
+ [ vm_valid_spaces, 51 ],
+ [ vm_prompt, 'the Romanian Elite Space' ],
+ [ vm_remove_x_opp_infl, 4 ],
+ [ vm_the_tyrant_is_gone ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[101] = [//Elena*
- [vm_valid_spaces, 51],
- [vm_add_infl, 2],
- [vm_elena],
- [vm_return]
+
+CODE[98] = [ // Politburo Intrigue*
+ [ vm_valid_spaces_country_sc, 'Bulgaria' ],
+ [ vm_prompt, 'Bulgaria' ],
+ [ vm_remove_limited_opp_infl, 3, 2 ],
+ [ vm_valid_spaces_country_sc, 'Bulgaria' ],
+ [ vm_support_check, 1 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[102] = [//National Salvation Front*
- [vm_national_salvation_front],
- [vm_return]
+
+CODE[99] = [ // Ligachev*
+ [ vm_ligachev ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[103] = [//Government Resigns*
- [vm_government_resigns],
- [vm_remove_all_infl, 1],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[100] = [ // Stand Fast*
+ [ vm_stand_fast ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[104] = [//New Year's Eve Party*
- [vm_new_years_eve_party],
- [vm_return]
+
+CODE[101] = [ // Elena*
+ [ vm_valid_spaces, 51 ],
+ [ vm_prompt, 'the Romania Elite Space' ],
+ [ vm_add_infl, 2 ],
+ [ vm_elena ],
+ [ vm_return ],
]
-CODE[105] = [//Public Against Violence*
- [vm_valid_spaces, 36, 37],
- [vm_add_limited_infl, 4 ,2],
- [vm_public_against_violence],
- [vm_support_check_modified, 1, 2],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[102] = [ // National Salvation Front*
+ [ vm_national_salvation_front ],
+ [ vm_return ],
]
-CODE[106] = [//Social Democratic Platform Adopted*
- [vm_social_democratic_platform_adopted],
- [vm_valid_spaces_country],
- [vm_add_infl, 2],
- [vm_valid_spaces_country_sc],
- [vm_support_check, 1],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[103] = [ // Government Resigns*
+ [ vm_government_resigns ],
+ [ vm_prompt, 'any uncontrolled Elite space' ],
+ [ vm_remove_all_infl, 1 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[107] = [//Massacre in Timisoara*
- [vm_valid_spaces_country_sc, 'Romania'],
- [vm_support_check_modified, 2, 2],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[104] = [ // New Year's Eve Party*
+ [ vm_new_years_eve_party ],
+ [ vm_return ],
]
-CODE[108] = [//Army Backs Revolution*
- [vm_army_backs_revolution],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[105] = [ // Public Against Violence*
+ [ vm_valid_spaces, 36, 37 ],
+ [ vm_prompt, 'Kosice and Presov' ],
+ [ vm_add_limited_infl, 4, 2 ],
+ [ vm_public_against_violence ],
+ [ vm_support_check_modified, 1, 2 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[109] = [//Kremlin Coup*
- [vm_kremlin_coup],
- [vm_take_control_prep, 6],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[106] = [ // Social Democratic Platform Adopted*
+ [ vm_social_democratic_platform_adopted ],
+ [ vm_valid_spaces_country ],
+ [ vm_add_infl, 2 ],
+ [ vm_valid_spaces_country_sc ],
+ [ vm_support_check, 1 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
-CODE[110] = [//Malta Summit*
- [vm_malta_summit],
- [vm_permanently_remove],
- [vm_return]
+
+CODE[107] = [ // Massacre in Timisoara*
+ [ vm_valid_spaces_country_sc, 'Romania' ],
+ [ vm_prompt, ' in Romania' ],
+ [ vm_support_check_modified, 2, 2 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
]
+CODE[108] = [ // Army Backs Revolution*
+ [ vm_army_backs_revolution ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
+]
+
+CODE[109] = [ // Kremlin Coup*
+ [ vm_kremlin_coup ],
+ [ vm_prompt, 'Elite spaces in all countries where the Communist retains Power' ],
+ [ vm_take_control_prep, 6 ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
+]
+
+CODE[110] = [ // Malta Summit*
+ [ vm_malta_summit ],
+ [ vm_permanently_remove ],
+ [ vm_return ],
+]
+// #endregion
+
+
// ============= TIANANMEN SQUARE TRACK AWARDS ====================
CODE[203] = [//Tiananmen Square space 3 award
[vm_tst_3],
|