Game Mechanics

来自PD2汉化wiki
Wdjwxh留言 | 贡献2026年5月27日 (三) 11:19的版本 (同步英文 Wiki 更新)
跳转到导航 跳转到搜索

Numbers (Rounding)

The Diablo 2 engine operates primarily on integer math. To maintain synchronization and performance on late 1990s-era computers, the game rounds down most calculations to keep computational and memory overhead low.

If a value is calculated using integer math, the game rounds down (truncates) the result at every step of a calculation.

Values that are Rounded:

  • "Instant" Damage
    • Physical Attacks and Spells, Instant Elemental Attacks and Spells excluding Poison damage, Percent-Based Damage (Static Field and Crushing Blow)
  • Player Stats (Strength/Dex/Vitality/Energy)
  • Player and Monster Resistances
  • Equipment Affixes
    • Per-level affixes are stored as fractions and rounded down after multiplication
  • Gold
  • Experience
  • Defense and Attack Rating
  • Chance to Hit and Block
  • Life and Mana Leech
  • Animation Frames (These round up. See Breakpoints for more information)

Values that are not Rounded:

The game tracks these values in 256ths (sub-integer precision via bit-shifting).

  • "Per-Frame" Damage
    • Poison Damage, Open Wounds, Burning Ground, Channeled Skills (Inferno and Arctic Blast)
  • Life, Mana, and Stamina (Stored as 256x the visible value)
  • Mana Costs
  • Mana and Life Regeneration
  • Player Speed (Velocity)
  • Projectile Speed

Many values and attributes that are not rounded are displayed as rounded values in the Game UI, especially the character screen (Damage) and skill descriptions (Mana Cost). UI information has no direct connection to the actual game logic.

Melee Splash

Melee splash is an instant AoE, with no Next Hit Delay, that damages all enemies 360° around the target. The main target does not take splash damage.

An attack's splash damage is rolled once and applied according to each enemy's resistances, but effects that have a chance of applying (Crushing Blow, Open Wounds) are rolled individually for each enemy hit in melee splash.

These are included in the splash:

  • Skill damage
  • Converted damage
  • Normal attack damage (the values you see when you select the basic attack as your skill)
  • Elemental and physical damage from charms and gear
  • Critical Strike and Deadly Strike (still only applies to the physical damage)
  • Life and Mana leech (reduced by 1/2, and still only applies to the physical portion of the attack)
  • Crushing Blow
  • Open Wounds

These are not included in the splash:

  • Missile damage (such as the Nova portion of Power Strike)
  • Stun
  • Knockback
  • Any other on-hit effects
Melee Splash Example
  • Lightning Strike for 1-10000 lightning damage and 1-10000 chain lightning damage
  • Normal attack damage of 1000-5000 (900-4900 of that is physical)

The total splash damage would be 1001-15000 damage.

And if they crit then the splash damage would be 1451-17450.

The 1-10000 damage from the Chain Lightning is not applied.

Splash Radius

The base player melee splash radius is 5 tiles (3.33 yards) but this can be extended by certain skills and items. The splash radius will increase by 1 tile (0.66 yards) for every 20% "increased splash radius" gained.

Increased Splash Radius 0 20 40 60
Tiles 5 6 7 8
Radius (yards) 3.33 4 4.66 5.33

There are also a handful of other things that have melee splash. These are all static and cannot be increased.

  • "Splashing" map modifier: melee splash radius is 5 tiles (3.33 yards)
  • Golems: melee splash radius is 4 tiles (2.66 yards)
  • Skeletons: melee splash radius is 3 tiles (2 yards)
  • Wolves: melee splash radius is 2 tiles (1.33 yards)

Melee splash and ranged weapons

There are a few gloves (The Hand of Broc, Bloodfist, and Steelrend) that have melee splash on them and they can be used to give ranged weapons, like bows and crossbows, melee splash.

This allows shapeshifters to use a ranged weapon in place of a melee weapon, while still gaining the benefits of melee splash.

