Package megamek.client.bot.princess
package megamek.client.bot.princess
-
ClassDescriptionHelper class that contains functionality relating mostly to aero unit paths.Gunnery for aerospace units flying in an atmosphere.A player's standing order to a bot's flight: what its priority target set is this battle.The air-to-air geometry an aerospace unit has to satisfy before it can shoot at anything.An inclusive range of altitudes.A player's standing order to a bot's DropShips and small craft: get in the air, get on the ground, or leave it to doctrine.Movement doctrine for aerospace units flying in an atmosphere.Which set of atmospheric aerospace rules a unit is flying under.ArtilleryCommandAndControl class represents the artillery command and control for the bot.The ammo type a fire mission should use, mapped to the artillery munitions it covers.This class handles the creation of firing plans for indirect-fire artillery and other weapons that get used during the targeting phase.A path ranker implementation for most units that evaluates and prioritizes movement paths with the highest score.Simple data structure that holds a separate firing and physical damage number.This contains useful classes and functions for geometric questions the bot algorithm might haveEverything a bot has learned or decided that it will need again on a later turn, in one place.Represents the commands that the princess can execute.Whether the bot's force is attacking or defending.Validates the coverage of a unit in the battlefield.Tracks enemy units and calculates threat scores based on their positions and capabilities.EntityState describes a hypothetical situation an entity could be in when firingWhat a bot remembers about one infantry vs.The strengths in one round of an action, as the bot saw them on its declaration turn.FireControl selects which weapons a unit wants to fire and at whom Pay attention to the difference between "guess" and "get".The possible fire control types.This class is a data structure meant to hold Fire Control related state, to keep the FireControl class relatively stateless.FiringPlan is a series of
WeaponFireInfoobjects describing a full attack turnThis data structure contains parameters that may be passed to the "determineBestFiringPlan()"Decides which of a Princess bot's units withdraw under Forced Withdrawal, and keeps the list of them the bot judges each turn's attacks against.Where a force's formation is and how wide it may be: the shape arithmetic both halves of the Mutual Support doctrine measure against.Decides which friendly units are on the mover's side of a water obstacle, so a force split by a river forms up with the units it can actually reach.Tracks activity of units on the map.What one hex offers a unit standing in it, expressed as rules effects rather than terrain names.Decides a bot's infantry vs.Helper class for Princess AI infantry vs infantry combat decisions.This class is intended to help the bot calculate firing plans for infantry units.This class handles evaluating spaces on the board for the purposes of minefield deploymentThis class contains logic to evaluate the damage a unit could sustain from moving a long a move path containing minefieldsMethod for handling morale with Princess.Princess-Bot fire control class used to calculate firing plans for units that can shoot at multiple targets without incurring a penalty.Deployment half of the Mutual Support doctrine: get a force onto the board as a formation rather than as a set of unrelated units.Path ranker implementing the Mutual Support movement doctrine (CASPAR divergence #1): maneuver elements advance on the enemy while remaining within supporting range of one another - close enough that any enemy engaging one element can itself be engaged by another - and commit their combat power together rather than sequentially.This class contains logic that calculates and stores a) possible paths that units in play can take, and b) their possible locationsThe possible path ranker types.This class handles state information for Princess' path ranking algorithms, as the path ranker and its subclasses are intended to be basically stateless.Decides each round whether the force is attacking or defending, when the player has left the call to the bot (CombatPosture.AUTO).unit_potential_locations keeps track of all the potential coordinates and facings a unit could reach It tries to keep all the calculations up to date, and do most of the work when the opponent is movingA bot artillery heat-map marker.This class stores all the calculations of probabilities given the rule setHow far a unit can usefully reach, in hexes: the single definition of "supporting range" for the Mutual Support doctrine.Manages the center of a swarm of friendly units.Context class to control the units as a swarm.Predicts whether a shot would be blocked or shortened by water, for a shooter and target that are not actually standing where the bot is considering putting them.What a bot remembers about one of its own units from earlier rounds: the page for that unit in theBotMemory.One round's movement by one unit.WeaponFireInfo is a wrapper around a WeaponAttackAction that includes probability to hit and expected damage