Long story short, the Beserker's Axe is broken. For those who don't know, the axe grants the "Maul" ability which means that whenever the character successfully completes an attack, they take another attack at -3 Accuracy. This repeats until they miss.
You can probably see why this is a problem. Using this axe my level 12 champion, Lithii Seratta, killed Vetra in 2 turns. Seriously. Her first turn she lowered his HP to 14.
The axe probably isn't that bad on a different character, but prior to getting it I'd been focusing my champion on Initiative and accuracy. With a high accuracy character, the axe simply kills anything in one turn.
A solution I came up with is to change the -3 to -2 and have it cumulative. Basically, the first attack would have normal Acc, second would be Acc -2, third would be Acc - 4, etc.
From a coding perspective, in my amateur opinion, you could just declare a local variable (numHit) in the attack loop that increments every time the loop is run. Something like:
Int numHit = 0;
Do
{
[other stuff]
toHit = [stuff] (accuracy - (numHit * 2)) [ stuff];
[more stuff]
numHit += 1;
}while (success == true);
Don't get me wrong, I like the Axe, but being able to kill a Titan in 2 turns with a single character is kind of ridiculous.