summaryrefslogtreecommitdiff
path: root/rules.js
diff options
context:
space:
mode:
Diffstat (limited to 'rules.js')
-rw-r--r--rules.js215
1 files changed, 113 insertions, 102 deletions
diff --git a/rules.js b/rules.js
index 7727825..3500387 100644
--- a/rules.js
+++ b/rules.js
@@ -155,7 +155,7 @@ function raise_fln_psl(amount) {
throw Error(`ASSERT: amount > 0, but was ${amount}`)
// can trigger victory
game.fln_psl += amount
- log(`>FLN PSL +${amount}`)
+ logi(`FLN PSL +${amount}`)
if (game.fln_psl > MAX_PSL) {
let excess_psl = game.fln_psl - MAX_PSL
log(`FLN PSL exceeds ${MAX_PSL}`)
@@ -169,7 +169,7 @@ function raise_gov_psl(amount) {
throw Error(`ASSERT: amount > 0, but was ${amount}`)
// can trigger victory
game.gov_psl += amount
- log(`>Goverment PSL +${amount}`)
+ logi(`Goverment PSL +${amount}`)
if (game.gov_psl > MAX_PSL) {
let excess_psl = game.gov_psl - MAX_PSL
log(`Government PSL exceeds ${MAX_PSL}`)
@@ -181,21 +181,21 @@ function raise_gov_psl(amount) {
function lower_fln_psl(amount) {
if (amount <= 0)
throw Error(`ASSERT: amount > 0, but was ${amount}`)
- log(`>FLN PSL -${amount}`)
+ logi(`FLN PSL -${amount}`)
game.fln_psl = Math.max(0, game.fln_psl - amount)
}
function lower_gov_psl(amount) {
if (amount <= 0)
throw Error(`ASSERT: amount > 0, but was ${amount}`)
- log(`>Goverment PSL -${amount}`)
+ logi(`Goverment PSL -${amount}`)
game.gov_psl = Math.max(0, game.gov_psl - amount)
}
function raise_fln_ap(amount) {
if (amount <= 0)
throw Error(`ASSERT: amount > 0, but was ${amount}`)
- log(`>FLN AP +${amount}`)
+ logi(`FLN AP +${amount}`)
game.fln_ap = Math.min(MAX_AP, game.fln_ap + amount)
}
@@ -515,7 +515,7 @@ function eliminate_unit(u) {
}
function neutralize_unit(u) {
- log(`>U${u} neutralized`)
+ logi(`U${u} neutralized`)
set_unit_neutralized(u)
if (!is_police_unit(u))
set_unit_box(u, OC)
@@ -523,7 +523,7 @@ function neutralize_unit(u) {
function remove_unit(u, to=DEPLOY) {
let loc = unit_loc(u)
- log(`>U${u} from A${loc}`)
+ logi(`U${u} from A${loc}`)
set_unit_loc(u, to)
set_unit_box(u, OC)
clear_unit_neutralized(u)
@@ -551,7 +551,7 @@ function roll_oas_control() {
} else {
game.oas_control = GOV
}
- log(`>Controlled by ${player_name(game.oas_control)}`)
+ logi(`Controlled by ${player_name(game.oas_control)}`)
}
function remove_oas() {
@@ -1587,7 +1587,7 @@ states.scenario_setup = {
let keys = Object.keys(game.summary).map(Number).sort((a,b)=>a-b)
for (let x of keys) {
if (game.summary[x] > 0)
- log(`>${game.summary[x]} at A${x}`)
+ logi(`${game.summary[x]} at A${x}`)
}
game.summary = null
delete game.quick_setup
@@ -1627,7 +1627,7 @@ function goto_random_event() {
if (game.events.gov_remobilize) {
log("Units may remobilize this turn:")
for (let u of game.events.gov_remobilize) {
- log(`>U${u}`)
+ logi(`U${u}`)
set_unit_loc(u, DEPLOY)
}
delete game.events.gov_remobilize
@@ -1637,7 +1637,7 @@ function goto_random_event() {
if (game.events.gov_return) {
log("Units returned:")
for (const [u, loc] of Object.entries(game.events.gov_return)) {
- log(`>U${u} to A${loc}`)
+ logi(`U${u} to A${loc}`)
deploy_unit(u, loc)
}
delete game.events.gov_return
@@ -1710,8 +1710,8 @@ function goto_no_event() {
function goto_fln_foreign_arms_shipment() {
log_h3("FLN Foreign arms shipment.")
// The FLN player adds 2d6 AP, minus the current number of Naval Points.
- log(`FLN adds 2d6 AP, -${game.naval} Naval Points`)
let roll = roll_nd6(2)
+ logi(`-${game.naval} Naval PTS`)
let delta_ap = Math.max(roll - game.naval, 0)
if (delta_ap)
raise_fln_ap(delta_ap)
@@ -2020,8 +2020,7 @@ states.event_gov_suez_crisis_select_units = {
function goto_amnesty() {
log_h3("Amnesty")
- log('The French government offers "the peace of the brave" to FLN rebels.')
- log("All Government Civil Affairs or Suppression missions get a +1 DRM this turn.")
+ log("Gov. Civil Affairs & Suppression +1 DRM this turn.")
game.events.amnesty = true
end_random_event()
}
@@ -2132,7 +2131,7 @@ function mobilize_unit(u, to) {
set_unit_box(u, OPS)
}
- log(`>U${u} into A${to}`)
+ logi(`U${u} into A${to}`)
}
function is_slow_french_reaction() {
@@ -2274,7 +2273,7 @@ states.gov_reinforcement = {
log("Activated:")
for (let u of list) {
let loc = unit_loc(u)
- log(`>U${u} in A${loc}`)
+ logi(`U${u} in A${loc}`)
set_unit_box(u, OPS)
}
// cost can be fraction
@@ -2292,8 +2291,8 @@ states.gov_reinforcement = {
},
acquire_air_point() {
push_undo()
- log("+1 Air Point")
- // log(`>Paid ${COST_AIR_POINT} PSP`)
+ log("+1 Air PTS")
+ // logi(`Paid ${COST_AIR_POINT} PSP`)
lower_gov_psl(COST_AIR_POINT)
game.air_avail += 1
game.air_max += 1
@@ -2302,8 +2301,8 @@ states.gov_reinforcement = {
},
acquire_helo_point() {
push_undo()
- log("+1 Helo Point")
- // log(`>Paid ${COST_HELO_POINT} PSP`)
+ log("+1 Helo PTS")
+ // logi(`Paid ${COST_HELO_POINT} PSP`)
lower_gov_psl(COST_HELO_POINT)
game.helo_avail += 1
game.helo_max += 1
@@ -2312,7 +2311,7 @@ states.gov_reinforcement = {
},
acquire_naval_point() {
push_undo()
- log("+1 Naval Point")
+ log("+1 Naval PTS")
// log(`Paid ${COST_NAVAL_POINT} PSP`)
lower_gov_psl(COST_NAVAL_POINT)
game.naval += 1
@@ -2322,14 +2321,14 @@ states.gov_reinforcement = {
activate_border_zone() {
push_undo()
log("Border Zone Activated")
- // log(`>Paid ${COST_ACTIVATE_BORDER_ZONE} PSP`)
+ // logi(`Paid ${COST_ACTIVATE_BORDER_ZONE} PSP`)
lower_gov_psl(COST_ACTIVATE_BORDER_ZONE)
game.border_zone_active = true
},
mobilize_border_zone() {
push_undo()
log("Border Zone Mobilized")
- // log(`>Paid ${COST_BORDER_ZONE} PSP`)
+ // logi(`Paid ${COST_BORDER_ZONE} PSP`)
lower_gov_psl(COST_BORDER_ZONE)
game.border_zone_drm = 0
game.events.border_zone_mobilized = true
@@ -2337,7 +2336,7 @@ states.gov_reinforcement = {
improve_border_zone() {
push_undo()
log("Border Zone Improved")
- // log(`>Paid ${COST_BORDER_ZONE} PSP`)
+ // logi(`Paid ${COST_BORDER_ZONE} PSP`)
lower_gov_psl(COST_BORDER_ZONE)
game.border_zone_drm -= 1
},
@@ -2352,28 +2351,38 @@ states.gov_reinforcement = {
function give_fln_ap() {
// Give AP
- log_h3("Areas under FLN control:")
+ log_h3("Areas under FLN control")
for_each_algerian_map_area(loc => {
let control_ap = 0
+ let summary = []
if (is_area_urban(loc)) {
// He gets 5 AP for each Urban area he controls, or 2 AP if the area is contested but he has non-neutralized units there.
+ summary.push('Urban')
if (is_area_fln_control(loc)) {
+ summary.push('Control')
control_ap += 5
} else if (has_friendly_not_neutralized_unit_in_loc(loc)) {
+ summary.push('Units')
control_ap += 2
}
} else if (is_area_rural(loc)) {
// He gets 2 AP for each Rural area he controls, and 1 if the area is contested but he has non-neutralized units there.
+ summary.push('Rural')
if (is_area_fln_control(loc)) {
+ summary.push('Control')
control_ap += 2
} else if (has_friendly_not_neutralized_unit_in_loc(loc)) {
+ summary.push('Units')
control_ap += 1
}
}
// If an area is Terrorized, he gets 1 fewer AP than he normally would.
- if (is_area_terrorized(loc)) control_ap -= 1
+ if (is_area_terrorized(loc)) {
+ summary.push("Terrorized")
+ control_ap -= 1
+ }
if (control_ap > 0) {
- log(`A${loc}`)
+ log(`A${loc} (` + summary.join(", ") + ")")
raise_fln_ap(control_ap)
}
})
@@ -2382,7 +2391,7 @@ function give_fln_ap() {
// He gets AP equal to 10% (round fractions up) of his current PSL, minus the number of French Naval Points.
let psl_percentage = Math.ceil(0.10 * game.fln_psl)
let psl_ap = Math.max(psl_percentage - game.naval, 0)
- log(`Received 10% of PSL (- ${game.naval} Naval Points) = ${psl_ap}`)
+ log(`10% of PSL (- ${game.naval} Naval PTS)`)
if (psl_ap) {
raise_fln_ap(psl_ap)
}
@@ -2456,7 +2465,7 @@ function build_fln_unit(type, where) {
set_unit_box(u, UG)
let cost = build_cost(where)
game.fln_ap -= cost
- log(`>Paid ${cost} AP`)
+ logi(`Paid ${cost} AP`)
}
function convert_fln_unit(u, type) {
@@ -2468,7 +2477,7 @@ function convert_fln_unit(u, type) {
free_unit(u)
let cost = convert_cost(type)
game.fln_ap -= cost
- log(`>Paid ${cost} AP`)
+ logi(`Paid ${cost} AP`)
}
states.fln_reinforcement = {
@@ -2647,19 +2656,18 @@ states.gov_deployment = {
let list = game.selected
game.selected = []
push_undo()
- log("Deployed:")
for (let u of list) {
let loc = unit_loc(u)
if (loc === to) {
if (unit_box(u) === PTL) {
- log(`>U${u} in A${loc}`)
+ log(`U${u} in A${loc}`)
set_unit_box(u, OPS)
} else {
- log(`>U${u} in A${loc} on PTL`)
+ log(`U${u} in A${loc} on PTL`)
set_unit_box(u, PTL)
}
} else {
- log(`>U${u} in A${loc}`)
+ log(`U${u} in A${loc}`)
set_unit_loc(u, to)
set_unit_box(u, OPS)
}
@@ -2671,10 +2679,10 @@ states.gov_deployment = {
let loc = unit_loc(u)
push_undo()
if (is_unit_dispersed(u)) {
- log(`U${u} in A${loc} set to Concentrated mode`)
+ log(`U${u} in A${loc} set to Concentrated`)
clear_unit_dispersed(u)
} else {
- log(`U${u} in A${loc} set to Dispersed mode`)
+ log(`U${u} in A${loc} set to Dispersed`)
set_unit_dispersed(u)
}
set_add(game.mode_changed, u)
@@ -2692,6 +2700,11 @@ function goto_fln_deployment_phase() {
log_h2(`${game.active} Deployment`)
game.state = "fln_deployment"
game.selected = []
+
+ // Reset Cadre in France automatically.
+ for_each_friendly_unit_in_loc(FRANCE, u => {
+ set_unit_box(u, UG)
+ })
}
states.fln_deployment = {
@@ -2701,7 +2714,7 @@ states.fln_deployment = {
if (!game.selected.length) {
for_each_friendly_unit_on_map_box(UG, u => {
let loc = unit_loc(u)
- if (is_unit_not_neutralized(u) && !is_area_morocco_or_tunisia(loc) && !(game.deploy_cadre_france && is_area_france(loc)))
+ if (is_unit_not_neutralized(u) && !is_area_morocco_or_tunisia(loc) && !(is_area_france(loc) && game.deploy_cadre_france))
gen_action_unit(u)
})
} else {
@@ -2748,20 +2761,19 @@ states.fln_deployment = {
let list = game.selected
game.selected = []
push_undo()
- log("Deployed:")
if (is_area_france(to))
game.deploy_cadre_france = true
for (let u of list) {
let loc = unit_loc(u)
if (loc === to) {
- log(`>U${u} in A${loc}`)
+ log(`U${u} in A${loc}`)
if (unit_box(u) === UG) {
set_unit_box(u, OPS)
} else {
set_unit_box(u, UG)
}
} else {
- log(`>U${u} to A${to}`)
+ log(`U${u} to A${to}`)
set_unit_loc(u, to)
set_unit_box(u, UG)
}
@@ -2800,7 +2812,7 @@ function goto_operations_phase() {
// Whatever the result of the mission, it will automatically cause a Terror marker to be placed in the Area (if there isn't one there already).
if (!is_area_terrorized(loc)) {
- log(">Area terrorized")
+ logi("Area terrorized")
set_area_terrorized(loc)
}
@@ -2971,10 +2983,10 @@ states.fln_propaganda = {
clear_undo()
log_h3(`Propaganda in A${loc}`)
- log(`>by U${unit}`)
+ log(`by U${unit}`)
// pay cost & update flags
- log(`>Paid ${FLN_PROPAGANDA_COST} AP`)
+ logi(`Paid ${FLN_PROPAGANDA_COST} AP`)
game.fln_ap -= FLN_PROPAGANDA_COST
set_area_propagandized(loc)
set_unit_box(unit, OC)
@@ -3050,7 +3062,7 @@ function goto_distribute_psp(who, psp, reason) {
game.phasing = FLN_NAME
}
set_active_player()
- log_h3(`${game.active} to Distribute ${psp} PSP`)
+ log(`${game.active} to Distribute ${psp} PSP`)
game.state = "distribute_psp"
}
@@ -3210,13 +3222,13 @@ states.fln_strike = {
log_h3(`Strike in A${loc}`)
if (assist) {
- log(`>by Front (with ${assist} Cadre)`)
+ log(`by U${front_unit} (with ${assist} Cadre)`)
} else {
- log(`>by Front`)
+ log(`by U${front_unit}`)
}
// pay cost & update flags
- log(`>Paid ${FLN_STRIKE_COST} AP`)
+ logi(`Paid ${FLN_STRIKE_COST} AP`)
game.fln_ap -= FLN_STRIKE_COST
set_area_struck(loc)
for (let u of list) {
@@ -3341,7 +3353,7 @@ states.fln_move = {
push_undo()
log_h3(`Move from A${loc} to A${to}`)
- log(`> by U${unit}`)
+ log(`by U${unit}`)
let roll = roll_1d6()
// Note that the die roll is modified by the number of Government units on Patrol in the area moved to, not from.
@@ -3419,7 +3431,7 @@ states.fln_raid = {
}
// pay cost & update flags
- log(`>Paid ${FLN_RAID_COST} AP`)
+ logi(`Paid ${FLN_RAID_COST} AP`)
game.fln_ap -= FLN_RAID_COST
set_area_raided(loc)
for (let u of list) {
@@ -3450,7 +3462,7 @@ states.fln_raid = {
if (effect === '+') {
// bad effect: 1 Band/Failek neutralized, area is Terrorized
neutralize_unit(first_unit)
- log(">Area terrorized")
+ logi("Area terrorized")
set_area_terrorized(loc)
} else if (effect === '@') {
// good result: 1 Police unit neutralized, area is Terrorized
@@ -3461,7 +3473,7 @@ states.fln_raid = {
done = true
}
})
- log(">Area terrorized")
+ logi("Area terrorized")
set_area_terrorized(loc)
}
@@ -3561,7 +3573,7 @@ function goto_combat() {
for (let u of game.combat.fln_units) {
fln_firepower += unit_firepower(u)
}
- log(`>FLN firepower ${fln_firepower}`)
+ logi(`FLN firepower ${fln_firepower}`)
game.combat.hits_on_gov = roll_crt(fln_firepower)
log(`Hits on Gov. ${game.combat.hits_on_gov}`)
@@ -3579,11 +3591,11 @@ function goto_combat() {
half_str = " (half)"
}
if (game.mission_air_pts) {
- log(`>Using ${game.mission_air_pts} Air Points`)
+ logi(`Using ${game.mission_air_pts} Air PTS`)
let roll = roll_nd6(game.mission_air_pts)
gov_firepower += roll
}
- log(`>Gov. firepower ${gov_firepower}${half_str}`)
+ logi(`Gov. firepower ${gov_firepower}${half_str}`)
game.combat.hits_on_fln = roll_crt(gov_firepower)
log(`Hits on FLN ${game.combat.hits_on_fln}`)
@@ -3621,12 +3633,12 @@ function end_combat() {
// (according to the table, whether implemented or not) are Neutralized (no one is neutralized if equal results).
if (game.combat.hits_on_gov > game.combat.hits_on_fln) {
- log(`>Gov. units neutralized`)
+ logi(`Gov. units neutralized`)
for (let u of game.combat.gov_units) {
neutralize_unit(u)
}
} else if (game.combat.hits_on_gov < game.combat.hits_on_fln && game.combat.fln_units.length) {
- log(`>FLN units neutralized`)
+ logi(`FLN units neutralized`)
for (let u of game.combat.fln_units) {
neutralize_unit(u)
}
@@ -3871,7 +3883,7 @@ states.gov_flush_select_units = {
if (is_area_urban(game.selected_loc) || !game.air_max) {
view.prompt = "Flush: Execute mission"
} else {
- view.prompt = `Flush: Execute mission (using ${game.mission_air_pts} Air Point(s))`
+ view.prompt = `Flush: Execute mission (using ${game.mission_air_pts} Air PTS)`
view.actions.use_air_point = game.air_avail > 0
}
@@ -3958,10 +3970,10 @@ states.gov_flush_select_units = {
// The Government player rolls to contact each FLN unit that is currently in the OPS or OC boxes
// by rolling equal to or less than this number, moving contacted units to one side.
if (roll <= contact_ratings) {
- log(">Contact")
+ logi("Contact")
set_add(game.contacted, u)
} else {
- log(">No contact")
+ logi("No contact")
}
})
@@ -4034,7 +4046,7 @@ states.gov_airmobilize_select_units = {
log(`Airmobilized (using ${cost} Helo PTS):`)
for (let u of list) {
let loc = unit_loc(u)
- log(`>U${u} in A${loc}`)
+ logi(`U${u} in A${loc}`)
set_unit_airmobile(u)
}
game.state = game.from_state
@@ -4070,7 +4082,7 @@ states.gov_react = {
if (is_area_urban(contact_loc) || !game.air_max) {
view.prompt = "React: Execute mission"
} else {
- view.prompt = `React: Execute mission (using ${game.mission_air_pts} Air Point(s))`
+ view.prompt = `React: Execute mission (using ${game.mission_air_pts} Air PTS)`
view.actions.use_air_point = game.air_avail > 0
}
@@ -4132,7 +4144,7 @@ states.gov_react = {
log(`U${u}`)
let roll = roll_1d6()
if (roll <= unit_evasion(u)) {
- log(">Evades to UG")
+ logi("Evades to UG")
evade_unit(u)
}
}
@@ -4233,10 +4245,10 @@ states.gov_intelligence = {
// and rolls to contact each FLN unit in the UG box of that area by rolling equal to or less than this number
if (roll <= contact_ratings) {
- logi("Contact")
+ logi(`Roll ${roll} <= ${contact_ratings}: Contact`)
set_unit_box(u, OC)
} else {
- logi("No contact")
+ logi(`Roll ${roll} > ${contact_ratings}: No contact`)
}
})
@@ -4296,7 +4308,7 @@ states.gov_civil_affairs = {
// remove Terror marker on a @ or +.
if (is_area_terrorized(loc) && (effect === '+' || effect === '@')) {
- log(">Terror marker removed")
+ logi("Terror marker removed")
clear_area_terrorized(loc)
}
end_gov_mission()
@@ -4339,7 +4351,7 @@ function do_suppression(loc, assist=0) {
})
if (!targets.length) {
- log(">No Bands/Faileks to neutralize")
+ logi("No Bands/Faileks to neutralize")
}
// TODO FLN player chooses which exact units are neutralized)
@@ -4361,15 +4373,15 @@ function do_suppression(loc, assist=0) {
}
})
if (!is_area_terrorized(loc)) {
- log(">Area terrorized")
+ logi("Area terrorized")
set_area_terrorized(loc)
}
} else if (effect === '+') {
- log(">Backfired")
+ logi("Backfired")
let roll = roll_1d6()
lower_gov_psl(roll)
if (!is_area_terrorized(loc)) {
- log(">Area terrorized")
+ logi("Area terrorized")
set_area_terrorized(loc)
}
}
@@ -4406,7 +4418,7 @@ states.gov_suppression = {
log_h3(`Suppression in A${loc}`)
let assist = count_not_neutralized_unit_type_in_loc(EL_X, loc)
if (assist) {
- log(`>(with ${assist} Elite)`)
+ logi(`(with ${assist} Elite)`)
}
lower_gov_psl(GOV_SUPPRESSION_COST)
@@ -4453,7 +4465,7 @@ states.gov_population_resettlement = {
lower_gov_psl(GOV_POPULATION_RESETTLEMENT_COST)
set_area_remote(loc)
set_area_terrorized(loc)
- log(">Area terrorized & now remote")
+ logi("Area terrorized & now Remote")
let fln_award = roll_nd6(3)
raise_fln_psl(fln_award)
@@ -4526,20 +4538,19 @@ function determine_control() {
// If one side has twice as many or more Control Points than the other, then it gets Control and an appropriate marker is placed in the area.
if (!difference || (!fln_pts[loc] && !gov_pts[loc])) {
- // log(`>Contested`)
+ // logi(`Contested`)
set_area_contested(loc)
return
}
- log(`A${loc}`)
- log(`>FLN ${fln_pts[loc]} vs Gov ${gov_pts[loc]}`)
+ log(`A${loc} (FLN ${fln_pts[loc]} - Gov. ${gov_pts[loc]})`)
if (fln_pts[loc] >= 2 * gov_pts[loc]) {
- log(`>FLN Control`)
+ logi(`FLN Control`)
set_area_fln_control(loc)
return
} else if (gov_pts[loc] >= 2 * fln_pts[loc]) {
- log(`>Gov. Control`)
+ logi(`Gov. Control`)
set_area_gov_control(loc)
return
}
@@ -4547,21 +4558,21 @@ function determine_control() {
// If one side has less than twice as many Points, take the difference of the two totals
// Both sides then roll 1d6 trying to get equal to or less than that number.
let fln_roll = roll_d6()
- log(`> FLN rolled B${fln_roll}`)
+ logi(`FLN rolled B${fln_roll}`)
let gov_roll = roll_d6()
- log(`> Government rolled B${gov_roll}`)
+ logi(`Government rolled B${gov_roll}`)
let fln_claim = fln_roll <= difference
let gov_claim = gov_roll <= difference
// If one side succeeds, then he gets Control. If both or neither succeed, then the area remains Contested and no marker is placed.
if (fln_claim && !gov_claim) {
- log(`>FLN Control`)
+ logi(`FLN Control`)
set_area_fln_control(loc)
} else if (gov_claim && !fln_claim) {
- log(`>Gov. Control`)
+ logi(`Gov. Control`)
set_area_gov_control(loc)
} else {
- log(`>Contested`)
+ logi(`Contested`)
set_area_contested(loc)
}
})
@@ -4597,12 +4608,12 @@ function gov_depreciate_asset(title, num_max) {
logi("+1 Gov. PSL >= 70")
roll += 1
}
- log(`>${roll} <= ${loss} ?`)
+ logi(`${roll} <= ${loss} ?`)
if (roll <= loss) {
num_max = Math.max(num_max - loss, 0)
- log(`>${title} -${loss}`)
+ logi(`${title} -${loss}`)
} else {
- log(">no change")
+ logi("no change")
}
return num_max
}
@@ -4617,7 +4628,6 @@ function gov_depreciation() {
game.air_max = gov_depreciate_asset('Air Max', game.air_max)
}
if (game.helo_max) {
- log(`Helo Max=${game.helo_max}`)
game.helo_max = gov_depreciate_asset('Helo Max', game.helo_max)
}
}
@@ -4638,10 +4648,10 @@ function fln_depreciation() {
roll += 1
}
let loss = depreciation_loss_number(game.fln_ap)
- log(`>${roll} <= ${loss} ?`)
+ logi(`Roll <= Loss ${loss}?`)
if (roll <= loss) {
game.fln_ap = Math.max(game.fln_ap - loss, 0)
- log(`>AP -${loss}`)
+ logi(`AP -${loss}`)
}
}
@@ -4649,7 +4659,7 @@ function unit_and_area_recovery() {
log_h3("Recovery of Neutralized Units")
for_each_neutralized_unit_in_algeria(u => {
let loc = unit_loc(u)
- log(`>U${u} in A${loc}`)
+ logi(`U${u} in A${loc}`)
let roll = roll_1d6()
if (is_fln_unit(u) && game.fln_psl <= 30) {
@@ -4675,7 +4685,7 @@ function unit_and_area_recovery() {
}
if (roll >= 5) {
- log(">Recovered")
+ logi("Recovered")
clear_unit_neutralized(u)
}
})
@@ -4690,7 +4700,7 @@ function unit_and_area_recovery() {
roll += 1
}
if (roll >= 5) {
- log(">Recovered")
+ logi("Recovered")
clear_area_terrorized(loc)
}
}
@@ -4709,15 +4719,15 @@ function unit_redeployment() {
// let loc = unit_loc(u)
let box = unit_box(u)
if (is_fln_unit(u) && box !== UG) {
- // log(`>U${u} in A${loc} to UG`)
+ // logi(`U${u} in A${loc} to UG`)
set_unit_box(u, UG)
} else if (is_gov_unit(u) && is_mobile_unit(u)) {
if (box !== OC) {
- // log(`>U${u} in A${loc} to OC`)
+ // logi(`U${u} in A${loc} to OC`)
set_unit_box(u, OC)
}
if (is_unit_airmobile(u)) {
- // log(`>flipped airmobile back`)
+ // logi(`flipped airmobile back`)
clear_unit_airmobile(u)
}
}
@@ -4933,10 +4943,11 @@ states.gov_coup_attempt_select_units = {
let list = game.selected
game.selected = []
- log("Removed from map & disbanded:")
+ log("Removed:")
for (let u of list) {
remove_unit(u, ELIMINATED)
}
+ log_sep()
delete game.events.gov_remove_num
continue_final_psl_adjustment()
}
@@ -4957,7 +4968,7 @@ function final_psl_adjustment() {
coup_attempt()
return
} else {
- log("> No Coup attempt.")
+ logi("No Coup attempt.")
}
}
continue_final_psl_adjustment()
@@ -4987,7 +4998,7 @@ function continue_final_psl_adjustment() {
if (gov_area_adjust > 0) {
log_br()
- log("Areas Terrorized or ever Resettled")
+ log("Areas Terrorized or Resettled")
lower_gov_psl(gov_area_adjust)
if (check_victory())
return
@@ -5030,7 +5041,7 @@ function continue_final_psl_adjustment() {
gov_control += 1
}
})
- log(`Area control FLN=${fln_control} Gov.=${gov_control}`)
+ log(`Area control FLN ${fln_control} - Gov. ${gov_control}`)
let control_adjust = Math.floor(Math.abs(fln_control - gov_control) / 2)
if (control_adjust > 0) {
if (fln_control > gov_control) {
@@ -5195,7 +5206,7 @@ function roll_d6() {
function roll_1d6() {
let roll = roll_d6()
- logi("Rolled B" + roll)
+ log("Rolled B" + roll)
return roll
}
@@ -5208,7 +5219,7 @@ function roll_nd6(n) {
result += roll
summary.push("B" + roll)
}
- logi("Rolled " + summary.join(" "))
+ log("Rolled " + summary.join(" "))
return result
}
@@ -5222,7 +5233,7 @@ function roll_mst(roll) {
let effect_str = ''
if (effect === '+') effect_str = ' (bad)'
if (effect === '@') effect_str = ' (good)'
- log(`>MST: ${result}${effect}${effect_str}`)
+ log(`MST: ${result}${effect}${effect_str}`)
return [result, effect]
}
@@ -5249,7 +5260,7 @@ function combat_result(firepower, die) {
function roll_crt(firepower) {
let roll = roll_1d6()
let result = combat_result(firepower, roll)
- log(`>CRT: ${result}`)
+ log(`CRT: ${result}`)
return result
}
@@ -5266,7 +5277,7 @@ function array_remove(array, index) {
array.length = n - 1
}
-function array_remove_item(array, item) {
+function array_remove_item(array, item) { // eslint-disable-line no-unused-vars
let n = array.length
for (let i = 0; i < n; ++i)
if (array[i] === item)