summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--events.txt12
-rw-r--r--play.js2
-rw-r--r--rules.js21
3 files changed, 21 insertions, 14 deletions
diff --git a/events.txt b/events.txt
index 88cd639..532b892 100644
--- a/events.txt
+++ b/events.txt
@@ -69,7 +69,7 @@ the_wall
CARD 10 - Cult of Personality
# Place 4 Communist SPs in Worker or Farmer spaces in Romania, no more than 2 per space.
permanently_remove
-if !game.the_tyrant_is_gone
+if !game.persistent_events.includes(C_THE_TYRANT_IS_GONE)
valid_spaces_country_socio_2 'Romania', 3, 4
prompt 'Worker or Farmer spaces in Romania, no more than 2 per space'
add_limited_infl 4 2
@@ -304,7 +304,7 @@ prompt 'make a Support Check in Hungary'
CARD 41 - Ceausescu*
# 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.
permanently_remove
-if game.the_tyrant_is_gone
+if !game.persistent_events.includes(C_THE_TYRANT_IS_GONE)
tyrant_block
else
if !is_auto_resolve(C_CEAUSESCU)
@@ -515,8 +515,12 @@ add_x_infl 2
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.
+if !game.persistent_events.includes(C_THE_TYRANT_IS_GONE)
valid_spaces_country 'Romania'
systematization
+else
+tyrant_block
+endif
CARD 70 - Securitate*
@@ -790,7 +794,7 @@ stand_fast
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
-if !game.the_tyrant_is_gone
+if !game.persistent_events.includes(C_THE_TYRANT_IS_GONE)
valid_spaces 'Cluj-Napoca'
prompt 'the Romania Elite Space'
add_x_infl 2
@@ -850,7 +854,7 @@ prompt `make a Support Check in ${country_name(game.vm_active_country)}`
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.
permanently_remove
-if !game.the_tyrant_is_gone
+if !game.persistent_events.includes(C_THE_TYRANT_IS_GONE)
massacre_in_timisoara
valid_spaces_country_sc 'Romania'
prompt 'Make Support Checks in Romania'
diff --git a/play.js b/play.js
index 7c53d39..8ea17a2 100644
--- a/play.js
+++ b/play.js
@@ -629,7 +629,7 @@ function on_update() {
ui.events[C_SYSTEMATIZATION].style.display = "none"
}
- if (view.the_tyrant_is_gone && view.the_tyrant_is_gone <= last_space) {
+ if (view.the_tyrant_is_gone) {
ui.events[C_THE_TYRANT_IS_GONE].style.display = "block"
ui.events[C_THE_TYRANT_IS_GONE].style.left = ui.layout_xy[view.the_tyrant_is_gone][0] - 25 + "px"
ui.events[C_THE_TYRANT_IS_GONE].style.top = ui.layout_xy[view.the_tyrant_is_gone][1] - 50 + "px"
diff --git a/rules.js b/rules.js
index ed79e5e..e61586c 100644
--- a/rules.js
+++ b/rules.js
@@ -2972,7 +2972,7 @@ function select_card(card){
}
function is_auto_resolve(card) {
- let ceausecu_events = [10, 41, 101, 107]
+ let ceausecu_events = [10, 41, 69, 101, 107]
if (auto_resolve_events.includes(card)) {
return true
}
@@ -3729,14 +3729,13 @@ function reset_power() {
}
function check_tyrant() {
- if (game.the_tyrant_is_gone > 0 && game.the_tyrant_is_gone !== 111 && check_dem_control(game.the_tyrant_is_gone)) {
+ if (game.the_tyrant_is_gone > 0 && check_dem_control(game.the_tyrant_is_gone)) {
log('+2 VP from C97')
game.vp += 2
if (check_vp()) {
return
}
- game.persistent_events = game.persistent_events.filter(n => n !== C_THE_TYRANT_IS_GONE)
- game.the_tyrant_is_gone = 111
+ delete game.the_tyrant_is_gone
}
}
@@ -7986,7 +7985,7 @@ CODE[9] = [ // The Wall*
CODE[10] = [ // Cult of Personality
[ vm_permanently_remove ],
- [ vm_if, ()=>!game.the_tyrant_is_gone ],
+ [ vm_if, ()=>!game.persistent_events.includes(C_THE_TYRANT_IS_GONE) ],
[ vm_valid_spaces_country_socio_2, 'Romania', 3, 4 ],
[ vm_prompt, 'Worker or Farmer spaces in Romania, no more than 2 per space' ],
[ vm_add_limited_infl, 4, 2 ],
@@ -8220,7 +8219,7 @@ CODE[40] = [ // Hungarian Democratic Forum
CODE[41] = [ // Ceausescu*
[ vm_permanently_remove ],
- [ vm_if, ()=>game.the_tyrant_is_gone ],
+ [ vm_if, ()=>!game.persistent_events.includes(C_THE_TYRANT_IS_GONE) ],
[ vm_tyrant_block ],
[ vm_else ],
[ vm_if, ()=>!is_auto_resolve(C_CEAUSESCU) ],
@@ -8431,8 +8430,12 @@ CODE[68] = [ // Klaus and Komarek*
]
CODE[69] = [ // Systematization*
+ [ vm_if, ()=>!game.persistent_events.includes(C_THE_TYRANT_IS_GONE) ],
[ vm_valid_spaces_country, 'Romania' ],
[ vm_systematization ],
+ [ vm_else ],
+ [ vm_tyrant_block ],
+ [ vm_endif ],
[ vm_return ],
]
@@ -8669,7 +8672,7 @@ CODE[96] = [ // The Chinese Solution*
]
CODE[97] = [ // The Tyrant is Gone*
- [ vm_if, ()=>game.persistent_events.includes(THE_CROWD_TURNS_AGAINST_CEAUSESCU_OCCURRED) ],
+ [ vm_if, ()=>game.persistent_events.includes(54) ],
[ vm_valid_spaces, 'Cluj-Napoca' ],
[ vm_prompt, 'the Romanian Elite Space' ],
[ vm_remove_x_opp_infl, 4 ],
@@ -8703,7 +8706,7 @@ CODE[100] = [ // Stand Fast*
]
CODE[101] = [ // Elena*
- [ vm_if, ()=>!game.the_tyrant_is_gone ],
+ [ vm_if, ()=>!game.persistent_events.includes(C_THE_TYRANT_IS_GONE) ],
[ vm_valid_spaces, 'Cluj-Napoca' ],
[ vm_prompt, 'the Romania Elite Space' ],
[ vm_add_x_infl, 2 ],
@@ -8762,7 +8765,7 @@ CODE[106] = [ // Social Democratic Platform Adopted*
CODE[107] = [ // Massacre in Timisoara*
[ vm_permanently_remove ],
- [ vm_if, ()=>!game.the_tyrant_is_gone ],
+ [ vm_if, ()=>!game.persistent_events.includes(C_THE_TYRANT_IS_GONE) ],
[ vm_massacre_in_timisoara ],
[ vm_valid_spaces_country_sc, 'Romania' ],
[ vm_prompt, 'Make Support Checks in Romania' ],