I've noticed, after playing in CB and now OB, Agility determines when a hero's or enemy's take their turn in battle. I've also noticed that being extremely agile is also a good way to get killed if you have close-range units that move forward during the battle as long as the other side's units move the same speed.
Infantry moves 1/4 field.
Rangers move 1/3 field.
Fliers move 1/2 field.
Archers and Mages don't move at all.
If one of your heroes has higher agility than the enemy and is using infantry units, those units will move forward before the enemy. If the enemy is also using infantry units, those units will move after yours do. The thing is, close-range units only attack when they move onto the line of the battlefield where an opponent is.
So, just making a quick example. PvP, Hero1 has higher agility than Hero2
Hero1's infantry units start on left, Hero2's infantry units start on right.
Hero1's Units move, then Hero2's Units move. (each has moved 1/4 of the battlefield, leaving 1/2 between them)
Hero1's Units move, then Hero2's Units move and attack Hero1's Units, since they're now on the same line.
See, the problem is, because Hero1 was faster (stronger, etc), that hero had a disadvantage. When Hero1's units moved into position, there was no enemy to attack, but when Hero2's units moved into position, Hero1's units were there. This leads to the possibility that Hero1's units die... because the hero was more powerful.
The same thing would also happen if Hero1 was using Fliers and Hero2 was using Fliers.
Hero1's Units move 1/2 the battlefield, then Hero2's Units move 1/2 then attack Hero1's Units, even though Hero1 was the first to move.
This makes no sense. That being said, the only one that works correctly are Rangers that move 1/3 of the field, because of the way they move in order to meet, thus leading to whoever goes first actually getting the first attack.
Hero1's Units move, then Hero2's Units move. (each has move 1/3 of the battlefield, leaving 1/3 between them)
Hero1's Units move and attack Hero2's Units, since Hero2's units were on the line that Hero1's Units just got to.
My suggestion follows:
The more agile unit should be prepared to attack the incoming enemy. When the very first close-range units meet (or re-meet) on the battlefield for combat, the one with the highest agility should get a first attack and then combat should proceed normally.
For Example (using Example 1 from earlier):
PvP, Hero1 has higher agility than Hero2 and both are using infantry units
Hero1's infantry units start on left, Hero2's infantry units start on right.
Hero1's Units move, then Hero2's Units move. (each has moved 1/4 of the battlefield, leaving 1/2 between them)
Hero1's Units move, then Hero2's Units move. Because Hero1 has higher agility, Hero1's Units would attack Hero2's Units first, and if still alive, Hero2's Units would attack Hero1's Units.
Example 2:
PvP, Hero1 has higher agility than Hero2; Hero1 is using Rangers while Hero2 is using Infantry
Hero1's Units move 1/3 of the battlefield, then Hero2's Units move 1/4 of the battlefield.
Hero1's Units move 1/3 of the battlefield (which isn't far enough to reach Hero2's Units yet), then Hero2's Units move to meet Hero1's Units. Because Hero1 has higher agility, Hero1's Units would attack Hero2's Units first, and if still alive, Hero2's Units would attack Hero1's Units.
In both of the above examples, the situation would be entirely reversed if Hero2 had higher Agility, as their units would move forward first but Hero1's units would still meet them first. Under the current system, with these situations reversed, Hero1 would get the first attack, even though Hero2's units' initiative was simply faster, whereas under my suggestion, Hero2's units would get to rightfully attack first.
Under the current system, the last person to get to battle is the first to attack.
Under my suggestion, the more agile person still gets the first attack (as it should be) instead of being at a disadvantage because they were able to initiate a move more quickly.
Edit: Added example of exactly what the problem is:
PlayerA (PA) and PlayerB (PB) have the same exact Agile hero filling up all 6 hero slots and equipped with the same exact equipment and units (Tier1 Melee, first unit in recruitment area). Both players have the same exact researches. PB's heroes, though, are 1 level lower than PA's heroes, and as such have 9 fewer units on each hero and each hero has just 1 point less Agility meaning PA's units will go first in battle.
Round 1:
PA's 6 heroes move forward 1/4 of the battlefield. PB's 6 heroes move forward 1/4 of the battlefield.
Round 2:
PA's 6 heroes move forward 1/4 of the battlefield. PB's 6 heroes move forward 1/4 of the battlefield and attack PA's top hero (since that's how the automated system works). That single hero now gets attacked 6 times (maybe dodging once and maybe counterattacking once). PA now has fewer total units than PB. PA now does less overall damage than PB since PA's units were the first to take damage and took much more than 54 losses (6 x the 9 extra units PA had to start with). This means with each consecutive round, PA will lose more units than PB will since PA's attack power and unit health was reduced outright... since they were stronger.
As you can see from this example... PA outmatched PB, but because of this flaw in the battle system, PB will win this battle.