summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--events.txt28
-rw-r--r--rules.js51
2 files changed, 63 insertions, 16 deletions
diff --git a/events.txt b/events.txt
index 1d9eb79..7d1415b 100644
--- a/events.txt
+++ b/events.txt
@@ -220,10 +220,32 @@ SHADED 11
endpiece
EVENT 12
- log "NOT IMPLEMENTED"
+ current REBEL_FACTIONS
+ gain_cavalry 2
+ prompt "Remove 4 Delhi Sultantes pieces from Provinces adjacent to Warangal."
+ piece 4 (is_adjacent_to_city(C_WARANGAL, piece_space(p)) && piece_faction(p) === DS)
+ remove
+ endpiece
SHADED 12
- log "NOT IMPLEMENTED"
+ current DS
+ gain_cavalry 2
+ prompt "Place a Qasbah in a Province adjacent to Warangal."
+ space_opt 1 is_adjacent_to_city(C_WARANGAL, s) && can_place_piece(s, DS, DISC)
+ auto_place DS DISC
+ endspace
+ asm game.vm.count = 0
+ repeat 4
+ prompt `Place up to ${4-game.vm.count} Troops adjacent to Warangal.`
+ space_opt 1 is_adjacent_to_city(C_WARANGAL, s) && can_place_piece(s, DS, TROOPS)
+ auto_place DS TROOPS
+ asm (game.vm.count += 1)
+ endspace
+ endrepeat
+ prompt "Make a free Attack in one Province adjacent to Warangal."
+ space 1 (is_adjacent_to_city(C_WARANGAL, s) && can_attack_in_space(s))
+ free_attack
+ endspace
EVENT 13
log "NOT IMPLEMENTED"
@@ -250,7 +272,7 @@ EVENT 14
SHADED 14
current DS
gain_cavalry 3
- prompt "Place up to 4 Troops and 1 Governor in a province adjacent to Vijayanagara and Demand Obedience there."
+ prompt "Place up to 4 Troops and a Governor in a province adjacent to Vijayanagara and Demand Obedience there."
space_opt 1 is_adjacent_to_city(C_VIJAYANAGARA, s)
place_opt 4 DS TROOPS
place_opt 1 DS ELITE
diff --git a/rules.js b/rules.js
index aa85963..cf363f5 100644
--- a/rules.js
+++ b/rules.js
@@ -266,7 +266,7 @@ exports.setup = function (seed, scenario, _options) {
}
function setup_deck() {
- game.deck = [ 38, 4, 2, 6, 7, 21, 39, 4, 29, 15, 17, 16, 18, 5, 3, 36, 10, 37, 11, 2, 10, 1, 12, 13, 14 ]
+ game.deck = [ 38, 4, 12, 13, 6, 7, 21, 28, 29, 30, 31 ]
}
function setup_standard() {
@@ -444,11 +444,13 @@ function goto_cavalry(n, next) {
if (game.cav.n !== 0)
game.state = "cavalry"
else {
- pop_summary()
- if (game.vm)
+ if (game.vm) {
+ upop_summary()
vm_next()
- else
+ } else {
+ pop_summary()
game.states = game.cav.next
+ }
}
}
@@ -628,13 +630,16 @@ states.cavalry = {
set_cavalry_faction(c, game.current)
},
end_cavalry() {
- pop_summary()
- if (game.vm)
+ if (game.vm) {
+ upop_summary()
vm_next()
- else if (game.cav.next)
+ } else if (game.cav.next) {
+ pop_summary()
game.state = game.cav.next
- else
+ } else {
+ pop_summary()
goto_eligible()
+ }
}
}
@@ -1913,7 +1918,6 @@ states.campaign = {
view.prompt = "Campaign: Select four contiguous spaces, finishing adjacent to Warangal"
if (game.decree.campaign.length === 0) {
for (let s = first_space; s <= last_space; ++s) {
- console.log("TEST! ", SPACE_NAME[s], is_n_from_warangal(3, s))
if (can_start_campaign_in_space(s) && is_n_from_warangal(3, s))
gen_action_space(s)
}
@@ -4484,7 +4488,6 @@ function vm_shaded_6() {
}
function vm_shaded_6_2() {
- console.log(game)
game.state = "shaded_6_2"
}
@@ -4870,13 +4873,35 @@ CODE[11 * 2 + 1] = [
// EVENT 12
CODE[12 * 2 + 0] = [
- [ vm_log, "NOT IMPLEMENTED" ],
+ [ vm_current, REBEL_FACTIONS ],
+ [ vm_gain_cavalry, 2 ],
+ [ vm_prompt, "Remove 4 Delhi Sultantes pieces from Provinces adjacent to Warangal." ],
+ [ vm_piece, false, 4, 4, (p,s)=>(is_adjacent_to_city(C_WARANGAL, piece_space(p)) && piece_faction(p) === DS) ],
+ [ vm_remove ],
+ [ vm_endpiece ],
[ vm_return ],
]
// SHADED 12
CODE[12 * 2 + 1] = [
- [ vm_log, "NOT IMPLEMENTED" ],
+ [ vm_current, DS ],
+ [ vm_gain_cavalry, 2 ],
+ [ vm_prompt, "Place a Qasbah in a Province adjacent to Warangal." ],
+ [ vm_space, true, 0, 1, (s)=>is_adjacent_to_city(C_WARANGAL, s) && can_place_piece(s, DS, DISC) ],
+ [ vm_auto_place, false, 0, false, DS, DISC ],
+ [ vm_endspace ],
+ [ vm_asm, ()=>game.vm.count = 0 ],
+ [ vm_repeat, 4 ],
+ [ vm_prompt, ()=>`Place up to ${4-game.vm.count} Troops adjacent to Warangal.` ],
+ [ vm_space, true, 0, 1, (s)=>is_adjacent_to_city(C_WARANGAL, s) && can_place_piece(s, DS, TROOPS) ],
+ [ vm_auto_place, false, 0, false, DS, TROOPS ],
+ [ vm_asm, ()=>(game.vm.count += 1) ],
+ [ vm_endspace ],
+ [ vm_endrepeat ],
+ [ vm_prompt, "Make a free Attack in one Province adjacent to Warangal." ],
+ [ vm_space, true, 1, 1, (s)=>(is_adjacent_to_city(C_WARANGAL, s) && can_attack_in_space(s)) ],
+ [ vm_free_attack ],
+ [ vm_endspace ],
[ vm_return ],
]
@@ -4915,7 +4940,7 @@ CODE[14 * 2 + 0] = [
CODE[14 * 2 + 1] = [
[ vm_current, DS ],
[ vm_gain_cavalry, 3 ],
- [ vm_prompt, "Place up to 4 Troops and 1 Governor in a province adjacent to Vijayanagara and Demand Obedience there." ],
+ [ vm_prompt, "Place up to 4 Troops and a Governor in a province adjacent to Vijayanagara and Demand Obedience there." ],
[ vm_space, true, 0, 1, (s)=>is_adjacent_to_city(C_VIJAYANAGARA, s) ],
[ vm_place, false, 1, 4, DS, TROOPS ],
[ vm_place, false, 1, 1, DS, ELITE ],