Armor Class (AC) in Remixed Dungeon represents the protective value of armor that reduces incoming physical damage. It is distinct from the defense skill which determines evasion.
The armor class system works by reducing the damage taken from physical attacks. The calculation is implemented in the Char.java file:
public int absorb( int damage, Char attacker ) { // Armor can be bypassed by accuracy, and can overcap float effectiveArmor = armorLevel() * (1 + Hero.getBonus( getHeroClass(), getSubClass(), Buffs.ARMOR )); if (attacker != null) { float armorBreakRatio = (float)attacker.attackSkill(this) / (attacker.attackSkill(this) + effectiveArmor); // Cap the effective armor to the damage being dealt effectiveArmor = Math.min(effectiveArmor, damage*2); // Reduce damage based on armor break ratio damage = (int) Math.ceil(damage * (1f - armorBreakRatio)); } return damage; }
getItemFromSlot(Belongings.Slot.ARMOR).DR()armorLevel() * (1 + Hero.getBonus( getHeroClass(), getSubClass(), Buffs.ARMOR ))armorBreakRatio = (float)attacker.attackSkill(this) / (attacker.attackSkill(this) + effectiveArmor)Math.min(effectiveArmor, damage*2) - Armor can't reduce damage beyond 50% of the original amountdamage * (1f - armorBreakRatio) - Reduces damage based on the armor break ratio(int) Math.ceil(damage * (1f - armorBreakRatio)) - Rounded up to ensure at least 1 damage is dealt