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.
Icon | Terrain | Unlocked By |
---|---|---|
Forest | Archery | |
Mountain | Climbing | |
Shallow water | Aquatism | |
Ocean | Aquatism |
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 = roundUp((attackForce / totalDamage) * attacker.attack * 4.5) defenseResult = roundDown((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 = roundDown(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%, prevents the unit from being healed, 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 healing once. This can be through self-healing, a Mind Bender, or a Mycelium. When healed in this way, the poison is removed but the unit does not get any health back.
Resources[]
- Polytopia Battle Calculator, by FrothFrenzy, maintained by @jd#0001
- Drag and drop Polytopia Calculator
See also[]
- Unit skills, which influence the behavior of units in battle
Game Mechanics | |
---|---|
Game | |
General |
Combat, Easter Eggs, Game Modes, Map Generation, Movement, Ruin, Score, Star, Technology, Terrain, Tribes |
Abilities | |
Buildings | |
City | |
Diplomacy | |
Units |