Main difference is that armor seems to be subtracted first. Simplified version for player vs enemy:
damage = (random between 0.95 and 1.05) * damage
if physical and not rune
effectiveArmor = armor * (1 - armorPenetration)
armorAdjustedDamage = damage - effectiveArmor
if critical
damage = max(2, armorAdjustedDamage)
else
damage = max(1, armorAdjustedDamage)
if flanking
if not isMeleeRange
flankingBonus = max(0, flankingBonus - 25%)
else
flankingBonus = 0
damage = damage * (1 + abilityBonus)
damage = damage * (1 + damageMultiplier + typeBonus + attackBonus)
damage = damage * (1 + criticalBonus + flankingBonus)
damage = damage * (1 - resistance)
isMeleeRange = distance less than 3 meters
if physical and isMeleeRange
defense = defenseMelee
else if physical and not isMeleeRange
defense = defenseRanged
else
defense = defenseMagic
damage = damage * (1 - defense)
if shielded and not flanking
damage = damage * 0.5
Modifié par MostlyAutumn, 11 janvier 2015 - 08:51 .





Retour en haut





