It's based on the difference between the attacker's offensive stat (Strength, Agility or Willpower depending on the attack) and the target's endurance. Attacker gets a bonus to damage based on his equipped weapon and a random number roll that both scale with his level. Specific attacks vary, but that's the general pattern of it so far.
As for mitigation, armor has a flat block rate and a resistance value. The damage is first reduced by the block rate and then multiplied by (1 - Resistance percent). Similar to damage from weapons, the block rate scales with the target's level. A sword is a sword in this, there may be some variation in quality, but it was a design choice to stupid scenarios where an earlygame sword deals 5 damage and an endgame one deals 5,000,000. Also, armor is on a per-body part basis. If you get hit in the arm, wearing a helmet isn't going to help you.
The end result of the way these calculations work is that two guys with "average" stats fighting eachother will do the same range of damage to eachother relative to their maximum HP. If a perfectly average roll between two identical fighters deals 30% health, it will always deal 30% regardless of level.
So… Pulling it back to giving the player information. It;'s a turn based game on a grid. When it's your guy's turn, a menu opens up giving you options for what to do. You choose attacks and it opens a menu listing all of the attacks that character knows how to do. A box opens up below all this that gives detailed information about whatever attack is currently selected. You choose whatever attack you want, the menus disappear and you can move the cursor to choose a target. You select your target, the attack performs. That's what I have right now.
The information provided is the name of the attack, how long it takes to perform, and the range. I need a way to tell the player the chance of successfully hitting with the attack or casting the spell if it's magic and I need a way tell how much damage it's going to deal, assuming it's an attack. I see two options. I can either
or
I'm leaning towards A for 3 main reasons. 1) I don't like the idea of giving the player information about the enemy's stats. His own, yes, but anything he knows about the enemy should be through actually fighting it. 2) There's a lot more to getting an accurate range than an estimate based on the "average" opponent. As I said before, armor is on a per-location basis. The minimum and maximum would need to be compared for each bodypart an attack could hit, and if the attack can hit multiple targets, it would need to be calculated for each of them. Any modifiers that conditionally increase damage dealt would need to be considered (for example, one unit in the demo has a passive that increases the damage he deals to demons, the undead, and spellcasters). And every attack more complicated than "target a single enemy would need the logic set for how to do the calculations which isn't an appealing thought at the moment. 3) I question how appealing another popup window would look and whether it would get in the way while trying to pick a target for your attack.
What it boils down to and what I want to know is: Is option A fair to the player. To give a general estimate of what an attack will do against an "average" opponent rather than an exact range of possibilities against a specific one.