The battle-system is divided into two segments. Before that you roll for initiative and this is a 100 sided dice that is rolled and then you add initiative. Now you know what all fighters have for initiative and it is time to begin the combat process. In the first segment you go through what basic skills/spells a hero use when it is his time in the round. This is decided by the player before the game were they select three skills and then put a percentage after each of these skills to decide how big chance there is to use a special skill/spell every round.
An example: Daniel has decided that his human cleric should use group heal 60% of the time, single heal 30% of the time and strenght buff 10% of the time. When it is Caramyrs turn in a combat, the sim will roll a dice and if it rolls 1-60 Caramyr will cast group heal, if he rolls 61-90, he will cast single target heal and if he rolls 91-100 he will cast a strenght buff on a random clan member.
It is of course possible to set 100% in one skill/spell and that will make them cast/use the same skill everytime it is their turn. Here is an example of the first segment of a PVE fight versus a boss in one of the first dungeons.
Zyka the human rogue applies crippling poison on the zombie king lowering its defenses.
Edirach the elven ranger casts thorns to make his weapons do more damage this round.
Caramyr casts heal but no one is hurt.
Varawen casts scorched earth and hits Zombie King for 3 points of damage.
Throm uses taunt, fails to get aggro, but raises the detaunt of all in his group with 20.
Zombie King casts toxic cloud and hits Caramyr, Throm and Edirach for 4 points of damage.
This is the first segment of the fight. As you see the heroes in this round uses debuffs, selfbuffs, heals, AoE(scorched earth) and taunt, while the zombie king has an AoE attack. In the second segment of the fight it is just their basic attacks and here is an example of that from the same round.
Zyka attacks the zombie king with her daggers but misses.
Edirach attacks the zombie king with his longbow and hits for 9 points of damage. He fails the detaunt so he now has aggro.
Caramyr attacks the zombie king with smite but misses.
Varawen attacks the zombie king with fireball but misses.
Throm attacks the zombie king with his axe and hits for 9 points of damage.
Zombie King attacks Edirach with his sword and hits for 14 points of damage. Edirach is defeated.
As you can see from the first segment then Throm the dwarven Warrior fails his taunt so the Zombie King has no target. When Edirach the elven ranger hits with his longbow he has a chance of getting the agro because of the damage done. He has +20 on his detaunt rating because of Throm's taunt, but fails his roll and that is why he is targetted and will be until he is dead or Throm in the next round is successful with his taunt. In this case, the zombie king kills him at the very end of the first round.
Every class has skills that will make them useful in battles both in PvE and PvP. A tank is in there to take agro and try to suck up as much damage as he can to help his healers and damage dealers to do their job and with the system with detaunts and taunts, he really can do his job. He failed in round one and since this is a boss-fight and the boss got lucky with the dices, the clan lost a member directly.
Every hero is rated in weapon skill (how big chance he has to hit with melee-attacks), range skill (how big chance he has to hit with range attacks that could be bows or magic depending on class), armor factor (by how much he reduces incoming damage), wounds (how much damage he can take before he is defeated at 0), strength (how much damage he adds to his successful bow or melee attacks), melee damage (the damage he does in melee), range damage (the damage he does from range) , block, dodge, parry, initiative (how fast he is and the higher number the bigger chance of doing his things early in the round) , resists (his percentage to resist incoming magic) and detaunt (his chance of avoiding getting targetted when an enemy is looking for a new target).