Skip to content

Mass Combat for 5e

These rules resolve a battle too large to play out in full. You rate each side, roll once for the outcome, and roll for losses. A whole battle takes a few minutes.

Using These Rules

Play out a fight normally whenever you can. Normal 5e combat is the goal. Reach for mass combat only when there are too many creatures to run, or when the result matters more than the blow-by-blow.

Use normal combat when twenty or fewer creatures decide the fight, when a single powerful monster is the centerpiece, when the players are personally fighting for something specific, or when the action happens at one spot such as a gate, a bridge, or a breach in a wall.

Use mass combat for the wider battle: hundreds of soldiers, none of them important on their own, or a clash the players are commanding rather than fighting in.

Battles may use both. Settle the army with these rules, and let the players play out the part they can affect in normal combat. What they do there shifts the battle (see Heroes in a Battle).

Step 1: Rate Each Force

Power. A creature's Power equals its XP value divided by 100. Add up the Power of every soldier on a side to get that side's total Power. Common values:

CR Power CR Power
0 0.1 4 11
1/8 0.25 5 18
1/4 0.5 6 23
1/2 1 7 29
1 2 8 39
2 4 9 50
3 7 10 59

Do not include PCs, named heroes, or the commanding officer in a side's Power. They are handled separately (see Heroes in a Battle).

Edge from numbers. Compare the two Power totals. Find the larger total's lead on the table below. That side starts with this much edge.

Larger side leads by Edge
Up to 1.25 to 1 0
Up to 1.75 to 1 +2
Up to 2.5 to 1 +4
Up to 4 to 1 +6
Up to 7 to 1 +8
Up to 12 to 1 +10
More than 12 to 1 +12

Numbers advantage. Only so many soldiers can reach the enemy at once. Troops behind the front line wait their turn, move to surround the enemy, or step up to replace the tired and the fallen. A much larger force counts for less than its size suggests, and a single monster is safer in a crowd of enemies than it seems.

Step 2: Add Up the Edges

An edge is anything that favors one side. Each side collects edges from the list below, on top of its edge from numbers in Step 1. Go through the list; a side gains the listed points for each thing that is true for it and not for the enemy.

Count each thing once. Power already covers a creature's training, armor, and hit points, so use those edges only for forces of similar Power. When one side's edge answers the other's — cavalry against pikes, control against fireballs — the two cancel: score only what is left over, never both sides of the same clash.

Training and toughness

  • Better trained than the enemy (veterans against militia): +2, or +3 against a true rabble
  • Better armored than the enemy can deal with: +2
  • Has healers on the field: +2
  • Hard to put down (regeneration, undead that keep rising): +2
  • Resists or ignores the enemy's main type of damage: +2, or +4 if nearly immune
  • Cannot be frightened (undead, constructs, fanatics): +2, and they never rout (see Step 4)

Shooting and spells

  • Outranges the enemy and can shoot before they close: +2
  • An army of archers facing a single monster or a handful of large creatures: +6
  • Area damage such as fireballs or dragon breath against packed troops: +4, or +6 if the enemy cannot spread out
  • Area damage against troops who are spread out: +2
  • Spellcasters who control the field (walls, webs, fear, slow): +2, or +4 for several high-level casters. Instead of taking those points, control can cancel one of the enemy's edges of your choice — their numbers, their cavalry, an area attack, or one direction of attack — whichever does more. It cannot do both.

Movement

  • Faster than the enemy, able to flank, or cannot be pinned down: +2
  • Cavalry charging loose or shaken infantry in the open: +4
  • Cavalry charging in any other open-field situation: +2
  • Set spears or pikes deny a cavalry charge, as do rough, wooded, or uphill ground: the charge gives nothing, and −2 if the cavalry presses in anyway. (Cavalry can still flank instead; see above.)
  • Throws far more bodies at the enemy than its Power shows, such as a cheap horde: +2 at three to one, +4 at ten to one.

Ground and circumstance

  • Holds high ground, a chokepoint, or good cover: +2
  • Fights from prepared defenses or fortifications: +2 to +4 (intact walls are special; see Sieges)
  • Catches the enemy by surprise, in the first clash only: +4
  • Fresh against a tired, hungry, or already-bloodied enemy: +2
  • Fighting for their homes or making a last stand: +2
  • Led by a capable commander who is still in the fight: +2

Casters are fragile. Spellcasters who deal area damage or control the field are devastating until the enemy reaches them. If the enemy has cavalry or archers that can get to an unprotected line of casters, those casters give no edge and are a liability instead: −2, and they fall quickly.

Find the margin. Total each side's edge points, including the edge from numbers. Subtract the smaller total from the larger. The difference is the margin, and it belongs to the side with more. For example, if one side totals 8 and the other 5, the higher side is favored with a margin of 3. The margin cannot be more than 12. If both totals are equal, the margin is 0 and neither side is favored. Flip a coin to decide which side counts as favored, then roll. If one side feels like it deserves a slight edge, give it +1 or +2 instead and skip the coin.

Step 3: Decide the Outcome

Roll a d20 and add the margin. Read the result from the favored side's point of view.

