Something went wrong. Try again.
bayes for days
Something went wrong. Try again.
Markdown
id: fire-modes title: Ultra and Rotary autocannon rates are a choice status: open dependsOn: [ev] exitCriterion: > A Rotary AC is fired at a rate the bot chose against the jam risk, and a different rate is chosen when the risk is worth taking. #
fire-modes #
Partly built. Weapon::shots_per_firing exists, Mode, WeaponMode and
OneOf are in volley.rs, and a launcher's modes already resolve through
OneOf::resolve - the type has no sum and no iter precisely so a caller
cannot add two alternatives together by accident.
What is not there is the risk. An Ultra AC firing double can jam; a Rotary firing at four or six can jam harder. The bot picks a rate without pricing the chance of losing the weapon for the rest of the match, which makes the highest rate always look best.
What it needs #
- The jam roll per rate, from MegaMek rather than a rulebook. Probe it the way
SdsMinimumRangeprobed range. - A term in the volley's value for the expected cost of jamming: a weapon lost for the remaining rounds, weighted by how much of the force's firepower it is.
- A check that
ammo_spentprices the higher rate correctly - it now counts rounds rather than declarations, so an Ultra in double mode should already spend two.