diff options
author | Tor Andersson <tor@ccxvii.net> | 2025-03-23 00:25:47 +0100 |
---|---|---|
committer | Tor Andersson <tor@ccxvii.net> | 2025-03-23 00:25:47 +0100 |
commit | f4a51cda82508504662992ec8530b847482f94bf (patch) | |
tree | 3a19238a9dcdece631130b0122f34c288bc09a37 | |
parent | 954c9c0690a64a8ed172a5b10cb8a4b5a32293fe (diff) | |
download | land-and-freedom-f4a51cda82508504662992ec8530b847482f94bf.tar.gz |
only claim momentum if you have enough cards in hand to use it.
-rw-r--r-- | data.js | 4 | ||||
-rw-r--r-- | data.ts | 2 | ||||
-rw-r--r-- | rules.js | 18 | ||||
-rw-r--r-- | rules.ts | 18 |
4 files changed, 35 insertions, 7 deletions
@@ -1,6 +1,6 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.MOMENTUM = exports.LIBERTY_OR_COLLECTIVIZATION = exports.COMMUNIST_EXTRA_HERO_POINT = exports.ANARCHIST_EXTRA_HERO_POINT = exports.NORTHERN = exports.SOUTHERN = exports.ARAGON = exports.MADRID = exports.ORGANIZATION_MEDALLION_ID = exports.ARCHIVES_MEDALLION_ID = exports.VOLUNTEERS_MEDALLION_ID = exports.INTELLIGENCE_MEDALLION_ID = exports.PROPAGANDA_MEDALLION_ID = exports.STRATEGY_MEDALLION_ID = exports.FRONTS = exports.DEFEAT = exports.VICTORY = exports.TRASH = exports.TOWARDS_CENTER = exports.AWAY_FROM_CENTER = exports.SELF = exports.PLAYER_WITH_MOST_HERO_POINTS = exports.OTHER_PLAYERS = exports.ON = exports.OFF = exports.TEAMWORK_BONUS = exports.MORALE_BONUS = exports.FOREIGN_AID = exports.SOVIET_SUPPORT = exports.INITIATIVE_PLAYER = exports.GOVERNMENT = exports.COLLECTIVIZATION = exports.CLOSEST_TO_VICTORY = exports.CLOSEST_TO_DEFEAT = exports.LIBERTY = exports.ANY = exports.MODERATES_ID = exports.FASCIST_ID = exports.COMMUNISTS_ID = exports.ANARCHISTS_ID = exports.MODERATE = exports.COMMUNIST = exports.ANARCHIST = exports.ALL_PLAYERS = void 0; +exports.MOMENTUM = exports.LIBERTY_OR_COLLECTIVIZATION = exports.COMMUNIST_EXTRA_HERO_POINT = exports.ANARCHIST_EXTRA_HERO_POINT = exports.NORTHERN = exports.SOUTHERN = exports.ARAGON = exports.MADRID = exports.ORGANIZATION_MEDALLION_ID = exports.ARCHIVES_MEDALLION_ID = exports.VOLUNTEERS_MEDALLION_ID = exports.INTELLIGENCE_MEDALLION_ID = exports.PROPAGANDA_MEDALLION_ID = exports.STRATEGY_MEDALLION_ID = exports.MOMENTUM_MEDALLION_ID = exports.FRONTS = exports.DEFEAT = exports.VICTORY = exports.TRASH = exports.TOWARDS_CENTER = exports.AWAY_FROM_CENTER = exports.SELF = exports.PLAYER_WITH_MOST_HERO_POINTS = exports.OTHER_PLAYERS = exports.ON = exports.OFF = exports.TEAMWORK_BONUS = exports.MORALE_BONUS = exports.FOREIGN_AID = exports.SOVIET_SUPPORT = exports.INITIATIVE_PLAYER = exports.GOVERNMENT = exports.COLLECTIVIZATION = exports.CLOSEST_TO_VICTORY = exports.CLOSEST_TO_DEFEAT = exports.LIBERTY = exports.ANY = exports.MODERATES_ID = exports.FASCIST_ID = exports.COMMUNISTS_ID = exports.ANARCHISTS_ID = exports.MODERATE = exports.COMMUNIST = exports.ANARCHIST = exports.ALL_PLAYERS = void 0; exports.create_effect = create_effect; const LIBERTY = 0; exports.LIBERTY = LIBERTY; @@ -72,6 +72,8 @@ const VICTORY = 'Victory'; exports.VICTORY = VICTORY; const DEFEAT = 'Defeat'; exports.DEFEAT = DEFEAT; +const MOMENTUM_MEDALLION_ID = 2; +exports.MOMENTUM_MEDALLION_ID = MOMENTUM_MEDALLION_ID; const STRATEGY_MEDALLION_ID = 3; exports.STRATEGY_MEDALLION_ID = STRATEGY_MEDALLION_ID; const PROPAGANDA_MEDALLION_ID = 4; @@ -46,6 +46,7 @@ const VICTORY = 'Victory'; const DEFEAT = 'Defeat'; // Medallion ids +const MOMENTUM_MEDALLION_ID = 2; const STRATEGY_MEDALLION_ID = 3; const PROPAGANDA_MEDALLION_ID = 4; const INTELLIGENCE_MEDALLION_ID = 5; @@ -105,6 +106,7 @@ export { VICTORY, DEFEAT, FRONTS, + MOMENTUM_MEDALLION_ID, STRATEGY_MEDALLION_ID, PROPAGANDA_MEDALLION_ID, INTELLIGENCE_MEDALLION_ID, @@ -1112,11 +1112,23 @@ states.choose_medallion = { prompt() { gen_spend_hero_points(); view.prompt = 'Claim a Medallion.'; + const faction = get_active_faction(); + var skip = true; for (let m of game.medallions[POOL_ID]) { - if (m !== null) - gen_action_medallion(m); + if (m !== null) { + if (m === data_1.MOMENTUM_MEDALLION_ID) { + if (game.hands[faction].length > game.selected_cards[faction].length) { + gen_action_medallion(m); + skip = false; + } + } + else { + gen_action_medallion(m); + skip = false; + } + } } - if (!game.medallions[POOL_ID].some((m) => m !== null)) { + if (skip) { gen_action('skip'); } }, @@ -53,6 +53,7 @@ import data, { TOWARDS_CENTER, ARCHIVES_MEDALLION_ID, INTELLIGENCE_MEDALLION_ID, + MOMENTUM_MEDALLION_ID, ORGANIZATION_MEDALLION_ID, STRATEGY_MEDALLION_ID, PROPAGANDA_MEDALLION_ID, @@ -1403,11 +1404,22 @@ states.choose_medallion = { prompt() { gen_spend_hero_points(); view.prompt = 'Claim a Medallion.'; + const faction = get_active_faction(); + var skip = true; for (let m of game.medallions[POOL_ID]) { - if (m !== null) - gen_action_medallion(m); + if (m !== null) { + if (m === MOMENTUM_MEDALLION_ID) { + if (game.hands[faction].length > game.selected_cards[faction].length) { + gen_action_medallion(m); + skip = false; + } + } else { + gen_action_medallion(m); + skip = false; + } + } } - if (!game.medallions[POOL_ID].some((m) => m !== null)) { + if (skip) { gen_action('skip'); } }, |