Back to ericjwin



Warning!!
These files are for Diablo II LOD Version 1.09 only


How to calculate REAL MAX PHYSICAL DAMAGE by Chacha
D2 is using Hex number in internal calculation as you know.
The max physical DMG is 0x7FFFFF in hex number. This is 8,388,607 in decimal number.
And final DMG is calculated as following steps.

Step1. Calculate your real physical DMG(X1) at 1st. To get X1,
1-1: Multiply your DMG on screen by 100 (ex. 241,172 * 100 = 24,117,200)
1-2: Convert it to HEX. (ex. 24,117,200 = 0x16FFFD0)
1-3: Pick up last 6 digits (ex. 0x6FFFD0)
1-4: If this 6 digits is over 0x7FFFFF, stop calculating cz of NO DMG!!!
1-5: Back to Decimal number (ex. 0x6FFFD0 = 7,339,984)
1-6: Divide by 100 (ex. 73,399)
In above example, X1 = 73,399.

Step2. Calculate Deadly Strike/Critical Hit
Deadly Strike/Critical Hit have the effect to give enemy double damage.
X2 = X1 * 2 (ex. X2 = 73,399 * 2 = 146,798)

Step3. Calculate DR% enemy using
The max of DR% in internal calculation is 75%. 75% over is same as 75%.
X3 = X2 * (100% - DR%) (ex. X3 = 146,798 * (100% - 75%) = 36,699 )

Step4. Calculate PvP penalty
X4 = X3 / 4 (ex. X4 = 36699 / 4 = 9174)

Step5. Calculate Absorb% of Energy Shield enemy using
For example, absorb% of Lv31 ES is 69%.
X5 = X4 * (100% - Absorb%) (ex. X5 = 9174 * (100% - 69%) = 2844

Finaly you got Final DMG as X5 (this does not include CB & OW).

And.... HOW TO CALCULATE LEECH?
Leech number is calculated by using X3 as following steps.

Step1. Calculate unmature leech number(L1)
L1 = X3 * Leech% (ex. L1 = 36699 * 200% = 73398 )

Step2. Calculate mature leech number
2-1: Multiply L1 by 100 (ex. 73398 * 100 = 7339800)
2-2: Convert it to HEX. (ex. 7339800 = 0x6FFF18)
2-3: Pick up last 6 degits (ex. 0x6FFF18)
2-4: If this 6 digits is over 0x7FFFFF, stop calculating cz of NO LEECH!!!
2-5: Back to DEC number (ex. 7339800)
2-6: Divide by 100 (ex. 73398)
Final Leech number = 73398.

Yes, max of Leech number is same as DMG, 83886.

LOL....next about LEECH BLOCK???
Ok sure.
If you could understand above calculation well, you will be able to know how to block enemy's leech. hmm? dunno?
To get it, you have to make enemy's leech over 0x7FFFFF in Step2-3. How how??? Use LOWER DR%.
In DMG Cal step3, we used DR% to get X3. In the example, DR% was 75%. But when DR% is 60%,
X3 = 146,798 * (100% - 60%) = 58,719
L1 = 58719 * 200% = 117,438
117438 * 100 = 11743800 = 0xB33238
Last 6 digits are 0xB33238 > 0x7FFFFF
OMG!! OVER!!

Ohhhhh another question? about HOW TO BREAK LB ??
You have to know it by yourself now if you could understand above steps.
To explain easily, I say " Get small DMG / Leech% not to be OVER 0x7FFFFF "

If you reduce X1 to 52428......
X2 = 52428 * 2 = 104856
X3 = 104856 * (100% - 60%) = 41942
L1 = 41942 * 200% = 83884
83884 * 100 = 8388400 = 0x7FFF30
WOW!! almost MAX LEECH !!

Or If you reduce Leech% to 142%......
L1 = 58719 * 142% = 83380
83380 * 100 = 8338000 = 0x7F3A50
Almost MAX TOO !!!

The END....

ops... I did not calculate down place of decimals to explain easily, but you have to calculate it to get exactly number.