Total Result
3 or less Decisive victory for the underdog
4 to 7 Bare victory for the underdog
8 to 10 Stalemate
11 to 15 Bare victory for the favored side
16 to 19 Decisive victory for the favored side
20 to 24 Rout won for the favored side
25 or more Annihilation won for the favored side

Step 4: Determine Losses

Find the result on the table below. For each side, roll the dice shown and add the base; the total is its losses, as a percentage of that force.

Result Winner loses Loser loses The objective
Stalemate 8 + 2d6 % the same unchanged or contested
Bare victory 12 + 3d6 % 22 + 4d6 % the winner takes it, barely
Decisive victory 6 + 2d6 % 34 + 4d6 % the winner holds; the loser pulls back
Rout 3 + 1d6 % 48 + 4d6 % the loser scatters
Annihilation 2 + 1d6 % 76 + 4d6 % the loser is destroyed or captured

Afterward. Half of all losses are wounded, not dead, and can recover with rest and care. The exceptions are a rout, where about two-thirds of the loser's losses die in the chase, and annihilation, where most are dead or taken prisoner.

Troops who never rout. Undead, constructs, and fanatics do not flee. If such a force would be routed or annihilated, it instead fights where it stands and is ground down. Treat its losses as a decisive victory each round until it is wiped out. It gives the winner no easy kills in a chase, so the winner's losses rise.

The chase. If the winner has cavalry or other fast troops and the result is a rout, the loser is run down. Treat it as annihilation, and lower the winner's losses. This does not apply against a force that never routs.

Heroes in a Battle

The players never roll on the outcome table. Instead they fight their own normal-combat scene over something that matters, and the result shifts the battle.

When the players command an army, let them make a few real decisions before the battle: commit a reserve, choose the ground, set a trap, send someone after the enemy commander. Each sound decision is worth +2 to their edge, or takes 2 from the enemy's.

When the players fight on the field, give them a clear goal played out in normal combat: hold the breach, kill the warlord, burn the siege engine, rally a broken flank, break through to the enemy's spellcasters. If they succeed, their side gains +2, or +4 for a great success. If they fail, their side loses 2. Settle their fight at the table, then roll the battle with that change included. In a big battle you can go back and forth: play a hero scene, apply its result, roll one exchange of the armies, and repeat.

If players zoom in to play out a charge, a stand against a charge, or a volley, give them the same kind of bonus in that fight that these rules would give for it, so the two do not contradict each other.

Special Situations

Single monsters. A lone dragon, giant, or other great monster is not a soldier in the line. Run it in normal combat, ideally with the players involved, and let the result become an edge for its side. If you must fold one into a mass battle, judge it by who it faces. Against an army of archers it is in real danger, because it is large enough to pick out and every archer shoots it at once. Against a crowd of swordsmen it is deadly, because only a handful can reach it while its breath and bulk tear through the press.

Sieges. A siege plays out in stages.

  • Storming intact walls. The attacker's greater numbers do not count, because only a few can fight at the wall at a time and the defenders shoot down on them from cover. The defender is favored by at least +6, plus high ground and shooting. An attacker cannot win this way except at terrible cost. To take the wall, the attacker must instead breach it, open a gate by treachery, or starve the defenders out.
  • Storming a breach. Once a wall is broken, the fight happens in the gap, where both sides can bring only a few fighters to bear at once. Treat it as an even clash. The attacker's edge is feeding fresh troops into the gap faster than the defender can: +4. The defender keeps cover from the rubble: +2. This is a natural place for a hero scene.
  • The field battle. A sally by the garrison, or a relief army arriving, is a normal battle. Use these rules as written. A besieger caught between the garrison and a relief force is attacked from two sides and loses the advantage of position.
  • Starvation. This is not a battle but a waiting game. Over weeks, a cut-off force loses strength until it surrenders.

Quick Reference

Add up each side's Power (XP divided by 100). Find the larger side's edge from numbers. Add the edges from Step 2. Total each side, subtract the smaller from the larger for the margin, and cap it at 12. Roll d20 plus the margin for the outcome. Roll the loss dice shown for each side.

Always ask two things: how many can actually reach the fighting, and can the enemy answer this monster, spell, or charge. A force multiplier the enemy cannot answer is significant. One they can answer is not.

Example

Six hundred orcs and four ogres storm a fortified garrison: a hundred guards, a hundred archers, and fifty veterans, dug in on a palisaded hill. Two player knights hold the gate.

Power: the orcs total 616, the garrison 475, a lead of about 1.3 to 1, so the orcs gain +2 edge from numbers.

Edges: the garrison has fortification (+2), high ground (+2), and better range, since the orcs have no archers (+2), totaling 6. The orcs' only edge is their numbers (+2). The garrison's veterans are tougher, but that quality is already counted in step 1, so it is not added again. Subtracting, the garrison is favored with a margin of 4.

The player knights win their fight at the gate, adding +2 and bringing the margin to 6.

Outcome: the garrison rolls a 9 on the d20, plus 6, for 15. That is a bare victory. The garrison keeps the hill.

Losses: this is a bare victory, so the garrison (winner) loses 12 + 3d6 percent and the orcs (loser) lose 22 + 4d6. The garrison rolls 12 on its 3d6 for 24 percent; the orcs roll 16 on their 4d6 for 38 percent, roughly half of them dead.