Thats how i would design combat. I tried to KISS, but modular enough to modify each part of through traits, equipment, spells etc.
ToHit
Each creature has a base chance to hit an enemy of 75%.
In an Unit, each creature has an independent chance of 75% + (No. of Creatures in the Unit). It is a teamwork bonus that shrinks as Creatures in that Unit are slain.
Magic has a base chance of 100% - (Target Magic Resistance)
This enables:
- ToHit+ for each friendly Unit adjacent to my target enemy (flanking)
- ToHit+ / ToHit- depending on moral
- ToHit+ / ToHit- depending on buffs and debuffs
- ToHit- depending on fear effects (against demons, while under a spell, due to moral fail etc.)
- ToHit+ / ToHit- depending on Hero traits (Leadership, Reputation, Aura etc.)
- ToHit- depending on visual effects (combat in woods, in mist, in darkness; all natural or magically)
- ToHit+ for ranged combat and possible magic
- ToHit- depending on target dodge / shield block values or visibility status (stealth, invisible, ghostly etc.)
- ToHit+ / ToHit- depending on own equipment or target equipment (magic weapons, charms, equipment traits (Ranger gets ToHit+ with ranged weapons) etc.)
- ToHit+ / ToHit- depending on your and targets Dexterity value
Damage
Each Creature deals damage when it has successfully hit the target. This calculated for each individual Creature in an Unit.
Physical damage of each Creature is calculated: (STR/10) * WeaponDamage (min. 1).
Magical damage is calculated (INT/10) * (SpellDamage * ShardBonus)
i.e.
a human with STR 10, without equipment, buffs and training does 1 damage
=> (10/10) * 1= 1
a trog with STR 12, without equipment, buffs and training does 1.2 damage
=> (12/10) * 1 = 1.2
a human with STR 10, equipped with a staff (Dmg +3) does 3 damage
=> (10/10) + 3 = 1 * 3 = 3
A human knight with STR 12, equipped with an axe (Dmg +6) does 7.2 damage
=> (12/10) * 6 = 1.2 * 6 = 7.2
Berny McBurnigton (INT 15) has access to a fire shard (*2 damage). He casts ‘Crispy Chicken’ (Level 1 combat spell = damage 5) on … a chicken.
=> (15/10) * (5 * 2) = 1.5 * 10 = 15
Armor negates damage according to damage type. Every armor has damage reduction values for blunt, pierce, slash, fire, cold and arcane. To keep combat flowing armor reduces damage by a percentage (so no frustrating zero damage hits).
i.e.
Leather Armor: Blunt 2, Slash 1, Pierce 0, Fire 0, Cold 2, Arcane 0
Each point of armor reduces damage by 5%.
i.e.
The “human with staff” hits for 3 damage. Staff is a blunt weapon, Blunt protection 2. Received damage 2.4
=> 3 – 10% = 3 –0.6 = 2.4
The “human knight with axe” hits for 7.2 damage. Axe is a slash weapon. Slash protection is 1. Received damage 6.84
=> 7.2 – 5% = 7.2 – 0.36 = 6.84
Chicken is fireproof!!! ‘Crispy Chicken’ is fire based. Fire protection is 18.
=> 15 – 90% = 15 – 12 = 3
Number of Attacks
The number of attacks per combat turn is a flat number based on training, equipment, number of striking limbs (Hydra etc).
Each attack checks for ToHit independently.
This enables:
- Dual Wield vs Sword and Board vs Two Handed Weapon
- Special training like Assassin, Bladedancer etc.
- Creatures with low damage values, that can get lucky hits (Swarm creatures like rats or bugs)
- ‘Haste’ spell adds 1 attack; Slow takes one attack, if you only have one, you cant attack next turn (but move)
Initiative
Initiative is based on (Dexterity + Intelligence)/2 and modified through terrain and actions take last turn.
i.e.
Starting your turn in a swamp tile lowers you initiative this turn.
The turn after you used the charge ability, your initiative is lowered.
Haste and Slow spells modify initiative
Daggers are faster then Maces, one handed weapons beat two handed weapons
Heavy armor is slower then light armor, no armor goes first.
Move
How many tiles you can move.
Calculates from Dexterity: 1 + (Dexterity / 10), or based on creature.
Can be modified through equipment, magic and stuff.
Enables:
- Root spells and movement debuffs without influencing attacks
- Terrain altering spells that distinguish between melee and ranged creatures.
Edit: Also see here for ideas to make building armies more strategic https://forums.elementalgame.com/394684