Combat

**Combat** occurs when two enemy units attack each other.

Each unit has two damage stats: attack, which determines how much damage it deals when it attacks, and defence, which determines how much retaliation damage it deals when attacked. (Note that the actual amount of damage dealt is usually much greater than the attack or defence stat; for example, a full-health Warrior can deal 5 or more damage even though its attack and defence stats are both 2.) The defence stat also affects how much damage the defending unit takes; for example, a Rider, with a defence stat of 1, would take much more damage from the same attack than a Defender, with a defence stat of 3. Note that the attacker’s defence stat and the defending unit’s attack stat are irrelevant.

Damaged units are weaker in all regards. They do less offensive and defensive damage, and they receive more damage when attacked.

If a melee unit (like a Warrior) kills an adjacent enemy unit, it will take the place of the killed unit (barring movement restrictions imposed by terrain); however, a ranged unit (like an Archer) will not do so.

## Battle Preview

The battle preview shows the result of an attack. To see how much damage will be dealt to either unit, hold on (mobile) or hover over (Steam) an enemy unit within range. Sweating indicates that the enemy unit will be killed by the attack, while a black and red ring indicates that the attacking unit will die from retaliation.

## Defence Bonus

Certain tiles provide a defence bonus to units on them. Tiles of certain terrain types provide a defence bonus once the corresponding technology is researched, and cities without a city wall (not including uncaptured villages) provide a defence bonus to friendly units (invading units besieging a city do not receive any defence bonus). Units with a defence bonus are stronger at defending against attacks, receiving less damage and dealing more retaliation damage. A single shield around the unit's HP indicates that the unit has a defence bonus.

The city wall provides a defence bonus much stronger than the standard defence bonus. A double shield around a unit's HP indicates that the unit is standing in a city with a city wall.

Cities will only provide a defence bonus to units with the fortify skill. For example, a Giant will never receive a defence bonus in a city because it does not have the fortify skill, although it may receive a defence bonus on other tiles.

## Healing

A damaged unit can recover (heal) instead of moving and/or attacking on any given turn. Healing restores up to 4 HP in friendly territory and 2 HP in neutral or enemy territory. (A unit cannot have more than its maximum HP.)

The Mind Bender can heal all adjacent friendly units by 4 HP instead of moving, attacking, and/or healing itself on any given turn (if there is a damaged unit nearby).

## Damage Formula

Damage is calculated as follows. *attackResult* is the amount of damage dealt by the attacker, while *defenceResult* is the amount of retaliation damage dealt by the defender. *defenceBonus* is equal to 1 when there is no defence bonus, 1.5 for the standard defence bonus, and 4 for the city wall defence bonus. Note that *defenceBonus* is applied to *defenceForce*, not *defenceResult.*

```
attackForce = attacker.attack * (attacker.health / attacker.maxHealth)
defenseForce = defender.defense * (defender.health / defender.maxHealth) * defenseBonus
totalDamage = attackForce + defenseForce
attackResult = round((attackForce / totalDamage) * attacker.attack * 4.5)
defenseResult = round((defenseForce / totalDamage) * defender.defense * 4.5)

```

Splash damage and explosion damage are calculated by taking the *attackResult*, dividing it by 2 and rounding down this result. Note that this means that you are rounding twice during this calculation. Once to the nearest when calculating *attackResult*, and once rounding down when calculating *attackSplash*

```
attackForce = attacker.attack * (attacker.health / attacker.maxHealth)
defenseForce = defender.defense * (defender.health / defender.maxHealth) * defenseBonus
totalDamage = attackForce + defenseForce
attackResult = round((attackForce / totalDamage) * attacker.attack * 4.5)
attackSplash = floor(attackResult / 2)
```

## Vision

No retaliation occurs if the attacker kills the unit being attacked or the unit being attacked cannot see the attacker (the attacker is hidden by fog).

Mountains provide extra sight (a two tile radius instead of the normal one).

Units with the scout skill can see two tiles in every direction.

## Boost

The Shaman, a unit unique to the Cymanti tribe, can boost friendly units. Boosted units get +0.5 attack and +1 movement. This effect lasts until the boosted unit attacks another unit, is attacked, uses most abilities, examines a ruin, captures a village/city, or is poisoned.

## Poison

Poison is applied by Cymanti units and buildings. It reduces defence by 30%, reduces healing by 50%, prevents the unit from receiving any defence bonus, and causes the unit to drop spores (on land) or Algae (in water) upon death. Poison can be removed by self-healing once, a Mind Bender, or a Mycelium. A building that applies poison also deals two damage at the same time.

## Resources

* Polytopia Battle Calculator, by FrothFrenzy, maintained by @jd#0001
* Enhanced UI Polytopia Calculator

## See also

* Unit skills, which influence the behavior of units in battle