summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Andersson <tor@ccxvii.net>2021-05-02 13:10:48 +0200
committerTor Andersson <tor@ccxvii.net>2023-02-18 12:42:59 +0100
commitf046c44eb91323e66f8028c96a81cbbdccaf742c (patch)
treeb505cbda750a1e2512dc025adc50c3aa099352f7
parent8ff2f5e633188a34f4b16fb30917766c68d8a374 (diff)
download300-earth-and-water-f046c44eb91323e66f8028c96a81cbbdccaf742c.tar.gz
300: Triremes!
-rw-r--r--rules.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/rules.js b/rules.js
index b85bb77..ac7d32d 100644
--- a/rules.js
+++ b/rules.js
@@ -26,6 +26,8 @@ const PELLA = "Pella";
const LEONIDAS = 8;
const EVANGELION = 10;
const MOLON_LABE = 12;
+const TRIREMES = 13;
+const TRIREMES_TWO = 113;
// Persian event numbers
const CAVALRY_OF_MARDONIUS = 1;
@@ -68,6 +70,7 @@ const GREEK_EVENT_NAMES = {
14: "Support from Syracuse",
15: "300 Spartans",
16: "Desertion of Greek Soldiers",
+ 113: "Triremes", // for second movement
};
const CITIES = [
@@ -811,6 +814,12 @@ function end_persian_movement() {
function end_greek_movement() {
switch (game.event) {
+ case TRIREMES:
+ if (greek_can_naval_move())
+ goto_greek_movement(false, true, TRIREMES_TWO);
+ else
+ end_greek_operation();
+ break;
case MOLON_LABE:
end_persian_operation();
break;
@@ -1096,6 +1105,8 @@ states.greek_naval_movement = {
view.naval_movement = game.from;
if (game.trigger.carneia_festival && game.from == SPARTA)
view.naval_transport = 0;
+ else if (game.event == TRIREMES || game.event == TRIREMES_TWO)
+ view.naval_transport = 0;
else
view.naval_transport = 1;
for (let port of PORTS)
@@ -2035,6 +2046,14 @@ function play_molon_labe() {
goto_greek_land_movement_event(MOLON_LABE);
}
+function can_play_triremes() {
+ return greek_can_naval_move();
+}
+
+function play_triremes() {
+ goto_greek_movement(false, true, TRIREMES);
+}
+
function can_play_support_from_syracuse() {
return count_greek_fleets(RESERVE) > 0;
}