This is a plan of the formation i will make. It is designed for tgw with the sacrificial units being placed to draw fire while the main line adavnces.
The intitial blocks
Code:
{:name=>"Single Line Standard",
:priority=>0.9,
:purpose=>"3 (attack/defend)",
:min_artillery=>0,
:min_infantry=>0,
:min_cavalry=>0,
:factions=>[],
:lines=>
[{:type=>:absolute,
:priority=>2.0,
:shape=>"0 (line)",
:spacing=>2.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>0.0,
:min_threshold=>3,
:max_threshold=>-1,
:pairs=>[{:priority=>0.05, :unit_class=>"46 (any)"},
{:priority=>1.0, :unit_class=>"18 (Infantry_Line)"},
{:priority=>1.0, :unit_class=>"18 (Infantry_Line)"},
{:priority=>0.1, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.1, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>1.0, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>0.2, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>2.0,
:crescent_yoffset=>0.0,
:x=>-5.0,
:y=>0.0,
:min_threshold=>3,
:max_threshold=>5,
:pairs=>
[{:priority=>0.05, :unit_class=>"46 (any)"},
{:priority=>1.0, :unit_class=>"18 (Infantry_Line)"},
{:priority=>0.1, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.1, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>1.0, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>0.2, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>2.0,
:crescent_yoffset=>0.0,
:x=>5.0,
:y=>0.0,
:min_threshold=>3,
:max_threshold=>5,
:pairs=>{:priority=>1.0, :unit_class=>"14 (infantry_elite)"},
{:priority=>1.0, :unit_class=>"15 (infantry_grenadiers)"},
{:priority=>0.5, :unit_class=>"13 (infantry__berserker)"},
{:priority=>0.5, :unit_class=>"18 (infantry_line)"},
{:priority=>0.05, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.05, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>0.1, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>0.2, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>2.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-15.0,
:min_threshold=>0,
:max_threshold=>-1,
:pairs=>[{:priority=>2.00, :unit_class=>"46 (any)"}]}]},
Three blocks, the elite infantry should appear to the right of the line (block three, note the posative coordinates) while line infantry appears to the center and left. The forth block positioned behind is an overflow block for units which have not been dealth with yet, keeping them out of the way. This block will be left at the end to place units which have nowhere else to go in and avoid errors.
Notice the low priority on unimportant units in the main blocks to allow for armies with odd compositions. Also notice the max thresholds to ensure this lines does not become too large. The use of three blocks allows me to control the order and also gives the formation more felibility in terms of ai than a single line would. Its important to allow plent of flexibility in any formation.
The main line is seperated into three blocks for several reasons. It allows me to place elite units on the right so they are compact and effective. It also increases the flexibility of the formation when navigating the map.
The min and max thresholds ensure that the main line of this formation will have some bulk however will not become overlarge due to high priorities, hopefully allowing this formation to be as generic as possible.
Result:
Right so now i want to seperate the light inf onto the flanks. and place the cav behind them ready to support the artillery.
Code:
{:name=>"Single Line Standard",
:priority=>0.9,
:purpose=>"3 (attack/defend)",
:min_artillery=>0,
:min_infantry=>0,
:min_cavalry=>0,
:factions=>[],
:lines=>
[{:type=>:absolute,
:priority=>2.0,
:shape=>"0 (line)",
:spacing=>2.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>0.0,
:min_threshold=>3,
:max_threshold=>-1,
:pairs=>[{:priority=>0.05, :unit_class=>"46 (any)"},
{:priority=>1.0, :unit_class=>"18 (Infantry_Line)"},
{:priority=>0.1, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.1, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>1.0, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>0.2, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>2.0,
:crescent_yoffset=>0.0,
:x=>-5.0,
:y=>0.0,
:min_threshold=>3,
:max_threshold=>5,
:pairs=>
[{:priority=>0.05, :unit_class=>"46 (any)"},
{:priority=>1.0, :unit_class=>"18 (Infantry_Line)"},
{:priority=>0.1, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.1, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>1.0, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>0.2, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>2.0,
:crescent_yoffset=>0.0,
:x=>5.0,
:y=>0.0,
:min_threshold=>3,
:max_threshold=>5,
:pairs=>[{:priority=>1.0, :unit_class=>"14 (infantry_elite)"},
{:priority=>1.0, :unit_class=>"15 (infantry_grenadiers)"},
{:priority=>0.5, :unit_class=>"13 (infantry__berserker)"},
{:priority=>0.5, :unit_class=>"18 (infantry_line)"},
{:priority=>0.05, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.05, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>0.1, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>0.2, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>1,
:shape=>"0 (line)",
:spacing=>10.0,
:crescent_yoffset=>0.0,
:x=>-15.0,
:y=>-15.0,
:min_threshold=>2,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"17 (infantry_light)"},
{:priority=>1.0, :unit_class=>"22 (infantry__skirmisher)"},
{:priority=>0.5, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.3, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>0.8, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>1.0, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>2,
:shape=>"0 (line)",
:spacing=>10.0,
:crescent_yoffset=>0.0,
:x=>15.0,
:y=>-15.0,
:min_threshold=>2,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"17 (infantry_light)"},
{:priority=>1.0, :unit_class=>"22 (infantry__skirmisher)"},
{:priority=>0.5, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.3, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>0.8, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>1.0, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>2.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-15.0,
:min_threshold=>0,
:max_threshold=>-1,
:pairs=>[{:priority=>2.00, :unit_class=>"46 (any)"}]}]},
Notice the max unit thresholds on the new blocks, i dont want these wings too big and immobile as they are designed for sneaky flanking. Also notice their relativitie blocks, its easier to use the edge blocks than the center blocks as this makes the distance more dynamic depending on the size of the blocks in the gaps.
Results in
Thinking about it i actually probably want my lights and skirmishers infront of the main line.
So.
Added cavalry blocks (notice relativite blocks again, this time the light infantry blocks as i want them to be directly behind)
I also Moved flanking units forward.
Code:
{:name=>"Single Line Standard",
:priority=>0.9,
:purpose=>"3 (attack/defend)",
:min_artillery=>0,
:min_infantry=>0,
:min_cavalry=>0,
:factions=>[],
:lines=>
[{:type=>:absolute,
:priority=>2.0,
:shape=>"0 (line)",
:spacing=>2.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-50.0,
:min_threshold=>3,
:max_threshold=>-1,
:pairs=>[{:priority=>0.05, :unit_class=>"46 (any)"},
{:priority=>1.0, :unit_class=>"18 (Infantry_Line)"},
{:priority=>0.1, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.1, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>1.0, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>0.2, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>2.0,
:crescent_yoffset=>0.0,
:x=>-5.0,
:y=>0.0,
:min_threshold=>3,
:max_threshold=>5,
:pairs=>
[{:priority=>0.05, :unit_class=>"46 (any)"},
{:priority=>1.0, :unit_class=>"18 (Infantry_Line)"},
{:priority=>0.1, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.1, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>1.0, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>0.2, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>2.0,
:crescent_yoffset=>0.0,
:x=>5.0,
:y=>0.0,
:min_threshold=>3,
:max_threshold=>5,
:pairs=>[{:priority=>1.0, :unit_class=>"14 (infantry_elite)"},
{:priority=>1.0, :unit_class=>"15 (infantry_grenadiers)"},
{:priority=>0.5, :unit_class=>"13 (infantry__berserker)"},
{:priority=>0.5, :unit_class=>"18 (infantry_line)"},
{:priority=>0.05, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.05, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>0.1, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>0.2, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>1,
:shape=>"0 (line)",
:spacing=>10.0,
:crescent_yoffset=>0.0,
:x=>-15.0,
:y=>10.0,
:min_threshold=>2,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"17 (infantry_light)"},
{:priority=>1.0, :unit_class=>"22 (infantry__skirmisher)"},
{:priority=>0.5, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.3, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>0.8, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>1.0, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>2,
:shape=>"0 (line)",
:spacing=>10.0,
:crescent_yoffset=>0.0,
:x=>15.0,
:y=>10.0,
:min_threshold=>2,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"17 (infantry_light)"},
{:priority=>1.0, :unit_class=>"22 (infantry__skirmisher)"},
{:priority=>0.5, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.3, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>0.8, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>1.0, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>3,
:shape=>"0 (line)",
:spacing=>10.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-30.0,
:min_threshold=>0,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"4 (cavalry_camels)"},
{:priority=>0.9, :unit_class=>"5 (cavalry_heavy)"},
{:priority=>0.9, :unit_class=>"6 (cavalry_irregular)"},
{:priority=>0.9, :unit_class=>"7 (cavalry_lancers)"},
{:priority=>0.9, :unit_class=>"8 (cavalry_light)"},
{:priority=>0.9, :unit_class=>"9 (cavalry_missile)"},
{:priority=>0.9, :unit_class=>"10 (dragoons)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>4,
:shape=>"0 (line)",
:spacing=>10.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-30.0,
:min_threshold=>0,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"4 (cavalry_camels)"},
{:priority=>0.9, :unit_class=>"5 (cavalry_heavy)"},
{:priority=>0.9, :unit_class=>"6 (cavalry_irregular)"},
{:priority=>0.9, :unit_class=>"7 (cavalry_lancers)"},
{:priority=>0.9, :unit_class=>"8 (cavalry_light)"},
{:priority=>0.9, :unit_class=>"9 (cavalry_missile)"},
{:priority=>0.9, :unit_class=>"10 (dragoons)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>2.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-15.0,
:min_threshold=>0,
:max_threshold=>-1,
:pairs=>[{:priority=>2.00, :unit_class=>"46 (any)"}]}]},
Right that works well, but cavalry spacing could use an increase.
Now for artillery and their cavalry guard units.
Code:
{:name=>"Single Line Standard",
:priority=>0.9,
:purpose=>"3 (attack/defend)",
:min_artillery=>0,
:min_infantry=>0,
:min_cavalry=>0,
:factions=>[],
:lines=>
[{:type=>:absolute,
:priority=>2.0,
:shape=>"0 (line)",
:spacing=>2.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-50.0,
:min_threshold=>3,
:max_threshold=>-1,
:pairs=>[{:priority=>0.05, :unit_class=>"46 (any)"},
{:priority=>1.0, :unit_class=>"18 (Infantry_Line)"},
{:priority=>0.1, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.1, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>1.0, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>0.2, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>2.0,
:crescent_yoffset=>0.0,
:x=>-5.0,
:y=>0.0,
:min_threshold=>3,
:max_threshold=>5,
:pairs=>
[{:priority=>0.05, :unit_class=>"46 (any)"},
{:priority=>1.0, :unit_class=>"18 (Infantry_Line)"},
{:priority=>0.1, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.1, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>1.0, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>0.2, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>2.0,
:crescent_yoffset=>0.0,
:x=>5.0,
:y=>0.0,
:min_threshold=>3,
:max_threshold=>5,
:pairs=>[{:priority=>1.0, :unit_class=>"14 (infantry_elite)"},
{:priority=>1.0, :unit_class=>"15 (infantry_grenadiers)"},
{:priority=>0.5, :unit_class=>"13 (infantry__berserker)"},
{:priority=>0.5, :unit_class=>"18 (infantry_line)"},
{:priority=>0.05, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.05, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>0.1, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>0.2, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>1,
:shape=>"0 (line)",
:spacing=>10.0,
:crescent_yoffset=>0.0,
:x=>-15.0,
:y=>10.0,
:min_threshold=>2,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"17 (infantry_light)"},
{:priority=>1.0, :unit_class=>"22 (infantry__skirmisher)"},
{:priority=>0.5, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.3, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>0.8, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>1.0, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>0.9,
:relative_to=>2,
:shape=>"0 (line)",
:spacing=>10.0,
:crescent_yoffset=>0.0,
:x=>15.0,
:y=>10.0,
:min_threshold=>2,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"17 (infantry_light)"},
{:priority=>1.0, :unit_class=>"22 (infantry__skirmisher)"},
{:priority=>0.5, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.3, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>0.8, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>1.0, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>0.9,
:relative_to=>3,
:shape=>"0 (line)",
:spacing=>30.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-30.0,
:min_threshold=>0,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"4 (cavalry_camels)"},
{:priority=>0.9, :unit_class=>"5 (cavalry_heavy)"},
{:priority=>0.9, :unit_class=>"6 (cavalry_irregular)"},
{:priority=>0.9, :unit_class=>"7 (cavalry_lancers)"},
{:priority=>0.9, :unit_class=>"8 (cavalry_light)"},
{:priority=>0.9, :unit_class=>"9 (cavalry_missile)"},
{:priority=>0.9, :unit_class=>"10 (dragoons)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>4,
:shape=>"0 (line)",
:spacing=>30.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-30.0,
:min_threshold=>0,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"4 (cavalry_camels)"},
{:priority=>0.9, :unit_class=>"5 (cavalry_heavy)"},
{:priority=>0.9, :unit_class=>"6 (cavalry_irregular)"},
{:priority=>0.9, :unit_class=>"7 (cavalry_lancers)"},
{:priority=>0.9, :unit_class=>"8 (cavalry_light)"},
{:priority=>0.9, :unit_class=>"9 (cavalry_missile)"},
{:priority=>0.9, :unit_class=>"10 (dragoons)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>30.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-90.0,
:min_threshold=>0,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"0 (artillery_foot)"},
{:priority=>0.9, :unit_class=>"1 (artillery_fixed)"},
{:priority=>0.9, :unit_class=>"2 (artillery_horse)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>7,
:shape=>"0 (line)",
:spacing=>30.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-90.0,
:min_threshold=>0,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"0 (artillery_foot)"},
{:priority=>0.9, :unit_class=>"1 (artillery_fixed)"},
{:priority=>0.9, :unit_class=>"2 (artillery_horse)"}]},
{:type=>:relative,
:priority=>0.1,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>20.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-40.0,
:min_threshold=>0,
:max_threshold=>-1,
:pairs=>[{:priority=>2.00, :unit_class=>"46 (any)"}]}]},
Notice the artillery are a long way back, this is for tgw remember. They are also relative to block 0 as i want them to be central.
The cavalry are behind the artillery (relative to the artillery block (7)) and have a higher priority than those on the flanks to ensure they appear, guarding the guns and general is more important than flanking.
Results in
Right so the arty isnt far enough back. i would also like to put the general inbetween the artillery and main line.
Code:
{:name=>"Single Line Standard",
:priority=>0.9,
:purpose=>"3 (attack/defend)",
:min_artillery=>0,
:min_infantry=>0,
:min_cavalry=>0,
:factions=>[],
:lines=>
[{:type=>:absolute,
:priority=>2.0,
:shape=>"0 (line)",
:spacing=>2.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-50.0,
:min_threshold=>3,
:max_threshold=>-1,
:pairs=>[{:priority=>0.05, :unit_class=>"46 (any)"},
{:priority=>1.0, :unit_class=>"18 (Infantry_Line)"},
{:priority=>0.1, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.1, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>1.0, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>0.2, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>2.0,
:crescent_yoffset=>0.0,
:x=>-5.0,
:y=>0.0,
:min_threshold=>3,
:max_threshold=>5,
:pairs=>
[{:priority=>0.05, :unit_class=>"46 (any)"},
{:priority=>1.0, :unit_class=>"18 (Infantry_Line)"},
{:priority=>0.1, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.1, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>1.0, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>0.2, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>2.0,
:crescent_yoffset=>0.0,
:x=>5.0,
:y=>0.0,
:min_threshold=>3,
:max_threshold=>5,
:pairs=>[{:priority=>1.0, :unit_class=>"14 (infantry_elite)"},
{:priority=>1.0, :unit_class=>"15 (infantry_grenadiers)"},
{:priority=>0.5, :unit_class=>"13 (infantry__berserker)"},
{:priority=>0.5, :unit_class=>"18 (infantry_line)"},
{:priority=>0.05, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.05, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>0.1, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>0.2, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>1,
:shape=>"0 (line)",
:spacing=>10.0,
:crescent_yoffset=>0.0,
:x=>-15.0,
:y=>10.0,
:min_threshold=>2,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"17 (infantry_light)"},
{:priority=>1.0, :unit_class=>"22 (infantry__skirmisher)"},
{:priority=>0.5, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.3, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>0.8, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>1.0, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>2,
:shape=>"0 (line)",
:spacing=>10.0,
:crescent_yoffset=>0.0,
:x=>15.0,
:y=>10.0,
:min_threshold=>2,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"17 (infantry_light)"},
{:priority=>1.0, :unit_class=>"22 (infantry__skirmisher)"},
{:priority=>0.5, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.3, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>0.8, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>1.0, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>3,
:shape=>"0 (line)",
:spacing=>30.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-30.0,
:min_threshold=>0,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"4 (cavalry_camels)"},
{:priority=>0.9, :unit_class=>"5 (cavalry_heavy)"},
{:priority=>0.9, :unit_class=>"6 (cavalry_irregular)"},
{:priority=>0.9, :unit_class=>"7 (cavalry_lancers)"},
{:priority=>0.9, :unit_class=>"8 (cavalry_light)"},
{:priority=>0.9, :unit_class=>"9 (cavalry_missile)"},
{:priority=>0.9, :unit_class=>"10 (dragoons)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>4,
:shape=>"0 (line)",
:spacing=>30.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-30.0,
:min_threshold=>0,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"4 (cavalry_camels)"},
{:priority=>0.9, :unit_class=>"5 (cavalry_heavy)"},
{:priority=>0.9, :unit_class=>"6 (cavalry_irregular)"},
{:priority=>0.9, :unit_class=>"7 (cavalry_lancers)"},
{:priority=>0.9, :unit_class=>"8 (cavalry_light)"},
{:priority=>0.9, :unit_class=>"9 (cavalry_missile)"},
{:priority=>0.9, :unit_class=>"10 (dragoons)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>30.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-90.0,
:min_threshold=>0,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"0 (artillery_foot)"},
{:priority=>0.9, :unit_class=>"1 (artillery_fixed)"},
{:priority=>0.9, :unit_class=>"2 (artillery_horse)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>7,
:shape=>"0 (line)",
:spacing=>60.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-15.0,
:min_threshold=>0,
:max_threshold=>2,
:pairs=>[{:priority=>1.0, :unit_class=>"4 (cavalry_camels)"},
{:priority=>1.0, :unit_class=>"5 (cavalry_heavy)"},
{:priority=>1.0, :unit_class=>"6 (cavalry_irregular)"},
{:priority=>1.0, :unit_class=>"7 (cavalry_lancers)"},
{:priority=>1.0, :unit_class=>"8 (cavalry_light)"},
{:priority=>1.0, :unit_class=>"9 (cavalry_missile)"},
{:priority=>1.0, :unit_class=>"10 (dragoons)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>7,
:shape=>"0 (line)",
:spacing=>0.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>45.0,
:min_threshold=>0,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"12 (general)"}]},
{:type=>:relative,
:priority=>0.1,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>20.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-40.0,
:min_threshold=>0,
:max_threshold=>-1,
:pairs=>[{:priority=>2.00, :unit_class=>"46 (any)"}]}]},
So the generalss go his own block (swish) the overflow block is still present however incase of any odities ingame requiring a spot (elephants that randomly appear or somthing), this should help avoid ctd's.
Results in.
Right we are almost there, all we need now is the sheilding units infront of the main line. I shall do these (hopefully) in three blocks to allow for manouverbility.
Code:
{:name=>"Single Line Standard",
:priority=>0.9,
:purpose=>"3 (attack/defend)",
:min_artillery=>0,
:min_infantry=>0,
:min_cavalry=>0,
:factions=>[],
:lines=>
[{:type=>:absolute,
:priority=>2.0,
:shape=>"0 (line)",
:spacing=>2.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-50.0,
:min_threshold=>3,
:max_threshold=>-1,
:pairs=>[{:priority=>0.05, :unit_class=>"46 (any)"},
{:priority=>1.0, :unit_class=>"18 (Infantry_Line)"},
{:priority=>0.1, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.1, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>1.0, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>0.2, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>2.0,
:crescent_yoffset=>0.0,
:x=>-5.0,
:y=>0.0,
:min_threshold=>3,
:max_threshold=>5,
:pairs=>
[{:priority=>0.05, :unit_class=>"46 (any)"},
{:priority=>1.0, :unit_class=>"18 (Infantry_Line)"},
{:priority=>0.1, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.1, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>1.0, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>0.2, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>2.0,
:crescent_yoffset=>0.0,
:x=>5.0,
:y=>0.0,
:min_threshold=>3,
:max_threshold=>5,
:pairs=>[{:priority=>1.0, :unit_class=>"14 (infantry_elite)"},
{:priority=>1.0, :unit_class=>"15 (infantry_grenadiers)"},
{:priority=>0.5, :unit_class=>"13 (infantry__berserker)"},
{:priority=>0.5, :unit_class=>"18 (infantry_line)"},
{:priority=>0.05, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.05, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>0.1, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>0.05, :unit_class=>"46 (any)"},
{:priority=>0.2, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>1,
:shape=>"0 (line)",
:spacing=>10.0,
:crescent_yoffset=>0.0,
:x=>-15.0,
:y=>10.0,
:min_threshold=>2,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"17 (infantry_light)"},
{:priority=>1.0, :unit_class=>"22 (infantry__skirmisher)"},
{:priority=>0.5, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.3, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>0.8, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>0.05, :unit_class=>"46 (any)"},
{:priority=>1.0, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>2,
:shape=>"0 (line)",
:spacing=>10.0,
:crescent_yoffset=>0.0,
:x=>15.0,
:y=>10.0,
:min_threshold=>2,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"17 (infantry_light)"},
{:priority=>1.0, :unit_class=>"22 (infantry__skirmisher)"},
{:priority=>0.5, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.3, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>0.8, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>0.05, :unit_class=>"46 (any)"},
{:priority=>1.0, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>3,
:shape=>"0 (line)",
:spacing=>30.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-30.0,
:min_threshold=>0,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"4 (cavalry_camels)"},
{:priority=>0.9, :unit_class=>"5 (cavalry_heavy)"},
{:priority=>0.9, :unit_class=>"6 (cavalry_irregular)"},
{:priority=>0.9, :unit_class=>"7 (cavalry_lancers)"},
{:priority=>0.9, :unit_class=>"8 (cavalry_light)"},
{:priority=>0.9, :unit_class=>"9 (cavalry_missile)"},
{:priority=>0.9, :unit_class=>"10 (dragoons)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>4,
:shape=>"0 (line)",
:spacing=>30.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-30.0,
:min_threshold=>0,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"4 (cavalry_camels)"},
{:priority=>0.9, :unit_class=>"5 (cavalry_heavy)"},
{:priority=>0.9, :unit_class=>"6 (cavalry_irregular)"},
{:priority=>0.9, :unit_class=>"7 (cavalry_lancers)"},
{:priority=>0.9, :unit_class=>"8 (cavalry_light)"},
{:priority=>0.9, :unit_class=>"9 (cavalry_missile)"},
{:priority=>0.9, :unit_class=>"10 (dragoons)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>30.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-90.0,
:min_threshold=>0,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"0 (artillery_foot)"},
{:priority=>0.9, :unit_class=>"1 (artillery_fixed)"},
{:priority=>0.9, :unit_class=>"2 (artillery_horse)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>7,
:shape=>"0 (line)",
:spacing=>60.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-15.0,
:min_threshold=>0,
:max_threshold=>2,
:pairs=>[{:priority=>1.0, :unit_class=>"4 (cavalry_camels)"},
{:priority=>1.0, :unit_class=>"5 (cavalry_heavy)"},
{:priority=>1.0, :unit_class=>"6 (cavalry_irregular)"},
{:priority=>1.0, :unit_class=>"7 (cavalry_lancers)"},
{:priority=>1.0, :unit_class=>"8 (cavalry_light)"},
{:priority=>1.0, :unit_class=>"9 (cavalry_missile)"},
{:priority=>1.0, :unit_class=>"10 (dragoons)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>7,
:shape=>"0 (line)",
:spacing=>0.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>45.0,
:min_threshold=>0,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"12 (general)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>40.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>30.0,
:min_threshold=>0,
:max_threshold=>2,
:pairs=>[{:priority=>0.9, :unit_class=>"17 (infantry_light)"},
{:priority=>0.3, :unit_class=>"22 (infantry__skirmisher)"},
{:priority=>1.0, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>1.0, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>1.0, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>1.0, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>1,
:shape=>"0 (line)",
:spacing=>10.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>30.0,
:min_threshold=>0,
:max_threshold=>1,
:pairs=>[{:priority=>0.9, :unit_class=>"17 (infantry_light)"},
{:priority=>0.3, :unit_class=>"22 (infantry__skirmisher)"},
{:priority=>1.0, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>1.0, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>1.0, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>1.0, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>2,
:shape=>"0 (line)",
:spacing=>10.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>30.0,
:min_threshold=>0,
:max_threshold=>1,
:pairs=>[{:priority=>0.9, :unit_class=>"17 (infantry_light)"},
{:priority=>0.3, :unit_class=>"22 (infantry__skirmisher)"},
{:priority=>1.0, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>1.0, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>1.0, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>1.0, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>0.1,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>20.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-40.0,
:min_threshold=>0,
:max_threshold=>-1,
:pairs=>[{:priority=>2.00, :unit_class=>"46 (any)"}]}]},
So three blocks, one relative to each of the main blocks, 40 units forward of each. Notice the center block has a max threshold of two while the side blocks have a max threshold of 1, ie max four units are sacrificed (so utalititarian). Also note i have added a low value "any" to any blocks with a minimum threshold to avoid ctds if these blocks cannot be filled.
Results in:
Seems some miltia prioities are wrong, they prefer to appear on the flanks, this is easily fixed by reducing overzelous minimum unit requirements (as noted earlier in this tutorial).
Code:
{:name=>"Single Line Standard",
:priority=>0.9,
:purpose=>"3 (attack/defend)",
:min_artillery=>0,
:min_infantry=>0,
:min_cavalry=>0,
:factions=>[],
:lines=>
[{:type=>:absolute,
:priority=>2.0,
:shape=>"0 (line)",
:spacing=>2.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-50.0,
:min_threshold=>3,
:max_threshold=>-1,
:pairs=>[{:priority=>0.05, :unit_class=>"46 (any)"},
{:priority=>1.0, :unit_class=>"18 (Infantry_Line)"},
{:priority=>0.1, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.1, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>1.0, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>0.2, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>2.0,
:crescent_yoffset=>0.0,
:x=>-5.0,
:y=>0.0,
:min_threshold=>2,
:max_threshold=>5,
:pairs=>
[{:priority=>0.05, :unit_class=>"46 (any)"},
{:priority=>1.0, :unit_class=>"18 (Infantry_Line)"},
{:priority=>0.1, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.1, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>1.0, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>0.2, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>2.0,
:crescent_yoffset=>0.0,
:x=>5.0,
:y=>0.0,
:min_threshold=>2,
:max_threshold=>5,
:pairs=>[{:priority=>1.0, :unit_class=>"14 (infantry_elite)"},
{:priority=>1.0, :unit_class=>"15 (infantry_grenadiers)"},
{:priority=>0.5, :unit_class=>"13 (infantry__berserker)"},
{:priority=>0.5, :unit_class=>"18 (infantry_line)"},
{:priority=>0.05, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.05, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>0.1, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>0.05, :unit_class=>"46 (any)"},
{:priority=>0.2, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>1,
:shape=>"0 (line)",
:spacing=>10.0,
:crescent_yoffset=>0.0,
:x=>-15.0,
:y=>10.0,
:min_threshold=>1,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"17 (infantry_light)"},
{:priority=>1.0, :unit_class=>"22 (infantry__skirmisher)"},
{:priority=>0.5, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.3, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>0.8, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>0.05, :unit_class=>"46 (any)"},
{:priority=>1.0, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>2,
:shape=>"0 (line)",
:spacing=>10.0,
:crescent_yoffset=>0.0,
:x=>15.0,
:y=>10.0,
:min_threshold=>1,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"17 (infantry_light)"},
{:priority=>1.0, :unit_class=>"22 (infantry__skirmisher)"},
{:priority=>0.5, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>0.3, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>0.8, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>0.05, :unit_class=>"46 (any)"},
{:priority=>1.0, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>3,
:shape=>"0 (line)",
:spacing=>30.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-30.0,
:min_threshold=>0,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"4 (cavalry_camels)"},
{:priority=>0.9, :unit_class=>"5 (cavalry_heavy)"},
{:priority=>0.9, :unit_class=>"6 (cavalry_irregular)"},
{:priority=>0.9, :unit_class=>"7 (cavalry_lancers)"},
{:priority=>0.9, :unit_class=>"8 (cavalry_light)"},
{:priority=>0.9, :unit_class=>"9 (cavalry_missile)"},
{:priority=>0.9, :unit_class=>"10 (dragoons)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>4,
:shape=>"0 (line)",
:spacing=>30.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-30.0,
:min_threshold=>0,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"4 (cavalry_camels)"},
{:priority=>0.9, :unit_class=>"5 (cavalry_heavy)"},
{:priority=>0.9, :unit_class=>"6 (cavalry_irregular)"},
{:priority=>0.9, :unit_class=>"7 (cavalry_lancers)"},
{:priority=>0.9, :unit_class=>"8 (cavalry_light)"},
{:priority=>0.9, :unit_class=>"9 (cavalry_missile)"},
{:priority=>0.9, :unit_class=>"10 (dragoons)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>30.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-90.0,
:min_threshold=>0,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"0 (artillery_foot)"},
{:priority=>0.9, :unit_class=>"1 (artillery_fixed)"},
{:priority=>0.9, :unit_class=>"2 (artillery_horse)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>7,
:shape=>"0 (line)",
:spacing=>60.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-15.0,
:min_threshold=>0,
:max_threshold=>2,
:pairs=>[{:priority=>1.0, :unit_class=>"4 (cavalry_camels)"},
{:priority=>1.0, :unit_class=>"5 (cavalry_heavy)"},
{:priority=>1.0, :unit_class=>"6 (cavalry_irregular)"},
{:priority=>1.0, :unit_class=>"7 (cavalry_lancers)"},
{:priority=>1.0, :unit_class=>"8 (cavalry_light)"},
{:priority=>1.0, :unit_class=>"9 (cavalry_missile)"},
{:priority=>1.0, :unit_class=>"10 (dragoons)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>7,
:shape=>"0 (line)",
:spacing=>0.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>45.0,
:min_threshold=>0,
:max_threshold=>-1,
:pairs=>[{:priority=>1.0, :unit_class=>"12 (general)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>40.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>30.0,
:min_threshold=>0,
:max_threshold=>2,
:pairs=>[{:priority=>0.9, :unit_class=>"17 (infantry_light)"},
{:priority=>0.3, :unit_class=>"22 (infantry__skirmisher)"},
{:priority=>1.0, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>1.0, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>1.0, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>1.0, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>1,
:shape=>"0 (line)",
:spacing=>10.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>30.0,
:min_threshold=>0,
:max_threshold=>1,
:pairs=>[{:priority=>0.9, :unit_class=>"17 (infantry_light)"},
{:priority=>0.3, :unit_class=>"22 (infantry__skirmisher)"},
{:priority=>1.0, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>1.0, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>1.0, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>1.0, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>1.0,
:relative_to=>2,
:shape=>"0 (line)",
:spacing=>10.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>30.0,
:min_threshold=>0,
:max_threshold=>1,
:pairs=>[{:priority=>0.9, :unit_class=>"17 (infantry_light)"},
{:priority=>0.3, :unit_class=>"22 (infantry__skirmisher)"},
{:priority=>1.0, :unit_class=>"20 (Infantry_Militia)"},
{:priority=>1.0, :unit_class=>"21 (Infantry_Mob)"},
{:priority=>1.0, :unit_class=>"19 (Infantry_Melee)"},
{:priority=>1.0, :unit_class=>"16 (Infantry_Irregulars)"}]},
{:type=>:relative,
:priority=>0.1,
:relative_to=>0,
:shape=>"0 (line)",
:spacing=>20.0,
:crescent_yoffset=>0.0,
:x=>0.0,
:y=>-40.0,
:min_threshold=>0,
:max_threshold=>-1,
:pairs=>[{:priority=>2.00, :unit_class=>"46 (any)"}]}]},
TADA
|