M&B: Bannerlord 1.0.0
The horns sound, the ravens gather.
Loading...
Searching...
No Matches
TaleWorlds.MountAndBlade.MissionDeploymentPlan Class Reference

Inherits TaleWorlds.MountAndBlade.IMissionDeploymentPlan.

Public Member Functions

 MissionDeploymentPlan (Mission mission)
 
void CreateReinforcementPlans ()
 
void ClearDeploymentPlanForSide (BattleSideEnum battleSide, DeploymentPlanType planType)
 
void ClearAddedTroopsForBattleSide (BattleSideEnum battleSide, DeploymentPlanType planType)
 
void AddTroopsForBattleSide (BattleSideEnum battleSide, DeploymentPlanType planType, FormationClass formationClass, int footTroopCount, int mountedTroopCount)
 
void SetSpawnWithHorsesForSide (BattleSideEnum battleSide, bool spawnWithHorses)
 
void PlanBattleDeployment (BattleSideEnum battleSide, DeploymentPlanType planType, float spawnPathOffset=0)
 Makes a new deployment plan for a battle side and assigns spawn frames for all formations within a mission. More...
 
bool IsPositionInsideDeploymentBoundaries (BattleSideEnum battleSide, in Vec2 position, DeploymentPlanType planType)
 
Vec2 GetClosestDeploymentBoundaryPosition (BattleSideEnum battleSide, in Vec2 position, DeploymentPlanType planType)
 
int GetTroopCountForSide (BattleSideEnum side, DeploymentPlanType planType)
 
float GetSpawnPathOffsetForSide (BattleSideEnum side, DeploymentPlanType planType)
 
IFormationDeploymentPlan GetFormationPlan (BattleSideEnum side, FormationClass fClass, DeploymentPlanType planType)
 
bool IsPlanMadeForBattleSide (BattleSideEnum side, DeploymentPlanType planType)
 
bool IsPlanMadeForBattleSide (BattleSideEnum side, out bool isFirstPlan, DeploymentPlanType planType)
 
bool IsInitialPlanSuitableForFormations (BattleSideEnum side, ValueTuple< int, int >[] troopDataPerFormationClass)
 
bool HasDeploymentBoundaries (BattleSideEnum side, DeploymentPlanType planType)
 
MatrixFrame GetBattleSideDeploymentFrame (BattleSideEnum side, DeploymentPlanType planType)
 
MBReadOnlyDictionary< string, List< Vec2 > > GetDeploymentBoundaries (BattleSideEnum side, DeploymentPlanType planType)
 
void UpdateReinforcementPlans ()
 
bool IsPlanMadeForBattleSide (BattleSideEnum side, DeploymentPlanType planType)
 
bool IsPositionInsideDeploymentBoundaries (BattleSideEnum battleSide, in Vec2 position, DeploymentPlanType planType)
 
bool HasDeploymentBoundaries (BattleSideEnum side, DeploymentPlanType planType)
 
MBReadOnlyDictionary< string, List< Vec2 > > GetDeploymentBoundaries (BattleSideEnum side, DeploymentPlanType planType)
 
Vec2 GetClosestDeploymentBoundaryPosition (BattleSideEnum battleSide, in Vec2 position, DeploymentPlanType planType)
 
int GetTroopCountForSide (BattleSideEnum side, DeploymentPlanType planType)
 
MatrixFrame GetBattleSideDeploymentFrame (BattleSideEnum side, DeploymentPlanType planType)
 

Static Public Member Functions

static bool HasSignificantMountedTroops (int footTroopCount, int mountedTroopCount)
 

Static Public Attributes

const int NumFormationsWithUnset = (int)FormationClass.NumberOfAllFormations + 1
 

Constructor & Destructor Documentation

◆ MissionDeploymentPlan()

TaleWorlds.MountAndBlade.MissionDeploymentPlan.MissionDeploymentPlan ( Mission  mission)

Member Function Documentation

◆ CreateReinforcementPlans()

void TaleWorlds.MountAndBlade.MissionDeploymentPlan.CreateReinforcementPlans ( )

◆ ClearDeploymentPlanForSide()

void TaleWorlds.MountAndBlade.MissionDeploymentPlan.ClearDeploymentPlanForSide ( BattleSideEnum  battleSide,
DeploymentPlanType  planType 
)

◆ HasSignificantMountedTroops()

static bool TaleWorlds.MountAndBlade.MissionDeploymentPlan.HasSignificantMountedTroops ( int  footTroopCount,
int  mountedTroopCount 
)
static

◆ ClearAddedTroopsForBattleSide()

void TaleWorlds.MountAndBlade.MissionDeploymentPlan.ClearAddedTroopsForBattleSide ( BattleSideEnum  battleSide,
DeploymentPlanType  planType 
)

