diff options
author | Tor Andersson <tor@ccxvii.net> | 2022-02-13 00:37:29 +0100 |
---|---|---|
committer | Tor Andersson <tor@ccxvii.net> | 2022-11-16 19:19:39 +0100 |
commit | c798b7fa59579eea4c5823925e43b15658a30095 (patch) | |
tree | a161617d8a95874e0fc3259d4d483a31eef0a243 /rules.js | |
parent | 5e29594090b0d5a0f41cbad2c50ddaefbd8c288a (diff) | |
download | crusader-rex-c798b7fa59579eea4c5823925e43b15658a30095.tar.gz |
Add "Iron Bridge" optional rule.
Diffstat (limited to 'rules.js')
-rw-r--r-- | rules.js | 21 |
1 files changed, 17 insertions, 4 deletions
@@ -659,13 +659,24 @@ function is_pinned(who, from) { function can_block_use_road(from, to) { if (game.active === game.guide) { switch (road_type(from, to)) { - case 'major': return road_limit(from, to) < 8; - case 'minor': return road_limit(from, to) < 4; + case 'iron-bridge': + // https://boardgamegeek.com/thread/744750/20-rules-iron-bridge-question + case 'major': + return road_limit(from, to) < 8; + case 'minor': + return road_limit(from, to) < 4; } } else { switch (road_type(from, to)) { - case 'major': return road_limit(from, to) < 4; - case 'minor': return road_limit(from, to) < 2; + case 'iron-bridge': + if (game.iron_bridge) + return road_limit(from, to) < 3; + else + return road_limit(from, to) < 4; + case 'major': + return road_limit(from, to) < 4; + case 'minor': + return road_limit(from, to) < 2; } } return false; @@ -3752,6 +3763,8 @@ exports.setup = function (seed, scenario, options) { where: null, undo: [], } + if (options && options.iron_bridge) + game.iron_bridge = 1; setup_game(); return game; } |