Unless stated otherwise, everything here is Diablo II: Resurrected build 3.3.93847, Reign of the Warlock.
Unless stated otherwise, everything here is Diablo II: Resurrected build 3.3.93847, Reign of the Warlock.

Attack all enemies in an expanding arc.
Cleave is a Warlock melee attack (Eldritch Skills, level 6, requires Levitation Mastery, unlocks Psychic Ward). It needs a melee weapon (requiresweapon 1, item type mele) and swings at every enemy inside an arc in front of you; the arc widens with level. The numbers that decide it are the arc, 240 degrees at level 20, and the damage, +115% at the same level, before three +10%-a-point synergies.
| Level | Cleave Arc | Damage: + | Attack Speed: + | Attack Rating: + |
|---|---|---|---|---|
| 1 | 132 Degrees | 20% | 13% | 50% |
| 2 | 144 Degrees | 25% | 15% | 57% |
| 3 | 156 Degrees | 30% | 17% | 64% |
| 4 | 168 Degrees | 35% | 18% | 71% |
| 5 | 180 Degrees | 40% | 20% | 78% |
| 6 | 192 Degrees | 45% | 21% | 85% |
| 7 | 204 Degrees | 50% | 21% | 92% |
| 8 | 216 Degrees | 55% | 22% | 99% |
| 9 | 228 Degrees | 60% | 23% | 106% |
| 10 | 240 Degrees | 65% | 23% | 113% |
| 11 | 252 Degrees | 70% | 24% | 120% |
| 12 | 264 Degrees | 75% | 24% | 127% |
| 13 | 276 Degrees | 80% | 25% | 134% |
| 14 | 288 Degrees | 85% | 25% | 141% |
| 15 | 300 Degrees | 90% | 25% | 148% |
| 16 | 312 Degrees | 95% | 26% | 155% |
| 17 | 324 Degrees | 100% | 26% | 162% |
| 18 | 336 Degrees | 105% | 26% | 169% |
| 19 | 348 Degrees | 110% | 26% | 176% |
| 20 | 240 Degrees | 115% | 26% | 183% |
| 21 | 240 Degrees | 120% | 27% | 190% |
| 22 | 240 Degrees | 125% | 27% | 197% |
| 23 | 240 Degrees | 130% | 27% | 204% |
| 24 | 240 Degrees | 135% | 27% | 211% |
| 25 | 240 Degrees | 140% | 27% | 218% |
| 26 | 240 Degrees | 145% | 27% | 225% |
| 27 | 240 Degrees | 150% | 28% | 232% |
| 28 | 240 Degrees | 155% | 28% | 239% |
| 29 | 240 Degrees | 160% | 28% | 246% |
| 30 | 240 Degrees | 165% | 28% | 253% |
(lvl >= 20) ? 20 : lvl + 10 slices of a circle of calc6 (30) slices. That is 132 degrees at level 1, 240 at level 10, 300 at level 15, 348 at level 19, then 240 from level 20 on, because the calc only caps the slice count once the level reaches 20.ln12, Param1 (20) plus Param2 (5) a level, +115% at level 20, plus Param9 (10) per hard point in each of three synergies. The row's calc2, flat damage, is 0.dm34, a diminishing curve from Param3 (10) toward Param4 (30): 13% at level 1, 23% at level 10, 26% at level 20. The row's own comment names the server function that reads it.Arc, damage, attack speed and attack rating read lvl, so +skills count; the synergy term reads blvl.
Cleave is a weapon attack: each target in the arc is rolled for Chance to Hit with the attack rating above, and the hit deals the weapon's damage through Dealing Physical Damage with the damage percentage applied. The row's calc4 (0) means none of it is converted to an element, and calc7 (0) adds no range. The client-side calc (cltcalc1 = clc3) is the attack speed, applied by the start function the table names (WarStartCleave). The row has no casting delay column.
The arc is not monotonic: it peaks at 348 degrees at level 19 and drops to 240 at level 20, where the calc's cap takes over. Every level from 11 to 19 is wider than level 20 or any level above it.
Three synergy lines, each +10% damage per hard point (Param9): Mirrored Blades, Hex: Purge and Eldritch Blast. Param10 (12) is, by the table's comment, the "Mirrored Blades Synergy for degrees arc increased", but the tooltip's arc calc uses it only as the degrees per slice. Cleave in turn gives a synergy to Psychic Ward, a skill outside this page's facts.
A player's hit on another player is cut to 17% of its value (difficultylevels.txt PlayerDamagePercentVSPlayer) before anything else, see Player versus Player. The table has no separate player value for Cleave.
Written from the game's tables (build 3.3.93847) and the cited pages; a per-level table is computed from skills.txt and skilldesc.txt by the same evaluator the skill pages use. A “legacy rule” is a published engine rule no table proves; a “game table” is read from the table named. · Report incorrect data