summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Andersson <tor@ccxvii.net>2021-05-16 15:27:39 +0200
committerTor Andersson <tor@ccxvii.net>2023-02-18 12:42:59 +0100
commit2b8273dd748269ab627ddba6f071a2f046416929 (patch)
tree143235e5b154ce0b8486432dfd13322186c1d8ce
parent973f9b286f12a89adbfbc0ce0c71757bf5d04325 (diff)
download300-earth-and-water-2b8273dd748269ab627ddba6f071a2f046416929.tar.gz
300: cheap fleets optional rule
-rw-r--r--create.html6
-rw-r--r--rules.js10
2 files changed, 13 insertions, 3 deletions
diff --git a/create.html b/create.html
index e69de29..891641e 100644
--- a/create.html
+++ b/create.html
@@ -0,0 +1,6 @@
+<dl>
+<dt>
+Cheap Fleets (optional rule):
+<dd>
+Each Persian fleet costs only 1 talent.
+</dl>
diff --git a/rules.js b/rules.js
index baba889..7296666 100644
--- a/rules.js
+++ b/rules.js
@@ -35,8 +35,11 @@
// 'immediately in response' -- interrupt play before or after event is completed?
// pausanias, molon labe
+const CHEAP_PERSIAN_FLEETS = "Cheap Fleets";
+
exports.scenarios = [
- "Default"
+ "Default",
+ CHEAP_PERSIAN_FLEETS,
];
const OBSERVER = "Observer";
@@ -716,7 +719,7 @@ states.persian_preparation_build = {
if (is_persian_control(space))
gen_action(view, 'city', space);
}
- if (game.built_fleets < 2 && game.talents >= 2 && count_persian_fleets(RESERVE) > 0) {
+ if (game.built_fleets < 2 && game.talents >= game.persian.fleet_cost && count_persian_fleets(RESERVE) > 0) {
for (let space of PORTS)
if (is_persian_control(space) && count_greek_fleets(space) == 0)
gen_action(view, 'port', space);
@@ -737,7 +740,7 @@ states.persian_preparation_build = {
push_undo();
push_log("fleets", space);
game.built_fleets += 1;
- game.talents -= 2;
+ game.talents -= game.persian.fleet_cost;
move_persian_fleet(RESERVE, space);
},
build: function () {
@@ -3165,6 +3168,7 @@ exports.setup = function (scenario, players) {
draw: 0,
pass: 0,
event: 0,
+ fleet_cost: (scenario == CHEAP_PERSIAN_FLEETS ? 1 : 2),
},
greek: {
hand: [],