The short version
- Damage is not one number. It is a base, plus your upgrades, minus their armour, times a multiplier that depends on what size they are.
- Explosive weapons do half damage to small units. Concussive weapons do a quarter to large ones. Normal damage does not care.
- Protoss shields are hit before that multiplier, at full value, and they have an upgrade of their own. That is why a dragoon strips a zealot's shields fast and then slows down.
- The number that matters is not damage, it is attacks to kill. Most upgrades change it by nothing at all, and then one of them takes a whole attack off. That one is a breakpoint.
- The classic: zealots need three attacks to kill a zergling. At one weapon upgrade they need two. Set the boxes below to Zealot and Zergling and watch it happen.
What it takes to kill it
Pick the two units and the upgrade levels. Every number below is the game's own arithmetic, not an approximation of it.
8hp
Damage a hit lands
5
Hits to kill
2 hits an attack, so 3 attacks.
3
Attacks to kill
1.85s
Time to kill
One Zealot, no misses, no moving.
One Zealot at +0 kills a Zergling at +0 armour in 3 attacks, which is 1.85 seconds of shooting. The last hit wastes 5 hit points of damage.
Psi Blades
Weapon
8 normal, +1 a level, cooldown 22 frames, range 1.
35 hp
Target
0 armour, small.
100resources
Cost of the attacker
100 minerals and 0 gas.
25resources
Cost of the target
25 minerals and 0 gas.
The breakpoints
A breakpoint is the only upgrade that changes anything. Below it, the extra damage is absorbed by the hit that was going to land anyway.
- Weapons +1 Zealot goes from 3 attacks to 2, and saves 0.93 seconds a kill.
- Armour +3 Zergling's armour puts it back up from 3 attacks to 4.
Attacks to kill, at every combination
| Weapons | Armour +0 | Armour +1 | Armour +2 | Armour +3 |
|---|---|---|---|---|
| +0 | 3 | 3 | 3 | 4 |
| +1 | 2 | 3 | 3 | 3 |
| +2 | 2 | 2 | 3 | 3 |
| +3 | 2 | 2 | 2 | 3 |
Gold is a breakpoint: that upgrade took a whole attack off.
What the game is actually doing
Every hit in Brood War goes through the same five steps, in this order. The order is the part everyone gets wrong, so here it is as the engine has it.
the game engine's own damage routine
The multiplier table is small enough to memorise, and worth memorising:
| Small | Medium | Large | |
|---|---|---|---|
| Normal | 100% | 100% | 100% |
| Explosive | 50% | 75% | 100% |
| Concussive | 100% | 50% | 25% |
A hit always lands for at least half a hit point, so armour can blunt a weapon but never switch it off. And the engine works in units of one two hundred and fifty sixth of a hit point, which is why you get halves and quarters: a dragoon against a zealot with its shields down deals , not nine and not ten.
Why the order matters
Take a dragoon shooting a zealot. The dragoon does 20 explosive, the zealot is small, so you would expect 10 a hit all the way through. It is not what happens.
While the shields are up, the zealot takes the full 20 a hit, because shields are hit before the size multiplier and before the zealot's armour. Sixty shields go in three hits. Then the hits fall to 9.5 and the remaining hundred hit points take eleven more. Three fast hits and eleven slow ones, out of one weapon that never changed.
This is also why plasma shields are the best upgrade protoss has against small arms and one of the worst against siege tanks: it comes off the top of every hit, so it is worth more against many small hits than against a few large ones.
Show the maths
Against n hits of size D, one level of a flat subtraction is worth n hit points of effective health, so its value scales with how many times you get hit. A marine hits a zealot ten times through its shields; a tank hits it once.
The breakpoint is the whole point
An upgrade that does not change the number of attacks has changed nothing that you will ever see. The lab lists every level where the count actually drops, and the grid at the bottom prints the count for all sixteen combinations so you can see how flat it mostly is.
Three worth knowing by heart:
- Zealots and zerglings. Three attacks becomes two at weapons +1. It is the single most valuable early upgrade protoss has against zerg, and zerg carapace +1 takes it straight back.
- Marines and zerglings. Six hits becomes five at +1 and four at +3. Zerg carapace pushes it back to seven.
- Hydralisks and marines. Explosive against small is halved, so upgrades move slowly. Check it in the grid rather than trusting the damage number.
What this lab assumes
| Assumption | Value | Why, and how sure we are |
|---|---|---|
| Unit and weapon numbers | Liquipedia | Typed from the wiki, not exported from the engine's own data files yet. If you find one wrong, it is wrong in app/content/data/learn/units.yml and nowhere else. |
| Damage rules | The engine | The order of shields, armour and size multiplier is read from the game engine's own damage routine, so it is the game's and not a wiki's summary of it. |
| Time to kill | cooldown only | Frames of weapon cooldown between attacks, at 42 ms a frame. No travel time, no misses, no animation, no moving. |
| One attacker, one target | always | Splash, bounces and overkill between several attackers are not modelled here. The Battle Lab is where armies go. |