summaryrefslogtreecommitdiffstats
path: root/lib/colonial_twilight/card_attributes.rb
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2023-09-21 09:22:07 +0200
committerJérémy Zurcher <jeremy@asynk.ch>2023-09-21 09:22:07 +0200
commitca128a74ae0f238b9ba81df68ed26e3b9a223e1e (patch)
treee5985c9eda5527a394e70f344a881f2920b47144 /lib/colonial_twilight/card_attributes.rb
parent6da1db151f295b910cc7244ba0211b438a914514 (diff)
downloadcolonial-twilight-ca128a74ae0f238b9ba81df68ed26e3b9a223e1e.zip
colonial-twilight-ca128a74ae0f238b9ba81df68ed26e3b9a223e1e.tar.gz
Cards : set attributes with specs
Diffstat (limited to 'lib/colonial_twilight/card_attributes.rb')
-rw-r--r--lib/colonial_twilight/card_attributes.rb97
1 files changed, 97 insertions, 0 deletions
diff --git a/lib/colonial_twilight/card_attributes.rb b/lib/colonial_twilight/card_attributes.rb
new file mode 100644
index 0000000..bf339d8
--- /dev/null
+++ b/lib/colonial_twilight/card_attributes.rb
@@ -0,0 +1,97 @@
+#! /usr/bin/env ruby
+# frozen_string_literal: true
+
+# rubocop:disable Style/Documentation
+
+module ColonialTwilight
+ module CardAttributes
+ MAX_CARD_NUM = 71
+ SINGLE = 1
+ FLN_MARKED = 2
+ FLN_SPECIAL = 4
+ FLN_CAPABILITY = 8
+ FLN_MOMENTUM = 16
+ GOV_CAPABILITY = 32
+ GOV_MOMENTUM = 64
+ DUAL_CAPABILITY = 128
+ DUAL_MOMENTUM = 256
+
+ class << self
+ attr_reader :cards
+ end
+
+ @cards = {
+ 1 => ['Quadrillage', 0],
+ 2 => ['Balky Conscripts', 0 | FLN_MOMENTUM],
+ 3 => ['Leadership Snatch', 0 | FLN_MARKED],
+ 4 => ['Oil & Gas Discoveries', 0 | SINGLE],
+ 5 => ['Peace of the Brave', 0 | GOV_MOMENTUM],
+ 6 => ['Factionalism', 0],
+ 7 => ['5th Bureau', 0 | FLN_MARKED],
+ 8 => ['Cross-border air strike', 0 | FLN_MOMENTUM],
+ 9 => ['Beni-Oui-Oui', 0 | SINGLE | FLN_MARKED],
+ 10 => ['Moudjahidine', 0 | FLN_MARKED | FLN_MOMENTUM],
+ 11 => ['Bananes', 0 | FLN_MARKED | GOV_MOMENTUM],
+ 12 => ['Ventilos', 0 | FLN_MARKED | FLN_SPECIAL | GOV_MOMENTUM],
+ 13 => ['SAS', 0 | GOV_CAPABILITY],
+ 14 => ['Protest in Paris', 0 | SINGLE | FLN_MARKED],
+ 15 => ['Jean-Paul Sarte', 0],
+ 16 => ['NATO', 0],
+ 17 => ['Commandos', 0 | FLN_CAPABILITY],
+ 18 => ['Torture', 0 | SINGLE | FLN_MARKED | DUAL_CAPABILITY],
+ 19 => ['General Strike', 0 | FLN_MARKED],
+ 20 => ['Sauve qui peut', 0 | SINGLE | FLN_MARKED | FLN_SPECIAL],
+ 21 => ['UN Resolution', 0],
+ 22 => ['The Government of USA is Convinced...', 0 | FLN_MARKED],
+ 23 => ['Diplomatic Leanings', 0 | FLN_MARKED],
+ 24 => ['Economic Development', 0 | FLN_MARKED],
+ 25 => ['Purge', 0 | SINGLE],
+ 26 => ['Casbah', 0 | FLN_MARKED],
+ 27 => ['Covert Movement', 0 | FLN_CAPABILITY],
+ 28 => ['Atrocities and Reprisals', 0 | SINGLE | FLN_MARKED],
+ 29 => ['The Call Up', 0 | FLN_MOMENTUM],
+ 30 => ['Change in Tactics', 0 | SINGLE],
+ 31 => ['Intimidation', 0 | FLN_MARKED | GOV_MOMENTUM],
+ 32 => ['Teleb the Bomb-maker', 0 | FLN_CAPABILITY],
+ 33 => ['Overkill', 0 | FLN_MARKED | FLN_CAPABILITY],
+ 34 => ['Elections', 0 | FLN_MARKED],
+ 35 => ['Napalm', 0 | FLN_MARKED | GOV_CAPABILITY],
+ 36 => ['Assassination', 0 | FLN_MARKED],
+ 37 => ['Integration', 0],
+ 38 => ['French Economic Crisis', 0],
+ 39 => ['Retreat into Djebel', 0],
+ 40 => ['Strategic Movement', 0 | FLN_MOMENTUM],
+ 41 => ['Egypt', 0 | FLN_MARKED],
+ 42 => ['Czech Arms Deal', 0 | FLN_MARKED],
+ 43 => ['Refugees', 0 | FLN_MARKED],
+ 44 => ['Paranoia', 0 | GOV_MOMENTUM],
+ 45 => ['Challe Plan', 0 | GOV_MOMENTUM | FLN_MOMENTUM],
+ 46 => ['Moghazni', 0 | GOV_MOMENTUM],
+ 47 => ['Third Force', 0 | FLN_MARKED],
+ 48 => ['Ultras', 0 | FLN_MARKED],
+ 49 => ['Factional Plot', 0 | FLN_MARKED | FLN_SPECIAL],
+ 50 => ['Bleuite', 0],
+ 51 => ['Stripey Hole', 0 | FLN_MARKED | FLN_SPECIAL],
+ 52 => ['Cabinet Shuffle', 0 | SINGLE],
+ 53 => ['Population Control', 0 | FLN_MARKED | GOV_MOMENTUM],
+ 54 => ['Operation 744', 0 | SINGLE | FLN_MARKED | FLN_SPECIAL],
+ 55 => ['Development', 0 | FLN_MARKED],
+ 56 => ['Hardened Attitudes', 0 | SINGLE | FLN_MARKED | FLN_SPECIAL | DUAL_MOMENTUM],
+ 57 => ['Peace Talks', 0 | SINGLE | FLN_MARKED | DUAL_MOMENTUM],
+ 58 => ['Army in Waiting', 0],
+ 59 => ['Bandung Conference', 0 | FLN_MARKED],
+ 60 => ['Soummam Conference', 0 | FLN_MARKED],
+ 61 => ['Morocco and Tunisia Independent', 0 | SINGLE],
+ 62 => ['Suez Crisis', 0 | SINGLE],
+ 63 => ['OAS', 0 | SINGLE],
+ 64 => ['Mobilization', 0 | SINGLE],
+ 65 => ['Recall De Gaulle', 0 | SINGLE],
+ 66 => ['Coup d\'etat', 0 | SINGLE],
+ 67 => ['Propaganda!', 0 | SINGLE],
+ 68 => ['Propaganda!', 0 | SINGLE],
+ 69 => ['Propaganda!', 0 | SINGLE],
+ 70 => ['Propaganda!', 0 | SINGLE],
+ 71 => ['Propaganda!', 0 | SINGLE]
+ }
+ end
+end