A skirmish system for mass combat

One of the hidden gems of the Birthright setting was a second mass combat system, in addition to its War Cards system. The Skirmish system used units of 20 soldiers, and used the creatures' stats to make for a quick combat system. It requires some adaptation, since the statistics are slightly modified between AD&D2e and ACKS, but here is a way to quickly run small mass combat.

Generating stats:

Units have four stats: number of creatures, hit points, AC, and base damage
Number of creatures: by default, this is 20. Half-sized units can be formed, but will have stat modifiers (see below)
Hit points: A unit's hit points are the number of creatures multiplied by hit dice.
AC: Take this straight from the monster description or the armor used by the soldiers
Base damage: This is 20 minus the individual creature's attack throw (per page 102 of the core rulebook).

Combat: When a unit attacks, its standard damage is equal to its base damage minus the target's AC. Two points are added if the unit dual-wields weapons. This amount is doubled if the unit is composed of creatures that have multiple attacks. It is doubled if the unit has an attack capable of dealing 10 or more damage. All of these are cumulative, with addition coming before multiplication.

Ranged units: Units with ranged weapons can get a free attack against units with only melee weapons unless they are surprised. Dice are still rolled as normal, but the unit with ranged weapons takes no damage. If all enemy units are engaged and a ranged unit is unengaged, it may make free attacks against an engaged unit.

Mounted units: For normal mounts (such as horses), include their hit dice in hit point calculations, but do not count their attacks for combat. For fierce mounts (such as wolves) include their hit dice and count their attacks in combat. Mounted units can decide whether or not to engage slower foot units in melee.

Excess units: If one side has more melee units than the other, the extra units may engage as long as the described terrain would allow it. The outnumbered unit does not get to count its standard damage against the second attacker, but does get to roll a die and will inflict casualties if its roll exceeds the second attacker's.

Additionally, each side in combat rolls 1d8 each round. The lower roll is subtracted from the higher roll, and the remainder is added to the higher roller's damage (after all other modifiers).

Bonuses to the die roll include:

+1 per 2 levels of magic cast to aid or hinder

+1 if the group is led by a PC or significant NPC

+2 if one side attacks by surprise or ambush (first round only)

-1 if the opponent has a terrain advantage

When one side has only half its hit dice (whether by damage or by starting at half hit dice), it reduces its base damage by half and rolls only 1d6 for combat resolution. At one quarter hit dice, the die rolled is 1d4. Morale checks may apply as standard.

First round: Only the peltasts have a ranged weapon, so they attack Gnoll B for free. They get lucky, rolling a 6 against the gnolls' 1. This means they add 5 damage to their total, which is their BD of 9 minus the gnolls' AC of 4, so in total they do 10 damage.
Hoplites: 20 HP
Peltasts: 20 HP
Gnoll A: 40 HP
Gnoll B: 30 HP

Second round: Melee combat starts now, with Gnoll A facing off against the hoplites and Gnoll B engaging the peltasts. The hoplites have a standard damage of 5 points against the gnolls, while the gnolls have a standard of 4 points. The peltasts are much worse off. While they also have a standard of 5 damage, their weak armor means the gnolls have a standard of 10 points against them! The hoplites and Gnoll A both roll 5s, so nothing is added to either side. The peltasts see their luck turn, rolling a 3 against Gnoll B's 5. The hoplites take 4 damage, Gnoll A takes 5 damage, the peltasts take 12 damage, and Gnoll B takes 5 damage.
Hoplites: 16 HP
Peltasts: 8 HP
Gnoll A: 35 HP
Gnoll B: 25 HP

This battle will likely end soon, since the peltasts will die next round, and the hoplites will last no more than four rounds. If it had only been a single unit of gnolls, where the hoplites could engage and the peltasts fire freely from an unengaged position, the situation would likely be reversed. Note that Gnoll B could have chosen to engage the hoplites along with Gnoll A, but they wanted the easier prey that had already bloodied them.

After combat, half of the NPC casualties sustained are dead and half are seriously wounded. If a PC is part of a unit that's wiped out, have them roll a death save. On a success, they were merely knocked out. On a failure, roll on Mortal Wounds with +4 (and any CON modifiers) to the d20 (they're considered to be at exactly 0 HP, with treatment by Healing, immediately after fight).