This does not mean that ranged attacks (i.e. shooting with a bow) will have splash damage. Melee splash is always limited to melee attacks.

Critical Damage

Critical damage has been balanced to improve itemization by making the power of Deadly Strike more comparable to other item stats.

There are 2 different sources of critical damage:

Critical damage only affects the physical damage portion of an attack.

Both Critical Strike and Deadly Strike cannot occur on the same attack. Critical Strike is always checked before Deadly Strike in the calculation order so Deadly Strike can never trigger if Critical Strike triggered.

Crit Damage Type Default Maximum Chance Default Damage Multiplier
Critical Strike 75% 200% (2x)
Deadly Strike 75% 150% (1.5x)

The Maximum % of Deadly Stike can be improved with items (e.g.: Wraithskin, Headstriker), but no item or skill currently exists to improve the Maximum % of Critical Strike.

The Damage Multiplier of both types of Critical Damage can be improved with various items (e.g.: Death Cleaver, Wraithskin) and skills (Javelin and Spear Mastery).

These are additive with the default multiplier for that type of critical damage, so +25% Deadly Strike Multiplier will make Deadly Strikes deal 1.75x damage.

With Critical strike and deadly strike having different multipliers, an average damage multiplier is useful to consider in addition to the traditional Total Crit Chance. The following 4 numbers can be seen in the advanced stats, with eDC being calculated:

CC = Critical Strike Chance
CM = Critical Strike Multiplier
DC = Deadly Strike Chance
DM = Deadly Strike Multiplier
eDC = Effective Deadly Strike Chance = DC * (1 - CC)

Total Crit Chance: 1 - ((1 - DC) * (1 - CC))

Average Damage Multiplier = (CC * CM) + (DC * (1 - CC) * DM) + (1 - CC - DC * (1 - CC)) OR

Average Damage Multiplier = (CC * CM) + (eDC * DM) + (1 - CC - eDC)

    • The three summed items are the contribution of Critical Strike, Deadly Strike, and normal damage, in that order.
Critical Damage Examples
As an example, consider an Amazon with:
  • 60% CC from Critical Strike
  • +30% CM from Javelin and Spear Mastery
  • 10% DC from gear
  • +0% DM
Total Crit Chance: 1 - ((1 - 0.1) * (1 - 0.6)) = 64%
Average Damage Multiplier: (0.6 * 2.3) + (0.1 * (1 - 0.6) * 1.5) + (1 - 0.6 - 0.1 * (1 - 0.6)) = 1.38 + 0.06 + 0.36 = 1.80.
So the average attack from this character will deal 80% more than their attack that doesn't crit.


Another example, a barbarian with:
  • 30% CC from One Handed Mastery
  • +0% CM
  • 85% DC from gear
  • +75% DM from Death Cleaver and Wraithskin
