diff options
author | Tor Andersson <tor@ccxvii.net> | 2023-04-15 00:01:18 +0200 |
---|---|---|
committer | Tor Andersson <tor@ccxvii.net> | 2023-05-03 18:48:16 +0200 |
commit | d195265a93d05a8466355c54ac4d211714d75014 (patch) | |
tree | 7b514be92e31062f0c20e351fa2ce12efa61e538 | |
parent | 42ef73422399c6ed4e30f7538547c3cf3ef44383 (diff) | |
download | andean-abyss-d195265a93d05a8466355c54ac4d211714d75014.tar.gz |
Automate shaded event 64.
-rw-r--r-- | events.txt | 22 | ||||
-rw-r--r-- | rules.js | 8 |
2 files changed, 22 insertions, 8 deletions
@@ -1046,14 +1046,20 @@ EVENT 64 endrepeat SHADED 64 - prompt "Cartels Resources +2 for each Cartels Base in a City." - piece all is_cartels_base(p) && is_city(s) - auto_resources CARTELS 2 - endpiece - prompt "Cartels Resources +1 for each Cartels Base in a Department." - piece all is_cartels_base(p) && is_dept(s) - auto_resources CARTELS 1 - endpiece + if AUTOMATIC + asm game.vm.n = count_matching_pieces((p,s) => is_cartels_base(p) && is_city(s)) * 2 + asm game.vm.n += count_matching_pieces((p,s) => is_cartels_base(p) && is_dept(s)) + resources CARTELS (game.vm.n) + else + prompt "Cartels Resources +2 for each Cartels Base in a City." + piece all is_cartels_base(p) && is_city(s) + auto_resources CARTELS 2 + endpiece + prompt "Cartels Resources +1 for each Cartels Base in a Department." + piece all is_cartels_base(p) && is_dept(s) + auto_resources CARTELS 1 + endpiece + endif EVENT 65 # 5.1.3 - do both shipment and base if possible @@ -631,6 +631,14 @@ function count_matching_spaces(f) { return n } +function count_matching_pieces(f) { + let n = 0 + for (let p = all_first_piece; p <= all_last_piece; ++p) + if (f(p, piece_space(p))) + ++n + return n +} + function count_faction_pieces(s, faction) { switch (faction) { case GOVT: |