◆ AddTroopsForBattleSide()

void TaleWorlds.MountAndBlade.MissionDeploymentPlan.AddTroopsForBattleSide ( BattleSideEnum  battleSide,
DeploymentPlanType  planType,
FormationClass  formationClass,
int  footTroopCount,
int  mountedTroopCount 
)

◆ SetSpawnWithHorsesForSide()

void TaleWorlds.MountAndBlade.MissionDeploymentPlan.SetSpawnWithHorsesForSide ( BattleSideEnum  battleSide,
bool  spawnWithHorses 
)

◆ PlanBattleDeployment()

void TaleWorlds.MountAndBlade.MissionDeploymentPlan.PlanBattleDeployment ( BattleSideEnum  battleSide,
DeploymentPlanType  planType,
float  spawnPathOffset = 0 
)
Parameters
battleSideBattle side for which the plan will be made for can be attacker or defender
planTypeDetermines the type of plan to be made either reinforcement or initial deployment plan
spawnPathOffsetOnly valid when mission has spawn paths. Controls how far the battle sides will be away from each other w.r.t. spawn path center
  1. If troop counts are known before hand, they must be added to the plan for each battle side and formation before calling this method. So space occupied by deployed formations can be computed correctly. This accounts for battles where there is an existing spawn path.
  2. A plan can still be made for zero troops (where troop count is not known before hand). Like in sieges, village fights, hideouts and multi-player battles and also for planning reinforcement deployment positions

◆ IsPositionInsideDeploymentBoundaries()

bool TaleWorlds.MountAndBlade.MissionDeploymentPlan.IsPositionInsideDeploymentBoundaries ( BattleSideEnum  battleSide,
in Vec2  position,
DeploymentPlanType  planType 
)

◆ GetClosestDeploymentBoundaryPosition()

Vec2 TaleWorlds.MountAndBlade.MissionDeploymentPlan.GetClosestDeploymentBoundaryPosition ( BattleSideEnum  battleSide,
in Vec2  position,
DeploymentPlanType  planType 
)

◆ GetTroopCountForSide()

int TaleWorlds.MountAndBlade.MissionDeploymentPlan.GetTroopCountForSide ( BattleSideEnum  side,
DeploymentPlanType  planType 
)

◆ GetSpawnPathOffsetForSide()

float TaleWorlds.MountAndBlade.MissionDeploymentPlan.GetSpawnPathOffsetForSide ( BattleSideEnum  side,
DeploymentPlanType  planType 
)

◆ GetFormationPlan()

IFormationDeploymentPlan TaleWorlds.MountAndBlade.MissionDeploymentPlan.GetFormationPlan ( BattleSideEnum  side,
FormationClass  fClass,
DeploymentPlanType  planType 
)

◆ IsPlanMadeForBattleSide() [1/2]

bool TaleWorlds.MountAndBlade.MissionDeploymentPlan.IsPlanMadeForBattleSide ( BattleSideEnum  side,
DeploymentPlanType  planType 
)

◆ IsPlanMadeForBattleSide() [2/2]

bool TaleWorlds.MountAndBlade.MissionDeploymentPlan.IsPlanMadeForBattleSide ( BattleSideEnum  side,
out bool  isFirstPlan,
DeploymentPlanType  planType 
)

◆ IsInitialPlanSuitableForFormations()

bool TaleWorlds.MountAndBlade.MissionDeploymentPlan.IsInitialPlanSuitableForFormations ( BattleSideEnum  side,
ValueTuple< int, int >[]  troopDataPerFormationClass 
)

◆ HasDeploymentBoundaries()

bool TaleWorlds.MountAndBlade.MissionDeploymentPlan.HasDeploymentBoundaries ( BattleSideEnum  side,
DeploymentPlanType  planType 
)

◆ GetBattleSideDeploymentFrame()

MatrixFrame TaleWorlds.MountAndBlade.MissionDeploymentPlan.GetBattleSideDeploymentFrame ( BattleSideEnum  side,
DeploymentPlanType  planType 
)

◆ GetDeploymentBoundaries()

MBReadOnlyDictionary< string, List< Vec2 > > TaleWorlds.MountAndBlade.MissionDeploymentPlan.GetDeploymentBoundaries ( BattleSideEnum  side,
DeploymentPlanType  planType 
)

◆ UpdateReinforcementPlans()

void TaleWorlds.MountAndBlade.MissionDeploymentPlan.UpdateReinforcementPlans ( )

Member Data Documentation

◆ NumFormationsWithUnset

const int TaleWorlds.MountAndBlade.MissionDeploymentPlan.NumFormationsWithUnset = (int)FormationClass.NumberOfAllFormations + 1
static