summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cards150/power_11_14.avifbin0 -> 5229 bytes
-rw-r--r--cards150/power_11_14.pngbin0 -> 47745 bytes
-rw-r--r--cards150/power_15_18.avifbin0 -> 5338 bytes
-rw-r--r--cards150/power_15_18.pngbin0 -> 48545 bytes
-rw-r--r--cards150/power_19_20.avifbin0 -> 10236 bytes
-rw-r--r--cards150/power_19_20.pngbin0 -> 75909 bytes
-rw-r--r--cards150/power_1_6.avifbin0 -> 7535 bytes
-rw-r--r--cards150/power_1_6.pngbin0 -> 56232 bytes
-rw-r--r--cards150/power_21_22.avifbin0 -> 10209 bytes
-rw-r--r--cards150/power_21_22.pngbin0 -> 75707 bytes
-rw-r--r--cards150/power_23_26.avifbin0 -> 10150 bytes
-rw-r--r--cards150/power_23_26.pngbin0 -> 75440 bytes
-rw-r--r--cards150/power_27_30.avifbin0 -> 10219 bytes
-rw-r--r--cards150/power_27_30.pngbin0 -> 75945 bytes
-rw-r--r--cards150/power_31_33.avifbin0 -> 5465 bytes
-rw-r--r--cards150/power_31_33.pngbin0 -> 45714 bytes
-rw-r--r--cards150/power_34_36.avifbin0 -> 5461 bytes
-rw-r--r--cards150/power_34_36.pngbin0 -> 45385 bytes
-rw-r--r--cards150/power_37.avifbin0 -> 6494 bytes
-rw-r--r--cards150/power_37.pngbin0 -> 52511 bytes
-rw-r--r--cards150/power_38.avifbin0 -> 5874 bytes
-rw-r--r--cards150/power_38.pngbin0 -> 46511 bytes
-rw-r--r--cards150/power_39.avifbin0 -> 6783 bytes
-rw-r--r--cards150/power_39.pngbin0 -> 52692 bytes
-rw-r--r--cards150/power_40.avifbin0 -> 5326 bytes
-rw-r--r--cards150/power_40.pngbin0 -> 42140 bytes
-rw-r--r--cards150/power_41.avifbin0 -> 5467 bytes
-rw-r--r--cards150/power_41.pngbin0 -> 42879 bytes
-rw-r--r--cards150/power_42.avifbin0 -> 7152 bytes
-rw-r--r--cards150/power_42.pngbin0 -> 53459 bytes
-rw-r--r--cards150/power_43.avifbin0 -> 4719 bytes
-rw-r--r--cards150/power_43.pngbin0 -> 37679 bytes
-rw-r--r--cards150/power_44.avifbin0 -> 4635 bytes
-rw-r--r--cards150/power_44.pngbin0 -> 36666 bytes
-rw-r--r--cards150/power_45.avifbin0 -> 4718 bytes
-rw-r--r--cards150/power_45.pngbin0 -> 37837 bytes
-rw-r--r--cards150/power_46.avifbin0 -> 8754 bytes
-rw-r--r--cards150/power_46.pngbin0 -> 65902 bytes
-rw-r--r--cards150/power_47.avifbin0 -> 7156 bytes
-rw-r--r--cards150/power_47.pngbin0 -> 54927 bytes
-rw-r--r--cards150/power_48.avifbin0 -> 8849 bytes
-rw-r--r--cards150/power_48.pngbin0 -> 68467 bytes
-rw-r--r--cards150/power_49.avifbin0 -> 5163 bytes
-rw-r--r--cards150/power_49.pngbin0 -> 35375 bytes
-rw-r--r--cards150/power_50.avifbin0 -> 6245 bytes
-rw-r--r--cards150/power_50.pngbin0 -> 45351 bytes
-rw-r--r--cards150/power_51.avifbin0 -> 6531 bytes
-rw-r--r--cards150/power_51.pngbin0 -> 46021 bytes
-rw-r--r--cards150/power_52.avifbin0 -> 7369 bytes
-rw-r--r--cards150/power_52.pngbin0 -> 52690 bytes
-rw-r--r--cards150/power_7_8.avifbin0 -> 5290 bytes
-rw-r--r--cards150/power_7_8.pngbin0 -> 48453 bytes
-rw-r--r--cards150/power_9_10.avifbin0 -> 5261 bytes
-rw-r--r--cards150/power_9_10.pngbin0 -> 48211 bytes
-rw-r--r--cards150/power_back.avifbin0 -> 6271 bytes
-rw-r--r--cards150/power_back.pngbin0 -> 179479 bytes
-rw-r--r--data.js2
-rw-r--r--data.xlsxbin340281 -> 340946 bytes
-rw-r--r--events.txt1
-rw-r--r--info/cards.html106
-rw-r--r--play.js23
-rw-r--r--rules.js126
62 files changed, 188 insertions, 70 deletions
diff --git a/cards150/power_11_14.avif b/cards150/power_11_14.avif
new file mode 100644
index 0000000..60be195
--- /dev/null
+++ b/cards150/power_11_14.avif
Binary files differ
diff --git a/cards150/power_11_14.png b/cards150/power_11_14.png
new file mode 100644
index 0000000..f406e04
--- /dev/null
+++ b/cards150/power_11_14.png
Binary files differ
diff --git a/cards150/power_15_18.avif b/cards150/power_15_18.avif
new file mode 100644
index 0000000..0d5fa12
--- /dev/null
+++ b/cards150/power_15_18.avif
Binary files differ
diff --git a/cards150/power_15_18.png b/cards150/power_15_18.png
new file mode 100644
index 0000000..737f367
--- /dev/null
+++ b/cards150/power_15_18.png
Binary files differ
diff --git a/cards150/power_19_20.avif b/cards150/power_19_20.avif
new file mode 100644
index 0000000..fae7847
--- /dev/null
+++ b/cards150/power_19_20.avif
Binary files differ
diff --git a/cards150/power_19_20.png b/cards150/power_19_20.png
new file mode 100644
index 0000000..5d8b367
--- /dev/null
+++ b/cards150/power_19_20.png
Binary files differ
diff --git a/cards150/power_1_6.avif b/cards150/power_1_6.avif
new file mode 100644
index 0000000..16e5188
--- /dev/null
+++ b/cards150/power_1_6.avif
Binary files differ
diff --git a/cards150/power_1_6.png b/cards150/power_1_6.png
new file mode 100644
index 0000000..814a525
--- /dev/null
+++ b/cards150/power_1_6.png
Binary files differ
diff --git a/cards150/power_21_22.avif b/cards150/power_21_22.avif
new file mode 100644
index 0000000..e3cff40
--- /dev/null
+++ b/cards150/power_21_22.avif
Binary files differ
diff --git a/cards150/power_21_22.png b/cards150/power_21_22.png
new file mode 100644
index 0000000..0507797
--- /dev/null
+++ b/cards150/power_21_22.png
Binary files differ
diff --git a/cards150/power_23_26.avif b/cards150/power_23_26.avif
new file mode 100644
index 0000000..ac6bc3c
--- /dev/null
+++ b/cards150/power_23_26.avif
Binary files differ
diff --git a/cards150/power_23_26.png b/cards150/power_23_26.png
new file mode 100644
index 0000000..7391a5f
--- /dev/null
+++ b/cards150/power_23_26.png
Binary files differ
diff --git a/cards150/power_27_30.avif b/cards150/power_27_30.avif
new file mode 100644
index 0000000..f25e44b
--- /dev/null
+++ b/cards150/power_27_30.avif
Binary files differ
diff --git a/cards150/power_27_30.png b/cards150/power_27_30.png
new file mode 100644
index 0000000..c2af3e8
--- /dev/null
+++ b/cards150/power_27_30.png
Binary files differ
diff --git a/cards150/power_31_33.avif b/cards150/power_31_33.avif
new file mode 100644
index 0000000..00f69bd
--- /dev/null
+++ b/cards150/power_31_33.avif
Binary files differ
diff --git a/cards150/power_31_33.png b/cards150/power_31_33.png
new file mode 100644
index 0000000..fd9559f
--- /dev/null
+++ b/cards150/power_31_33.png
Binary files differ
diff --git a/cards150/power_34_36.avif b/cards150/power_34_36.avif
new file mode 100644
index 0000000..0658e28
--- /dev/null
+++ b/cards150/power_34_36.avif
Binary files differ
diff --git a/cards150/power_34_36.png b/cards150/power_34_36.png
new file mode 100644
index 0000000..7a247f6
--- /dev/null
+++ b/cards150/power_34_36.png
Binary files differ
diff --git a/cards150/power_37.avif b/cards150/power_37.avif
new file mode 100644
index 0000000..dfe46c1
--- /dev/null
+++ b/cards150/power_37.avif
Binary files differ
diff --git a/cards150/power_37.png b/cards150/power_37.png
new file mode 100644
index 0000000..dc2bbd0
--- /dev/null
+++ b/cards150/power_37.png
Binary files differ
diff --git a/cards150/power_38.avif b/cards150/power_38.avif
new file mode 100644
index 0000000..ec01486
--- /dev/null
+++ b/cards150/power_38.avif
Binary files differ
diff --git a/cards150/power_38.png b/cards150/power_38.png
new file mode 100644
index 0000000..ec0c371
--- /dev/null
+++ b/cards150/power_38.png
Binary files differ
diff --git a/cards150/power_39.avif b/cards150/power_39.avif
new file mode 100644
index 0000000..0537140
--- /dev/null
+++ b/cards150/power_39.avif
Binary files differ
diff --git a/cards150/power_39.png b/cards150/power_39.png
new file mode 100644
index 0000000..4a8c514
--- /dev/null
+++ b/cards150/power_39.png
Binary files differ
diff --git a/cards150/power_40.avif b/cards150/power_40.avif
new file mode 100644
index 0000000..db88422
--- /dev/null
+++ b/cards150/power_40.avif
Binary files differ
diff --git a/cards150/power_40.png b/cards150/power_40.png
new file mode 100644
index 0000000..c0e49ff
--- /dev/null
+++ b/cards150/power_40.png
Binary files differ
diff --git a/cards150/power_41.avif b/cards150/power_41.avif
new file mode 100644
index 0000000..a954dda
--- /dev/null
+++ b/cards150/power_41.avif
Binary files differ
diff --git a/cards150/power_41.png b/cards150/power_41.png
new file mode 100644
index 0000000..1dce21c
--- /dev/null
+++ b/cards150/power_41.png
Binary files differ
diff --git a/cards150/power_42.avif b/cards150/power_42.avif
new file mode 100644
index 0000000..41bd14a
--- /dev/null
+++ b/cards150/power_42.avif
Binary files differ
diff --git a/cards150/power_42.png b/cards150/power_42.png
new file mode 100644
index 0000000..33c35cb
--- /dev/null
+++ b/cards150/power_42.png
Binary files differ
diff --git a/cards150/power_43.avif b/cards150/power_43.avif
new file mode 100644
index 0000000..a309046
--- /dev/null
+++ b/cards150/power_43.avif
Binary files differ
diff --git a/cards150/power_43.png b/cards150/power_43.png
new file mode 100644
index 0000000..7aec913
--- /dev/null
+++ b/cards150/power_43.png
Binary files differ
diff --git a/cards150/power_44.avif b/cards150/power_44.avif
new file mode 100644
index 0000000..eb0e496
--- /dev/null
+++ b/cards150/power_44.avif
Binary files differ
diff --git a/cards150/power_44.png b/cards150/power_44.png
new file mode 100644
index 0000000..ea208b6
--- /dev/null
+++ b/cards150/power_44.png
Binary files differ
diff --git a/cards150/power_45.avif b/cards150/power_45.avif
new file mode 100644
index 0000000..0c6b812
--- /dev/null
+++ b/cards150/power_45.avif
Binary files differ
diff --git a/cards150/power_45.png b/cards150/power_45.png
new file mode 100644
index 0000000..fb92a03
--- /dev/null
+++ b/cards150/power_45.png
Binary files differ
diff --git a/cards150/power_46.avif b/cards150/power_46.avif
new file mode 100644
index 0000000..c9f53bd
--- /dev/null
+++ b/cards150/power_46.avif
Binary files differ
diff --git a/cards150/power_46.png b/cards150/power_46.png
new file mode 100644
index 0000000..9d26e49
--- /dev/null
+++ b/cards150/power_46.png
Binary files differ
diff --git a/cards150/power_47.avif b/cards150/power_47.avif
new file mode 100644
index 0000000..4a24bc2
--- /dev/null
+++ b/cards150/power_47.avif
Binary files differ
diff --git a/cards150/power_47.png b/cards150/power_47.png
new file mode 100644
index 0000000..37be57a
--- /dev/null
+++ b/cards150/power_47.png
Binary files differ
diff --git a/cards150/power_48.avif b/cards150/power_48.avif
new file mode 100644
index 0000000..fd143e5
--- /dev/null
+++ b/cards150/power_48.avif
Binary files differ
diff --git a/cards150/power_48.png b/cards150/power_48.png
new file mode 100644
index 0000000..81f98e6
--- /dev/null
+++ b/cards150/power_48.png
Binary files differ
diff --git a/cards150/power_49.avif b/cards150/power_49.avif
new file mode 100644
index 0000000..d269d21
--- /dev/null
+++ b/cards150/power_49.avif
Binary files differ
diff --git a/cards150/power_49.png b/cards150/power_49.png
new file mode 100644
index 0000000..b82a1a4
--- /dev/null
+++ b/cards150/power_49.png
Binary files differ
diff --git a/cards150/power_50.avif b/cards150/power_50.avif
new file mode 100644
index 0000000..4acf139
--- /dev/null
+++ b/cards150/power_50.avif
Binary files differ
diff --git a/cards150/power_50.png b/cards150/power_50.png
new file mode 100644
index 0000000..7988f80
--- /dev/null
+++ b/cards150/power_50.png
Binary files differ
diff --git a/cards150/power_51.avif b/cards150/power_51.avif
new file mode 100644
index 0000000..8bf7a59
--- /dev/null
+++ b/cards150/power_51.avif
Binary files differ
diff --git a/cards150/power_51.png b/cards150/power_51.png
new file mode 100644
index 0000000..b342cfd
--- /dev/null
+++ b/cards150/power_51.png
Binary files differ
diff --git a/cards150/power_52.avif b/cards150/power_52.avif
new file mode 100644
index 0000000..64b2c66
--- /dev/null
+++ b/cards150/power_52.avif
Binary files differ
diff --git a/cards150/power_52.png b/cards150/power_52.png
new file mode 100644
index 0000000..c9243d8
--- /dev/null
+++ b/cards150/power_52.png
Binary files differ
diff --git a/cards150/power_7_8.avif b/cards150/power_7_8.avif
new file mode 100644
index 0000000..3959742
--- /dev/null
+++ b/cards150/power_7_8.avif
Binary files differ
diff --git a/cards150/power_7_8.png b/cards150/power_7_8.png
new file mode 100644
index 0000000..8829696
--- /dev/null
+++ b/cards150/power_7_8.png
Binary files differ
diff --git a/cards150/power_9_10.avif b/cards150/power_9_10.avif
new file mode 100644
index 0000000..416ad4b
--- /dev/null
+++ b/cards150/power_9_10.avif
Binary files differ
diff --git a/cards150/power_9_10.png b/cards150/power_9_10.png
new file mode 100644
index 0000000..dcdf959
--- /dev/null
+++ b/cards150/power_9_10.png
Binary files differ
diff --git a/cards150/power_back.avif b/cards150/power_back.avif
new file mode 100644
index 0000000..7faacac
--- /dev/null
+++ b/cards150/power_back.avif
Binary files differ
diff --git a/cards150/power_back.png b/cards150/power_back.png
new file mode 100644
index 0000000..a11dcd9
--- /dev/null
+++ b/cards150/power_back.png
Binary files differ
diff --git a/data.js b/data.js
index dceeca1..983cdab 100644
--- a/data.js
+++ b/data.js
@@ -1291,7 +1291,7 @@ const cards = [
{number: 11, period: 1, side: 'C', name: 'Dissident Arrested', ops: 2, remove: 0, playable: true, red: false},
{number: 12, period: 1, side: 'C', name: 'Apparatchiks*', ops: 2, remove: 1, playable: true, red: false},
{number: 13, period: 1, side: 'C', name: 'Stasi*', ops: 1, remove: 1, playable: true, red: false},
- {number: 14, period: 1, side: 'N', name: 'Gorbachev Charms the West', ops: 4, remove: 0, playable: true, red: false},
+ {number: 14, period: 1, side: 'N', name: 'Gorbachev Charms the West', ops: 4, remove: 0, playable: false, red: false},
{number: 15, period: 1, side: 'C', name: 'Honecker*', ops: 3, remove: 1, playable: true, red: false},
{number: 16, period: 1, side: 'C', name: 'Nomenklatura*', ops: 2, remove: 1, playable: true, red: false},
{number: 17, period: 1, side: 'D', name: 'Roundtable Talks', ops: 3, remove: 0, playable: true, red: false},
diff --git a/data.xlsx b/data.xlsx
index fd1cb69..f04c786 100644
--- a/data.xlsx
+++ b/data.xlsx
Binary files differ
diff --git a/events.txt b/events.txt
index 4176519..b9b187a 100644
--- a/events.txt
+++ b/events.txt
@@ -362,6 +362,7 @@ we_are_the_people
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
+logi `Communist cannot make Support Checks in ${country_name(game.foreign_currency_debt_burden)} for the rest of the turn`
CARD 50 - The Sinatra Doctrine*
diff --git a/info/cards.html b/info/cards.html
index 8498d00..81b808c 100644
--- a/info/cards.html
+++ b/info/cards.html
@@ -143,59 +143,59 @@ img {
</div>
<div class="list">
-<img src="../cards100/power_back.avif">
-<img src="../cards100/power_1_6.avif">
-<img src="../cards100/power_1_6.avif">
-<img src="../cards100/power_1_6.avif">
-<img src="../cards100/power_1_6.avif">
-<img src="../cards100/power_1_6.avif">
-<img src="../cards100/power_1_6.avif">
-<img src="../cards100/power_7_8.avif">
-<img src="../cards100/power_7_8.avif">
-<img src="../cards100/power_9_10.avif">
-<img src="../cards100/power_9_10.avif">
-<img src="../cards100/power_11_14.avif">
-<img src="../cards100/power_11_14.avif">
-<img src="../cards100/power_11_14.avif">
-<img src="../cards100/power_11_14.avif">
-<img src="../cards100/power_15_18.avif">
-<img src="../cards100/power_15_18.avif">
-<img src="../cards100/power_15_18.avif">
-<img src="../cards100/power_15_18.avif">
-<img src="../cards100/power_19_20.avif">
-<img src="../cards100/power_19_20.avif">
-<img src="../cards100/power_21_22.avif">
-<img src="../cards100/power_21_22.avif">
-<img src="../cards100/power_23_26.avif">
-<img src="../cards100/power_23_26.avif">
-<img src="../cards100/power_23_26.avif">
-<img src="../cards100/power_23_26.avif">
-<img src="../cards100/power_27_30.avif">
-<img src="../cards100/power_27_30.avif">
-<img src="../cards100/power_27_30.avif">
-<img src="../cards100/power_27_30.avif">
-<img src="../cards100/power_31_33.avif">
-<img src="../cards100/power_31_33.avif">
-<img src="../cards100/power_31_33.avif">
-<img src="../cards100/power_34_36.avif">
-<img src="../cards100/power_34_36.avif">
-<img src="../cards100/power_34_36.avif">
-<img src="../cards100/power_37.avif">
-<img src="../cards100/power_38.avif">
-<img src="../cards100/power_39.avif">
-<img src="../cards100/power_40.avif">
-<img src="../cards100/power_41.avif">
-<img src="../cards100/power_42.avif">
-<img src="../cards100/power_43.avif">
-<img src="../cards100/power_44.avif">
-<img src="../cards100/power_45.avif">
-<img src="../cards100/power_46.avif">
-<img src="../cards100/power_47.avif">
-<img src="../cards100/power_48.avif">
-<img src="../cards100/power_49.avif">
-<img src="../cards100/power_50.avif">
-<img src="../cards100/power_51.avif">
-<img src="../cards100/power_52.avif">
+<img src="../cards75/power_back.avif">
+<img src="../cards75/power_1_6.avif">
+<img src="../cards75/power_1_6.avif">
+<img src="../cards75/power_1_6.avif">
+<img src="../cards75/power_1_6.avif">
+<img src="../cards75/power_1_6.avif">
+<img src="../cards75/power_1_6.avif">
+<img src="../cards75/power_7_8.avif">
+<img src="../cards75/power_7_8.avif">
+<img src="../cards75/power_9_10.avif">
+<img src="../cards75/power_9_10.avif">
+<img src="../cards75/power_11_14.avif">
+<img src="../cards75/power_11_14.avif">
+<img src="../cards75/power_11_14.avif">
+<img src="../cards75/power_11_14.avif">
+<img src="../cards75/power_15_18.avif">
+<img src="../cards75/power_15_18.avif">
+<img src="../cards75/power_15_18.avif">
+<img src="../cards75/power_15_18.avif">
+<img src="../cards75/power_19_20.avif">
+<img src="../cards75/power_19_20.avif">
+<img src="../cards75/power_21_22.avif">
+<img src="../cards75/power_21_22.avif">
+<img src="../cards75/power_23_26.avif">
+<img src="../cards75/power_23_26.avif">
+<img src="../cards75/power_23_26.avif">
+<img src="../cards75/power_23_26.avif">
+<img src="../cards75/power_27_30.avif">
+<img src="../cards75/power_27_30.avif">
+<img src="../cards75/power_27_30.avif">
+<img src="../cards75/power_27_30.avif">
+<img src="../cards75/power_31_33.avif">
+<img src="../cards75/power_31_33.avif">
+<img src="../cards75/power_31_33.avif">
+<img src="../cards75/power_34_36.avif">
+<img src="../cards75/power_34_36.avif">
+<img src="../cards75/power_34_36.avif">
+<img src="../cards75/power_37.avif">
+<img src="../cards75/power_38.avif">
+<img src="../cards75/power_39.avif">
+<img src="../cards75/power_40.avif">
+<img src="../cards75/power_41.avif">
+<img src="../cards75/power_42.avif">
+<img src="../cards75/power_43.avif">
+<img src="../cards75/power_44.avif">
+<img src="../cards75/power_45.avif">
+<img src="../cards75/power_46.avif">
+<img src="../cards75/power_47.avif">
+<img src="../cards75/power_48.avif">
+<img src="../cards75/power_49.avif">
+<img src="../cards75/power_50.avif">
+<img src="../cards75/power_51.avif">
+<img src="../cards75/power_52.avif">
</div>
</body>
diff --git a/play.js b/play.js
index a201e8a..8672373 100644
--- a/play.js
+++ b/play.js
@@ -372,8 +372,8 @@ const ui = {
played_card: document.getElementById("played_card"),
hand: document.getElementById("hand"),
power_hand: document.getElementById("power_hand"),
+ power_discard: document.getElementById("power_discard"),
opp_hand: document.getElementById("opp_hand"),
- opp_power_hand: document.getElementById("opp_power_hand"),
discard: document.getElementById("discard"),
removed: document.getElementById("removed"),
persistent: document.getElementById("persistent"),
@@ -667,14 +667,20 @@ function on_update() {
ui.hand.replaceChildren()
for (let c of view.hand)
ui.hand.appendChild(ui.cards[c])
+ console.log('ui.hand', ui.hand)
ui.power_hand.replaceChildren()
if (view.power_hand)
for (let c of view.power_hand)
ui.power_hand.appendChild(ui.power_cards[c])
-
+
+ ui.power_discard.replaceChildren()
+ if (view.power_struggle_discard)
+ for (let c of view.power_struggle_discard)
+ ui.power_discard.appendChild(ui.power_cards[c])
+
ui.opp_hand.replaceChildren()
- if (view.show_opp_hand && view.opp_hand)
+ if (view.opp_hand)
for (let c of view.opp_hand)
ui.opp_hand.appendChild(ui.cards[c])
if (view.opp_power_hand)
@@ -687,13 +693,8 @@ function on_update() {
ui.ceausescu_hand.appendChild(ui.power_cards[c])
ui.discard.replaceChildren()
- for (let c of view.strategy_discard) {
- if (c === view.played_card) continue
- ui.discard.appendChild(ui.cards[c]) }
- if (view.discard)
- document.getElementById("discard_panel").classList.remove("hide")
- else
- document.getElementById("discard_panel").classList.add("hide")
+ for (let c of view.strategy_discard)
+ ui.discard.appendChild(ui.cards[c])
ui.removed.replaceChildren()
for (let c of view.strategy_removed)
@@ -761,6 +762,8 @@ function on_update() {
action_button("done", "Done")
action_button("end_round", "End Round")
action_button("undo", "Undo")
+ console.log('view.hand', view.hand)
+ console.log('ui.hand',ui.hand)
}
// =========================== LOG FUNCTIONS ==============================================
diff --git a/rules.js b/rules.js
index 3e4a867..6b3b7d8 100644
--- a/rules.js
+++ b/rules.js
@@ -306,7 +306,6 @@ exports.setup = function (seed, scenario, options) {
function start_game() {
// Draw cards
game.strategy_deck = draw_deck()
- reset_power()
//Set starting influence
spaces.forEach((space, index) => {
@@ -2307,7 +2306,10 @@ function valid_spaces_sc() {
if (infl !== 0 ) {
// Check Events that block support checks in a given space
if (game.persistent_events.includes(C_SOLIDARITY_LEGALIZED) && space.space_id === S_GDANSK) {continue}
+<<<<<<< HEAD
+=======
if (game.persistent_events.includes(C_CIVIC_FORUM) && space.space_id === S_CHARLES_UNIVERSITY) {continue}
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187
if (game.persistent_events.includes(C_WE_ARE_THE_PEOPLE) && space.space_id === S_LEIPZIG) {continue}
if (game.persistent_events.includes(C_FOREIGN_CURRENCY_DEBT_BURDEN) && space.country === game.foreign_currency_debt_burden) {continue}
@@ -2840,7 +2842,11 @@ function get_aftermath_roll() {
function add_to_persistent_events(card) {
game.persistent_events.push(card)
remove_from_discard(card)
+<<<<<<< HEAD
+ log(`C${card} in effect:`)
+=======
log(`C${card} in effect`)
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187
}
function permanently_remove(card) {
@@ -3019,9 +3025,9 @@ function event_is_playable(card) {
return false
}
//Then check normally
- else if (cards[card].playable) {
+ else if (game.playable_cards.includes(card)) {
return true
- } else if (game.playable_cards.includes(card)) {
+ } else if (cards[card].playable) {
return true
} else {
return false
@@ -3029,11 +3035,15 @@ function event_is_playable(card) {
}
function get_card_ops(card) {
+<<<<<<< HEAD
+ let ops = cards[card].ops
+=======
let ops = 0
if (card) {
ops = cards[card].ops
}
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187
if (game.persistent_events.includes(C_PERESTROIKA) && game.active === COM) {
if(game.state === 'choose_card' || game.state === 'stasi_play_card') {
log(`+1 op from C${C_PERESTROIKA}`)
@@ -3155,7 +3165,11 @@ function finish_the_wall() {
// =========== MOVING THROUGH TURNS ============
function end_round() {
+<<<<<<< HEAD
+ //Check if the game is over! WHY IS THIS NEEDED?
+=======
//Check if the game is over!
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187
if (game.state === 'game_over') {
return}
@@ -3277,7 +3291,6 @@ function end_round() {
next_player()
} else {
log_h3('Democratic Action Round')
-
}
if (game.democrat_hand.includes(game.stasi_card)) {
log_h3('C13')
@@ -3446,10 +3459,13 @@ function roll_d6() {
return random(6) + 1
}
+<<<<<<< HEAD
+=======
function find_space_index(name_unique) {
return spaces.findIndex(space => space && space.name_unique === name_unique)
}
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187
function find_country_index(country) {
return countries.indexOf(country)
}
@@ -3858,6 +3874,11 @@ function vm_next() {
vm_exec();
}
+function vm_logi(){
+ logi(vm_operand(1))
+ vm_next()
+}
+
function vm_operand(a) {
let x = CODE[game.vm.fp][game.vm.ip][a]
if (a > 0 && typeof x === "function")
@@ -4472,11 +4493,19 @@ function vm_army_backs_revolution() {
game.persistent_events = game.persistent_events.filter(n => n !== C_SECURITATE)
game.playable_cards = game.playable_cards.filter(n => n !== C_SECURITATE)
add_to_persistent_events(C_ARMY_BACKS_REVOLUTION)
+<<<<<<< HEAD
+ logi(`${C_SECURITATE} no longer has any effect`)
+=======
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187
vm_next()
}
function vm_austria_hungary_border_reopened() {
add_to_persistent_events(C_AUSTRIA_HUNGARY_BORDER_REOPENED)
+<<<<<<< HEAD
+ logi(`For the remainder of the turn, cards played by the Democrat have +1 Ops value if all Operations Points are used in East Germany`)
+=======
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187
game.austria_hungary_border_reopened_tracker = false
vm_next()
}
@@ -4484,7 +4513,6 @@ function vm_austria_hungary_border_reopened() {
function vm_betrayal() {
if (game.demInfl[S_ORTHODOX_CHURCH_ROMANIA] > 0 ) { game.valid_spaces.push(S_ORTHODOX_CHURCH_ROMANIA) }
if (game.demInfl[S_ORTHODOX_CHURCH_BULGARIA] >0 ) { game.valid_spaces.push(S_ORTHODOX_CHURCH_BULGARIA) }
- game.vm_available_ops = Math.max(game.demInfl[S_ORTHODOX_CHURCH_ROMANIA], game.demInfl[S_ORTHODOX_CHURCH_BULGARIA])
game.state = 'vm_switch_infl'
}
@@ -4548,7 +4576,10 @@ function vm_civic_forum() {
if (check_vp()) {
return
}
+<<<<<<< HEAD
+=======
add_to_persistent_events(C_CIVIC_FORUM)
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187
if (check_dem_control(S_CZECH_WRITERS)) {
vm_next()
} else {
@@ -4611,11 +4642,19 @@ function vm_domino_theory() {
function vm_eco_glasnost() {
add_to_persistent_events(C_ECO_GLASNOST)
+<<<<<<< HEAD
+ logi(`+1 VP for Communist support checks in Ruse for the rest of the game`)
+=======
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187
vm_next()
}
function vm_elena(){
add_to_persistent_events(C_ELENA)
+<<<<<<< HEAD
+ logi(`-1 modifier to Democratic Support checks in Romania for the rest of this turn`)
+=======
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187
vm_next()
}
@@ -4676,16 +4715,28 @@ function vm_foreign_television() {
}
function vm_frg_embassies() {
add_to_persistent_events(C_FRG_EMBASSIES)
+<<<<<<< HEAD
+ logi(`+1 modifier for Democratic Support Checks in Eastern Europe for the rest of this turn`)
+=======
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187
vm_next()
}
function vm_general_strike() {
add_to_persistent_events(C_GENERAL_STRIKE)
+<<<<<<< HEAD
+ logi(`Each Action Round the Communist must instead discard a card and roll a die until the modified die roll exceeds 5`)
+=======
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187
vm_next()
}
function vm_genscher() {
add_to_persistent_events(C_GENSCHER)
+<<<<<<< HEAD
+ logi(`Cancels +1 Ops cost to place Democratic SPs in Communist controlled spaces in East Germany for the rest of the turn`)
+=======
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187
vm_next()
}
@@ -4720,6 +4771,10 @@ function vm_government_resigns() {
function vm_grenztruppen() {
add_to_persistent_events(C_GRENZTRUPPEN)
+<<<<<<< HEAD
+ logi(`-1 modifier for Democratic Support Checks in East Germany for the rest of this turn`)
+=======
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187
vm_next()
}
@@ -4742,11 +4797,19 @@ function vm_heal_our_bleeding_wounds() {
function vm_helsinki_final_act() {
add_to_persistent_events(C_HELSINKI_FINAL_ACT)
+<<<<<<< HEAD
+ logi(`+1 VP for every Support Check by the Communist Player in Student or Intellectual spaces for the rest of the game`)
+=======
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187
vm_next()
}
function vm_honecker() {
add_to_persistent_events(C_HONECKER)
+<<<<<<< HEAD
+ logi(`The Communist may take one extra Action Round this turn`)
+=======
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187
game.valid_cards = []
for (let c of game.strategy_discard) {
if (scoring_cards.includes(c)) {
@@ -4827,6 +4890,10 @@ function vm_kremlin_coup() {
function vm_laszlo_tokes() {
add_to_persistent_events(C_LASZLO_TOKES)
+<<<<<<< HEAD
+ logi(`Allows play of C${C_MASSACRE_IN_TIMISOARA}`)
+=======
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187
game.playable_cards.push(C_MASSACRE_IN_TIMISOARA)
game.state = 'vm_laszlo_tokes'
}
@@ -5030,20 +5097,31 @@ function vm_solidarity_legalised() {
function vm_st_nicholas_church () {
add_to_persistent_events(C_ST_NICHOLAS_CHURCH)
+<<<<<<< HEAD
+ logi(`Allows play of C${C_THE_MONDAY_DEMONSTRATIONS}`)
+=======
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187
game.playable_cards.push(C_THE_MONDAY_DEMONSTRATIONS)
vm_next()
}
function vm_stasi() {
add_to_persistent_events(C_STASI)
+<<<<<<< HEAD
+ logi(`For the rest of this turn the Democrat must reveal the card he will play this Action Round before the Communist player plays his card`)
+=======
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187
vm_next()
}
function vm_stand_fast() {
add_to_persistent_events(C_STAND_FAST)
if (game.active === DEM) {
+ logi(`-1 Modifier to Support Checks in Democratic controlled spaces for the rest of this turn`)
game.stand_fast = DEM
- } else {game.stand_fast = COM}
+ } else {
+ logi(`-1 Modifier to Support Checks in Communist controlled spaces for the rest of this turn`)
+ game.stand_fast = COM}
vm_next()
}
@@ -5088,6 +5166,10 @@ function vm_tank_column() {
function vm_tear_gas () {
add_to_persistent_events(C_TEAR_GAS)
+<<<<<<< HEAD
+ logi(`+1 modifier to the next Communist Support Check in a Student space`)
+=======
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187
vm_next()
}
@@ -5110,6 +5192,10 @@ function vm_the_chinese_solution() {
function vm_the_crowd_turns_against_ceausescu() {
add_to_persistent_events(C_THE_CROWD_TURNS_AGAINST_CEAUSESCU)
+<<<<<<< HEAD
+ logi(`After the players draw cards for the next Power Struggle in Romania, the Democrat draws 15 Power Struggle cards and takes 1 Action Round using Ops equal to 3 times the number of Rally cards drawn. Allows play of C${C_THE_TYRANT_IS_GONE}`)
+=======
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187
game.playable_cards.push(C_THE_TYRANT_IS_GONE)
vm_next()
}
@@ -5122,6 +5208,10 @@ function vm_the_monday_demonstrations() {
function vm_the_sinatra_doctrine() {
add_to_persistent_events(C_THE_SINATRA_DOCTRINE)
+<<<<<<< HEAD
+ logi(`+1 Ops value for cards played by the Democrat for the rest of this turn`)
+=======
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187
vm_next()
}
@@ -5154,6 +5244,10 @@ function vm_tyrant_block() {
function vm_the_wall () {
add_to_persistent_events(C_THE_WALL)
+<<<<<<< HEAD
+ logi(`Cancels the modifier for any Democratic controlled spaces for the next Communist Support Check in East Germany`)
+=======
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187
vm_next()
}
@@ -5173,6 +5267,10 @@ function vm_warsaw_pact_summit() {
function vm_we_are_the_people() {
if (game.demInfl[S_LUTHERAN_CHURCH] > 0) {game.valid_spaces = [S_LUTHERAN_CHURCH]}
add_to_persistent_events(C_WE_ARE_THE_PEOPLE)
+<<<<<<< HEAD
+ logi(`The Communist may no longer make Support Checks in Leipzig`)
+=======
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187
if (!game.vm_influence_added) {
game.vm_influence_added = {};
}
@@ -5204,6 +5302,10 @@ function vm_workers_revolt() {
function vm_yakovlev_counsels_gorbachev() {
add_to_persistent_events(C_YAKOVLEV_COUNSELS_GORBACHEV)
+<<<<<<< HEAD
+ logi(`The Democrat receives a +1 modifier to the Support Loss and Victory Point die rolls if he wins the next Power Struggle`)
+=======
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187
vm_next()
}
@@ -6664,6 +6766,9 @@ states.vm_switch_infl = {
},
space(space) {
push_undo()
+ if (game.vm_event === C_BETRAYAL) {
+ game.vm_available_ops = game.demInfl[space]
+ }
vm_switch_infl(space)
if (game.vm_available_ops === 0) {
game.valid_spaces = []
@@ -7081,7 +7186,11 @@ states.vm_systematization = {
vm_eliminate(space)
game.valid_spaces = []
game.systematization = space
+<<<<<<< HEAD
+ //game.persistent_events.push(C_SYSTEMATIZATION) /*IS THIS STILL NEEDED? For view?*/
+=======
game.persistent_events.push(C_SYSTEMATIZATION) /*IS THIS STILL NEEDED? For view?*/
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187
vm_next()
},
}
@@ -8094,6 +8203,7 @@ CODE[48] = [ // We are the People!*
CODE[49] = [ // Foreign Currency Debt Burden*
[ vm_foreign_currency_debt_burden ],
+ [ vm_logi, ()=>`Communist cannot make Support Checks in ${country_name(game.foreign_currency_debt_burden)} for the rest of the turn` ],
[ vm_return ],
]
@@ -8613,3 +8723,7 @@ CODE[351] = [ // Scare Tactics
[ vm_return ],
]
// #endregion
+<<<<<<< HEAD
+
+=======
+>>>>>>> 1d073110c0937e2a057efd0eeeef5223036c1187