summaryrefslogtreecommitdiff
path: root/rules.js
diff options
context:
space:
mode:
Diffstat (limited to 'rules.js')
-rw-r--r--rules.js47
1 files changed, 29 insertions, 18 deletions
diff --git a/rules.js b/rules.js
index 618cd89..7077197 100644
--- a/rules.js
+++ b/rules.js
@@ -35,6 +35,17 @@ function frac(x) {
return x >> 1
}
+function range(x) {
+ switch (x) {
+ case 1: return "1"
+ case 2: return "1-2"
+ case 3: return "1-3"
+ case 4: return "1-4"
+ case 5: return "1-5"
+ case 6: return "1-6"
+ }
+}
+
let game = null
let view = null
let states = {}
@@ -3452,11 +3463,11 @@ states.levy_muster_lord = {
let die = roll_die()
let fealty = data.lords[other].fealty
if (die <= fealty) {
- log(`L${other} 1-${fealty}: ${HIT[die]}`)
+ log(`L${other} ${range(fealty)}: ${HIT[die]}`)
push_state("muster_lord_at_seat")
game.who = other
} else {
- log(`L${other} 1-${fealty}: ${MISS[die]}`)
+ log(`L${other} 1-${range(fealty)}: ${MISS[die]}`)
resume_levy_muster_lord()
}
},
@@ -5306,11 +5317,11 @@ states.surrender = {
let die = roll_die()
let n = count_siege_markers(here)
if (die <= n) {
- log(`Surrender 1-${n}: ${HIT[die]}`)
+ log(`Surrender ${range(n)}: ${HIT[die]}`)
surrender_stronghold(here)
end_siege()
} else {
- log(`Surrender 1-${n}: ${MISS[die]}`)
+ log(`Surrender ${range(n)}: ${MISS[die]}`)
build_siegeworks()
}
},
@@ -8547,8 +8558,8 @@ function roll_for_walls() {
prot--
}
if (prot > 0) {
- game.battle.xhits = roll_for_protection(`Walls 1-${prot}`, true, prot, game.battle.xhits)
- game.battle.hits = roll_for_protection(`Walls 1-${prot}`, false, prot, game.battle.hits)
+ game.battle.xhits = roll_for_protection(`Walls ${range(prot)}`, true, prot, game.battle.xhits)
+ game.battle.hits = roll_for_protection(`Walls ${range(prot)}`, false, prot, game.battle.hits)
} else {
logi("No walls.")
}
@@ -8561,8 +8572,8 @@ function roll_for_siegeworks() {
prot--
}
if (prot > 0) {
- game.battle.xhits = roll_for_protection(`Siegeworks 1-${prot}`, true, prot, game.battle.xhits)
- game.battle.hits = roll_for_protection(`Siegeworks 1-${prot}`, false, prot, game.battle.hits)
+ game.battle.xhits = roll_for_protection(`Siegeworks ${range(prot)}`, true, prot, game.battle.xhits)
+ game.battle.hits = roll_for_protection(`Siegeworks ${range(prot)}`, false, prot, game.battle.hits)
} else {
logi("No siegeworks.")
}
@@ -8575,8 +8586,8 @@ function roll_for_ravens_rock() {
prot--
}
if (prot > 0) {
- game.battle.xhits = roll_for_protection(`C${EVENT_RUSSIAN_RAVENS_ROCK} 1-${prot}`, true, prot, game.battle.xhits)
- game.battle.hits = roll_for_protection(`C${EVENT_RUSSIAN_RAVENS_ROCK} 1-${prot}`, false, prot, game.battle.hits)
+ game.battle.xhits = roll_for_protection(`C${EVENT_RUSSIAN_RAVENS_ROCK} ${range(prot)}`, true, prot, game.battle.xhits)
+ game.battle.hits = roll_for_protection(`C${EVENT_RUSSIAN_RAVENS_ROCK} ${range(prot)}`, false, prot, game.battle.hits)
} else {
logi(`No C${EVENT_RUSSIAN_RAVENS_ROCK}.`)
}
@@ -8894,24 +8905,24 @@ function action_assign_hits(lord, type) {
if (evade > 0 && !game.battle.storm && is_melee_step()) {
let die = roll_die()
if (die <= evade) {
- logi(`${FORCE_TYPE_NAME[type]} 1-${evade}: ${MISS[die]}`)
+ logi(`${FORCE_TYPE_NAME[type]} ${range(evade)}: ${MISS[die]}`)
} else {
- logi(`${FORCE_TYPE_NAME[type]} 1-${evade}: ${HIT[die]}`)
+ logi(`${FORCE_TYPE_NAME[type]} ${range(evade)}: ${HIT[die]}`)
rout_unit(lord, type)
}
} else if (protection > 0) {
let die = roll_die()
if (die <= protection - ap) {
- logi(`${FORCE_TYPE_NAME[type]} 1-${protection-ap}: ${MISS[die]}`)
+ logi(`${FORCE_TYPE_NAME[type]} ${range(protection-ap)}: ${MISS[die]}`)
} else {
- logi(`${FORCE_TYPE_NAME[type]} 1-${protection-ap}: ${HIT[die]}`)
+ logi(`${FORCE_TYPE_NAME[type]} ${range(protection-ap)}: ${HIT[die]}`)
if (use_warrior_monks(lord, type)) {
let card = which_lord_capability(lord, AOW_TEUTONIC_WARRIOR_MONKS)
die = roll_die()
if (die <= protection - ap) {
- logi(`C${card} 1-${protection-ap}: ${MISS[die]}`)
+ logi(`C${card} ${range(protection-ap)}: ${MISS[die]}`)
} else {
- logi(`C${card} 1-${protection-ap}: ${HIT[die]}`)
+ logi(`C${card} ${range(protection-ap)}: ${HIT[die]}`)
rout_unit(lord, type)
}
} else {
@@ -9491,11 +9502,11 @@ function action_losses(lord, type) {
let die = roll_die()
if (die <= target) {
- logi(`${FORCE_TYPE_NAME[type]} 1-${target}: ${MISS[die]}`)
+ logi(`${FORCE_TYPE_NAME[type]} ${range(target)}: ${MISS[die]}`)
add_lord_routed_forces(lord, type, -1)
add_lord_forces(lord, type, 1)
} else {
- logi(`${FORCE_TYPE_NAME[type]} 1-${target}: ${HIT[die]}`)
+ logi(`${FORCE_TYPE_NAME[type]} ${range(target)}: ${HIT[die]}`)
add_lord_routed_forces(lord, type, -1)
if (type === SERFS)
game.pieces.smerdi++