Army
Army objects represent logical armies taking part in a battle. One or more armies fight together on each side of the battle in an battle_alliance to contest victory.
An army contains one or more logical battle_unit objects, which may be accessed through the battle_units collection object that the army provides.
| Loaded in Campaign |
|
| Loaded in Battle |
|
| Loaded in Frontend |
|
Army objects are derived from battle_armies list objects in the battle_hierarchy, which are themselves derived from battle_alliance objects - see the battle_hierarchy page for more information. Army objects must be created in order to create script_unit objects. Using the generated_battle framework negates the need to explicitly create army objects, however.
Once a handle to an army object is obtained, functions may be called on it to query or modify its state in the following form.
Example - Specification:
<object_name>:<function_name>(<args>)
Example - Creation and Usage:
local army_player = bm:alliances():item(1):armies():item(1)
local uc_player_01 = army_player:create_unit_controller() -- calling a function on the object once created
-
battle_army:units() -
Creates and returns a
battle_unitsobject listing all units in the army.Returns:
units listbattle_units
-
battle_army:faction_key() -
Returns the key of the army's faction, from the
factionsdatabase table.Returns:
faction keystring
-
battle_army:subculture_key() -
Returns the subculture key of the army's faction, from the
cultures_subculturesdatabase table.Returns:
subculture keystring
-
battle_army:is_rebel() -
Returns whether the army's faction is a rebel faction.
Returns:
is rebelboolean
-
battle_army:alliance() -
Returns the alliance object to which the army belongs.
Returns:
parent alliancebattle_alliance
-
battle_army:create_unit_controller() -
Creates and returns a
battle_unitcontrollerobject associated with this army. Consider using thegenerated_battleorscript_unitframework, or at least the helper functions documented in the sectionUnitcontroller Creationrather than calling this directly.Returns:
unitcontrollerbattle_unitcontroller
-
battle_army:is_commander_alive() -
Returns whether the army commander is alive or not.
Returns:
is commander aliveboolean
-
battle_army:is_commander_invincible() -
Returns whether the army commander is invincible or not.
Returns:
is commander invincibleboolean
-
battle_army:is_player_controlled() -
Returns whether this army is controlled by a human player.
Returns:
is player controlledboolean
-
battle_army:army_handicap() -
Returns the army handicap, which indicates the difficulty level the battle is being played at. A returned value of 1 equates to easy difficulty, 0 to normal difficulty, -1 to hard difficulty and -2 to very hard difficulty.
Returns:
handicap valuenumber
-
battle_army:wind_of_magic_remaining_recharge_rate() -
Returns the remaining recharge left for an armies magic pool. This is rate of recharge compared to max possible recharge rate. 0 is slowest speed, 1 is quickest.
Returns:
recharge ratenumber
-
battle_army:modify_winds_of_magic_max_depletion(magic to addnumber) -
Adds the supplied amount to the winds of magic reserve for the army.
Parameters:
1
magic to add
Returns:
nil
-
battle_army:get_reinforcement_units([reinforcement collectionnumber]) -
Returns a
battle_unitscollection containing reinforcements waiting to deploy. Supply an optional index if there are multiple units collections waiting to reinforce.Parameters:
1
optional, default value=1
reinforcement collection
Returns:
reinforcements unitsbattle_units
-
battle_army:num_reinforcement_units() -
Return the number of
battle_unitscollections that are reinforcements waiting to deploy for this army.Returns:
number of reinforcement units collectionsnumber
-
battle_army:suppress_reinforcement_adc() -
Prevents reinforcement aide-de-camp messages being generated for this army.
Returns:
nil
-
battle_army:change_faction(faction keystring) -
Changes the army's faction mid-battle.
Parameters:
1
faction key
Returns:
nil
-
battle_army:enable_army_destruction_morale_effect(enable effectboolean) -
Sets whether the army destruction morale effect can apply to this army or not.
Parameters:
1
enable effect
Returns:
nil
-
battle_army:quit_battle() -
Instructs the army to quit the battle.
Returns:
nil
-
battle_army:highlight_deployment_areas([should highlightboolean]) -
Highlights/flashes the deployment area related to this army.
Parameters:
1
optional, default value=true
should highlight
Returns:
nil
-
battle_army:use_special_ability(keystring,positionbattle_vector, [bearingnumber], [widthnumber]) -
Instructs the army to target a special ability at a supplied position.
Parameters:
1
Key of the special ability, from the
army_special_abilitiesdatabase table.2
Position to target the special ability at.
3
optional, default value=nil
Bearing of the special ability in degrees. This is optional and is not required for all abilities.
4
optional, default value=nil
Width of the special ability in metres. This is optional and is not required for all abilities.
Returns:
nil