Total Crit Chance: 1 - ((1 - 0.85) * (1 - 0.3)) = 89.5%
Average Damage Multiplier: (0.3 * 2) + (0.85 * (1 - 0.3) * 2.25 + (1 - 0.3 - 0.85 * (1 - 0.3)) = 0.6 + 1.339 + 0.105 = 2.044


A few more sample calculations:

Critical Damage No Crit Full DS Amazon Zon + DS PokeZon PokeZon
+ DS
Barb/Sin
+ DS
Death Cleaver
+Wraithskin
Barb
DC+Wraith
Crit Chance 0% 0% 70% 70% 70% 70% 30% 0% 30%
Crit Multiplier 2.0 2.0 2.0 2.0 2.4 2.4 2.0 2.0 2.0
Deadly Chance 0% 75% 0% 75% 0% 75% 75% 85% 85%
Deadly Multiplier 1.5 1.5 1.5 1.5 1.5 1.5 1.5 2.25 2.25
Average Damage Multiplier 1.000 1.375 1.700 1.813 1.980 2.093 1.563 2.063 2.044

Life and Mana Steal

Leech Reductions

Attack leech reduction

  • Melee Splash: 1/2 [Life/Mana]
  • Ranged Attacks: 1/2 [Life/Mana]

Skill leech reduction

  • Blade Shield: 1/2 [Life/Mana]
  • Leap Attack: 1/3 [Life]

Difficulty leech reduction

  • Normal: N/A
  • Nightmare: 1/2 [Life/Mana]
  • Hell: 1/3 [Life/Mana]

Zone leech reduction

  • PvP maps: set leech to 0% [Life/Mana]

Drain Effectiveness leech reduction

  • This is a specific set modifier on Bosses and other monster types.
    • For example, Skeletons and many other Undead monsters have a Drain Effectiveness of 0, making them unable to be leeched from.
    • For Drain effectiveness of many key Bosses in Project Diablo 2, see: Monsters.
    • If not listed on the above page, it is probably unchanged from LoD. LoD Drain Effectiveness numbers can be found elsewhere, such as The Amazon Basin.

Leech Formula

leeched life or mana=leechattack reductionskill reduction64difficulty reductionphysical damagedrain effectiveness÷64÷100

Note: Bracketed values are rounded down

Leech Formula Examples

As an example, consider a Barbarian with 7% Life leech, using Leap Attack (5k damage) against The Cow Queen:

71213641350000.2÷64÷1001641350000.2÷64÷1002150000.2÷64÷100=3 hp leeched


Another example, consider a Paladin with 9% Life leech, using Zeal (3k damage) against a Death Beatle:

912641330000.5÷64÷1004641330000.5÷64÷1008530000.5÷64÷100=19 hp leeched

Crushing Blow

Crushing Blow reduces the target's life by a fraction of their current life, so it's more effective against targets with lots of life and becomes less effective as they lose life. Attacks can have up to 100% chance to cause a Crushing Blow - any extra will have no effect.

  • Crushing Blow now has greater diminishing returns against bosses (act bosses, map bosses, ubers)
  • Overall life reduction was reduced.
  • The Ranged penalty is now 1.5x, i.e. 1/(8*1.5)=1/12
Target Melee
(PD2)
Ranged
(PD2)
Melee
(LoD)
Ranged
(LoD)
Most Targets* 1/8 1/12 1/4 1/8
Super Uniques 1/8 1/12 1/8 1/16
Prime Evils** 1/80 1/120 1/8 1/16
Map Bosses 1/30 1/45 N/A N/A
Players and Mercenaries 1/10 1/15 1/10 1/20
  • * Normal, Minion, Champion, and Unique monsters
  • ** Affected by additional diminishing returns: 180+(10missing hp)% (replace 80 with 120 for ranged). "Prime Evils" does not include Map Bosses in this context.


Also see: Vanilla Info about Crushing Blow

Player Count Scaling

Crushing blow has an additional diminishing return formula in party games (or simulated ones in Single Player).

The formula is as follows: (shown for melee normal enemies - replace the 8 as described above for other monster types & ranged)

percentDamage=18+(pCount7050) or 18+(1.4pCount)


This results in the following:

Players in Game 1 2 3 4 5 6 7 8
Damage (Current Life) 18
or 12.5%
554
or 9.26%
561
or 8.20%
568
or 7.35%
115
or 6.67%
582
or 6.10%
589
or 5.62%
596
or 5.21%

Crushing Blow Efficiency

Crushing Blow Efficiency is a new affix in Project Diablo 2 that increases the percentage of current life that Crushing Blow reduces.

The formula is as follows: (shown for melee normal enemies - replace the 8 as described above for other monster types & ranged)

percentDamage=1+CBE1008

This results in the following:

Crushing Blow Efficiency % 0 10 25 50 100
Damage (Current Life) 18
or 12.5%
1.18
or 13.75%
1.258
or 15.625%
1.58
or 18.75%
28
or 25%

Open Wounds

  • Open Wounds deals physical damage over time
    • The damage depends on the level of the character who applies it (shown below for all levels)
    • The damage is now affected by "+X Open Wounds Damage per Second" which is a new attribute that often accompanies "X% Chance of Open Wounds"
    • The damage is now affected by Physical Damage Reduction (e.g. Battle Cry, Amplify Damage, Defiance, etc)
    • The damage is not affected by other damage modifiers
  • Open Wounds is now also applied by "Attacker Takes Damage of X" as well as attacks
  • Open Wounds now lasts 5 seconds (was 8 seconds) and now stacks up to 3 times per target
  • Open Wounds now has a ¼ penalty against mercenaries and pets
  • Open Wounds no longer has a ½ penalty against stronger enemies (champions, uniques, super uniques, bosses, prime evils)
Open Wounds Damage per Second
Character Level 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Damage per Second 3 4 5 6 7 8 9 10 10 11 12 13 14 15 16 17 19 21 23 25 26 28 30 32 33
Character Level 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
Damage per Second 35 37 39 40 42 45 47 50 53 55 58 61 63 66 68 71 74 76 79 82 85 89 92 96 99
Character Level 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
Damage per Second 103 106 110 113 117 120 124 127 131 134 139 143 148 152 156 161 165 170 174 178 183 187 191 196 200
Character Level 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
Damage per Second 205 209 213 218 222 227 231 235 240 244 249 253 257 262 266 271 275 279 284 288 293 297 301 306

Also see: Vanilla Info about Open Wounds, Deep Wounds

Curse Duration / Resistance

"Reduced Curse Duration" and "Curse Resistance" are new stats which reduce the duration/effect of curses against you by x%. They both cap at 75%.

Skills and Items related to Curse Duration / Resistance:

Resistances

The elemental resistances (Fire/Cold/Lightning/Poison) of a player caps at 90. The base cap is still 75 but gear modifiers can increase it to 90.

Reducing Resistances

Resistances are now reduced at 1/2 effectiveness (was 1/5 effectiveness) when those resistances are above 99% (immunes) or below 0%.

This effectiveness penalty only applies to effects caused by players and pets. Negative resistances caused by monsters (e.g. Conviction, Amplify Damage) are always applied at full effectiveness.

Breaking Immunes

These effects "reduce" or "lower" enemy resistances and will break immunities. They all apply an effect to the enemy which persists and reduces their resistance while it is active, which allows all players to benefit:

这些效果会“穿透”或“削减”敌人的抗性,但不会破除免疫。它们会在每一次单独的攻击或法术上计算,并且只会让使用它们的角色受益:

Effectiveness vs Immunes

The above Skills that "reduce" resistances are the only effects capable of breaking an immunity.

However, they function at only 1/2 effectiveness against any enemy with 100% or more resistance.

All of these effects are applied simultaneously; even if one skill would be strong enough to break the immunity on its own, every active reduction skill is still halved.

  • When calculating the final reduction, the game halves the skill value and rounds down to the nearest whole number before subtracting it from the enemy's resistance.
  • As an example, an enemy with 110% Fire Resistance and Level 11 Lower Resist (-21%):
  • 21 / 2 = 10.5  [Apply the 1/2 penalty]
  • 10.5 → 10  [Round down to the nearest whole integer]
  • 110 - 10 = 100  [Final resistance; the immunity is not broken]
  • If multiple skills are used, each is halved and rounded individually before being subtracted from the total:
  • Skill A (-21%): 21 / 2 = 10.5 → 10
  • Skill B (-31%): 31 / 2 = 15.5 → 15
  • 110 - 10 - 15 = 85  [Final resistance; immunity is broken]
  • Effects which "penetrate" resistances rather than "reduce" them (e.g. Rainbow Facet, Cold Mastery, or other -% Resistance on gear) only function after an immunity has been broken. If the calculation above brings an enemy to 99% or lower, these penetration effects then apply at full 100% effectiveness.

Effectiveness vs Negative Resistance

When taking an enemy below 0% resistance, the effectiveness penalty only applies to whatever portion becomes negative. Everything applies at full effectiveness and then afterward, if the enemy's resistance is negative, it gets halved.

As an example let's take an enemy with 25% cold resistance, and apply Lower Resist and Conviction from before as well as an extra "-12% to Enemy Cold Resistance":
  • 25 - 30 = -5  [Lower Resist]
  • -5 - 30 = -35  [Conviction]
  • -35 - 12 = -47  [-Enemy Resist]
  • -47 / 2 = -23  [apply the 1/2 penalty to get the final enemy cold resist]

Resists can be reduced as low as -100%

Item drop mechanics

Item drop Basics

Lets look at a high-level example of how the drop process works.

Mephisto is killed! What does the game do to determine your reward?

  1. calculates the number of items to drop (max 6)
  2. selects item types
  3. selects item qualities
  4. selects certain unique or set items (when applicable)
  5. selects item properties (when applicable)

The number of players only affects item #1, the number of potential drops. It has no effect on the quality of the items that drop (this is where magic find comes into play). Now the question is, how does the number of players affect how many items drop?

Any time you do something that drops loot (opening a chest, killing a monster, etc.) the game selects from a list of treasure classes (TC) that will decide what kind of items will drop. Each TC has a list of items (or other TCs) that can drop, as well as a probability that that given item will drop. There is also a number of "picks" for each TC that decides how many potential items can drop. The last piece of the puzzle is "NoDrop", which is a probability that a pick will drop no items. NoDrop is the only parameter that player count affects.

There's a lot that goes into how the new NoDrop value is calculated when more players join the game, but the short version is: the higher the player count, the lower the NoDrop chance (potentially reaching 0 with enough players).

There are some TCs that start with NoDrop at 0. These are not affected by player count, since 0 is the lowest possible value.

What's different in PD2?

The baseline drop rate in PD2 is roughly equivalent to vanilla's p5/5 (5 partied players in a game) for solo play, and scales up per player until it's slightly above the equivalent of vanilla's p8/8 when there is a full game of 8 players. This means that overall NoDrop for all TCs is significantly lower, and it becomes easier to reach a NoDrop of 0 with fewer players.

You still get loot increases from more players like vanilla, but the difference between a solo player and a group of 8 is overall much smaller.

Rune TCs are also the same as in vanilla, so rune drop rates are the same. Miniscule differences may exist in some cases due to new valuable items such as Larzuk's Puzzlebox being able to drop.

How does PD2 compare to LoD?

It's hard to directly compare the two since there are hundreds of TCs, and PD2 has even more than LoD (mostly because of maps). But we can compare a TC from LoD to a TC from PD2 and see how the NoDrop chance has changed.

Let's look at the TCs called Swarm 2 (H), a worst case scenario, and Act 2 (H) H2H A, a common case used by many monsters. In these examples, the first number is the amount of players in the game and the second number is the amount of players in the party. So p3/2 means 3 players in the game but only 2 in your party. If you used the /players 8 command in single player that would be equivalent to p8/1.


Chance for NoDrop to be selected by the "pick" (i.e. the chance that no item drops):

Treasure Class LoD PD2
Swarm 2 (H)
  • p1/1, p2/1 = 83.33%
  • p2/2, p3/1, p3/2, p4/1 = 69.14%
  • p3/3, p4/2, p4/3, p5/1, p5/2, p6/1 = 57.63%
  • p4/4, p5/3, p5/4, p6/2, p6/3, p7/1, p7/2, p8/1 = 47.92%
  • p5/5, p6/4, p6/5, p7/3, p7/4, p8/2, p8/3 = 39.02%
  • p6/6, p7/5, p7/6, p8/4, p8/5 = 32.43%
  • p7/7, p8/6, p8/7 = 26.47%
  • p8/8 = 21.88%
  • p1/1, p2/1 = 40.85%
  • p2/2, p3/1, p3/2, p4/1 = 16.64%
  • p3/3, p4/2, p4/3, p5/1, p5/2, p6/1 = 6.68%
  • p4/4, p5/3, p5/4, p6/2, p6/3, p7/1, p7/2, p8/1 = 2.75%
  • p5/5, p6/4, p6/5, p7/3, p7/4, p8/2, p8/3 = 0.99%
  • p6/6, p7/5, p7/6, p8/4, p8/5 = 0.33%
  • p7/7, p8/6, p8/7 = 0.17%
  • p8/8 = 0%
Act 2 (H) H2H A
  • p1/1, p2/1 = 62.50%
  • p2/2, p3/1, p3/2, p4/1 = 38.78%
  • p3/3, p4/2, p4/3, p5/1, p5/2, p6/1 = 24.05%
  • p4/4, p5/3, p5/4, p6/2, p6/3, p7/1, p7/2, p8/1 = 14.29%
  • p5/5, p6/4, p6/5, p7/3, p7/4, p8/2, p8/3 = 9.09%
  • p6/6, p7/5, p7/6, p8/4, p8/5 = 4.76%
  • p7/7, p8/6, p8/7 = 3.23%
  • p8/8 = 1.64%
  • p1/1, p2/1 = 9.52%
  • p2/2, p3/1, p3/2, p4/1 = 0.88%
  • p3/3, p4/2, p4/3, p5/1, p5/2, p6/1 = 0%
  • p4/4, p5/3, p5/4, p6/2, p6/3, p7/1, p7/2, p8/1 = 0%
  • p5/5, p6/4, p6/5, p7/3, p7/4, p8/2, p8/3 = 0%
  • p6/6, p7/5, p7/6, p8/4, p8/5 = 0%
  • p7/7, p8/6, p8/7 = 0%
  • p8/8 = 0%

Key drop rates

Players 1 2 3 4 5 6 7 8
Blood Raven 12.127% 12.161% 12.161% 12.161% 12.161% 12.161% 12.161% 12.161%
Countess 7.350% 6.274% 5.906% 5.906% 5.906% 5.906% 5.906% 5.906%
Bloodwitch 12.127% 12.161% 12.161% 12.161% 12.161% 12.161% 12.161% 12.161%
Summoner 13.541% 13.595% 13.595% 13.595% 13.595% 13.595% 13.595% 13.595%
Izual 12.127% 12.161% 12.161% 12.161% 12.161% 12.161% 12.161% 12.161%
Nihlathak 12.618% 12.645% 12.645% 12.645% 12.645% 12.645% 12.645% 12.645%
Countess (LoD) 7.353% 9.434% 10.000% 10.204% 10.204% 10.204% 10.204% 10.204%
Summoner (LoD) 8.929% 12.195% 13.158% 13.514% 13.514% 13.514% 13.514% 13.514%
Nihlathak (LoD) 8.197% 10.870% 11.628% 11.905% 11.905% 11.905% 11.905% 11.905%

距离 Distance

在 Diablo 2 引擎中,所有距离(例如法术半径、光环范围和近战溅射)都使用基于“tiles”格子的内部坐标系统计算。

不过,游戏内提示和技能说明始终以“yards”码显示这些距离。码与游戏格子的固定换算比例为 2:3。

换句话说,将码数乘以 1.5,就能得到该效果实际覆盖的格子距离。 下表列出了内部游戏格子到码数的标准换算:

格子 Tiles 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
码 Yards 0.66 1.33 2 2.66 3.33 4 4.66 5.33 6 6.66 7.33 8 8.66 9.33 10 10.66 11.33 12 12.66 13.33 14 14.66 15.33 16 16.66 17.33 18 18.66 19.33 20

如需查看可视化说明,请参见 Amazon Basin 的 Radius 页面。

Movement Speed

For more information on Movement Speed, see: Faster Run/Walk Thresholds