Poe Weapon Dps Calculator

PoE Weapon DPS Calculator

Calculation Results

Physical DPS (pDPS) 0.00
Elemental DPS (eDPS) 0.00
Chaos DPS 0.00
Total DPS 0.00

Understanding Path of Exile Weapon DPS

In Path of Exile (PoE), determining the effectiveness of a weapon requires more than just looking at the base damage. DPS (Damage Per Second) is the standard metric used to compare weapons like swords, axes, bows, and wands. This calculator helps you break down your weapon's potential into Physical, Elemental, and Chaos components.

What is pDPS?

pDPS stands for Physical Damage Per Second. This is calculated using the physical damage range shown on the item. In PoE, weapons with high pDPS are essential for builds that scale physical damage, such as those using "Brutality Support" or focusing on Bleed mechanics.

What is eDPS?

eDPS is Elemental Damage Per Second. This is the sum of Fire, Cold, and Lightning damage components multiplied by the weapon's attack speed. Elemental weapons are vital for builds using "Trinity Support" or elemental conversion skills.

How the Calculation Works

The formula for calculating weapon DPS is straightforward:

DPS = ((Minimum Damage + Maximum Damage) / 2) * Attacks Per Second

Weapon Quality and DPS

Weapon quality (up to 20% normally, or 30% with Hillock or fossils) increases the Physical Damage and Accuracy of the weapon base. Note that the numbers displayed on an item in-game usually already include the quality bonus. If you are calculating a "clean" weapon to see what it would look like at 20% quality, you would increase the base physical damage by 20% before running the DPS calculation.

Example Calculation

If you have a Corsair Sword with:

  • Physical Damage: 150 – 300
  • Fire Damage: 20 – 40
  • Attacks Per Second: 1.60

Physical DPS: ((150 + 300) / 2) * 1.6 = 360 pDPS
Elemental DPS: ((20 + 40) / 2) * 1.6 = 48 eDPS
Total DPS: 360 + 48 = 408 Total DPS

function calculatePoEDPS() { // Collect Physical var minPhys = parseFloat(document.getElementById('minPhys').value) || 0; var maxPhys = parseFloat(document.getElementById('maxPhys').value) || 0; // Collect Elemental var minFire = parseFloat(document.getElementById('minFire').value) || 0; var maxFire = parseFloat(document.getElementById('maxFire').value) || 0; var minCold = parseFloat(document.getElementById('minCold').value) || 0; var maxCold = parseFloat(document.getElementById('maxCold').value) || 0; var minLightning = parseFloat(document.getElementById('minLightning').value) || 0; var maxLightning = parseFloat(document.getElementById('maxLightning').value) || 0; // Collect Chaos var minChaos = parseFloat(document.getElementById('minChaos').value) || 0; var maxChaos = parseFloat(document.getElementById('maxChaos').value) || 0; // Collect Speed var aps = parseFloat(document.getElementById('aps').value) || 0; if (aps <= 0) { alert("Attacks per second must be greater than 0"); return; } // Calculations var avgPhys = (minPhys + maxPhys) / 2; var pdps = avgPhys * aps; var avgEle = ((minFire + maxFire) / 2) + ((minCold + maxCold) / 2) + ((minLightning + maxLightning) / 2); var edps = avgEle * aps; var avgChaos = (minChaos + maxChaos) / 2; var cdps = avgChaos * aps; var totalDps = pdps + edps + cdps; // Update UI document.getElementById('pdps-res').innerText = pdps.toFixed(2); document.getElementById('edps-res').innerText = edps.toFixed(2); document.getElementById('cdps-res').innerText = cdps.toFixed(2); document.getElementById('total-dps-res').innerText = totalDps.toFixed(2); document.getElementById('poe-results').style.display = 'block'; }

Leave a Reply

Your email address will not be published. Required fields are marked *