Now that we've presented you the combat interface and its main elements, we can go deeper into how combat actually works and what influences it. This is a little more technical post than usual and is intended for those curious for a bit more detail.
Similar to other skills, in order to fight a certain group of enemies (combat actions) you have to move to the location where they are. Most combat actions are static and available at all times (as long as you meet the requirements). Some combat actions and special enemies are temporary events (random or not) and only available for a certain amount of time.
General combat flow
Once you start combat, a random enemy is selected from the possible ones in that group. If you defeat it, you get a certain amount of XP and possibly any side-drops associated with that enemy. A new enemy is then selected and the cycle starts over. Combat stops if you go back to the location screen, if you're defeated or if a piece of your equipment breaks.
Detailed combat flow
The following applies to each fight against an enemy. As we've seen before, there are two timers (one for the enemy and one for the player) that control when the next attack occurs. Each time any of the timers hits zero, (at least*) one attack is executed. This attack can result in a hit or a miss depending on:
If it's the enemy attacking, the result depends mostly on the player's evasion value** but also on level differences between player and enemy as well as any active effects.
If it's the player attacking, the result depends mostly on the weapon's accuracy, but also on level differences between player and enemy as well as any active effects.
In case of a hit to an enemy, its hitpoints are reduced based on the player's equipped weapon damage. If it's the enemy that hits the player, then damage points (based on the enemy's damage) are deducted first from the player's armor value*** and, after that reaches zero, from the player's hitpoints.
How are timers calculated?
Timers are a representation of attack speed. While the enemy's timer comes directly from the enemy itself and is always the same for a certain enemy, the player's timer varies and depends on a several factors:
Armor used: The heavier the armor, the longer the timer.
Weapon range: The higher the range, the lower the timer. This affects only the first attack round.
Weapon handling: The higher the handling, the lower the timer. This affects all attack rounds except the first.
Weapon reload time: The higher the reload time, the higher the timer. This affects only the attack round where a reload is necessary.
Weapon magazine size: This indicates how many shots can be fired before a reload is necessary.
Any active effects that modify these values.
* Weapons with an attack rate of more than 1 can perform multiple attacks per round.
** Evasion value is a property of armor items.
*** Armor value is a property of armor items.
I don't want to get into more detail at the moment, but I think the essential is here. There are many more game aspects we would like to present and going too deep at the moment would prevent us from doing that. In any case if you have any questions, I'll be very glad to answer and take your opinions into consideration.
Thank you and see you soon!