Skip to content

Game constants

Every balance number the rules use, straight from data/constants.tsv.

Constant Value Meaning
logic_fps 25 D2 logic tick: durations, animations and breakpoints are expressed in these frames
armor_constant 20 Physical mitigation = def / (def + armor_constant * attacker_level)
armor_mitigation_cap 75 Max % of physical damage armor can remove
physical_res_cap_player 50 Max physical_res for players (D2 damage reduction cap)
resist_cap 75 Base maximum elemental resistance
resist_floor -100 Lowest possible resistance
monster_resist_cap 95 Monsters without an immunity mod never resist more than this (immunities only come from elite immunity mods)
immunity_threshold 100 Resistance at or above this is immunity (pierce does not apply unless sundered)
sunder_resist 95 Resistance an immunity drops to when sundered
block_cap 75 Max block chance %
deadly_strike_multiplier 2 Physical damage multiplier on a deadly strike
crushing_blow_monster 25 % of current life removed by crushing blow vs normal monsters
crushing_blow_boss 12.5 % of current life removed by crushing blow vs champions/uniques/bosses
crushing_blow_player 10 % of current life removed by crushing blow vs players
open_wounds_damage_per_level 2 Bleed damage per second per attacker level
open_wounds_seconds 8 Bleed duration
chill_seconds_per_cold_damage 0.2 Chill duration per point of cold damage dealt
chill_min_seconds 1
chill_max_seconds 6
daze_seconds 2 Daze: how long it waits for the monster's turn (it ends with the lost turn)
slow_cap 50 Most a fighter's actions can be slowed, all slows together (%)
blind_seconds 3 Blind: how long a blinded monster stays blind
blind_miss_chance 33 Blind: % chance a blinded monster's weapon attack misses
melee_strength_bonus 1 % physical damage per strength point (melee and missile weapons)
dexterity_per_defense 4 Dexterity points per point of defense
default_poison_seconds 3 Poison duration when the attacker has no poison_length stat
monster_life_growth 1.10 Monster life multiplier per level above the monster's base level (dungeon level scaling)
monster_life_growth_knee 40 Monster level up to which monster_life_growth applies (Normal tops out here)
monster_life_growth_late 1.04 Monster life multiplier per level above the knee (Nightmare and Hell): slower, so fights stay a few turns long
monster_damage_growth 1.06 Monster damage multiplier per level above its base level
monster_damage_growth_late 1.03 Monster damage multiplier per level above monster_life_growth_knee (Nightmare and Hell)
monster_defense_growth 1.08 Monster defense multiplier per level above its base level
monster_xp_growth 1.12 Monster experience multiplier per level above its base level
experience_curve_base 40 Experience to reach level L: base x (L - 1)^exponent
experience_curve_exponent 3.34 Experience to reach level L: base x (L - 1)^exponent
champion_group_min 2 Fewest champions in a champion group
champion_group_max 3 Most champions in a champion group
elite_minions_min 1 Fewest minions with an elite
elite_minions_max 2 Most minions with an elite (never more than 4 monsters in all)
elite_packs_from_floor 4 Dungeons: common fight rooms roll champion and elite packs from this floor on (the first floors teach)
early_group_max 2 Dungeons: most monsters in a common group before elite_packs_from_floor
early_group_min 1 Normal dungeons: fewest monsters in a common group before elite_packs_from_floor (bounded by dungeon group and early maximum)
floor_boss_elite_from_floor 6 Floors before this end (without a named boss) with a champion; from it on, with an elite
floor_boss_minions_max 0 Most minions with the elite that ends a floor without a named boss
champion_level_bonus 1 Champions spawn this many levels above the current dungeon monster level
elite_level_bonus 2 Elites (and their minions) spawn this many levels above the current dungeon monster level
normal_life_multiplier 1 Common monster life (1 = as monsters.tsv and its level give it)
unique_life_multiplier 1 Named and floor-boss (unique rank) life multiplier on top of their own data
normal_damage_bonus 15 % damage (attacks and skills) common monsters deal on top of their data: how much an ordinary fight costs
champion_damage_bonus -20 % damage champions deal on top of their data (their mods add more)
elite_damage_bonus -30 % damage elites and their minions deal on top of their data (their mods add more)
unique_damage_bonus -20 % damage named and floor bosses deal on top of their data
boss_damage_vs_summons_percent 150 % more damage bosses deal to summons (+150%, like D2)
champion_life_multiplier 1.6 Champion life vs. a common monster of the same level
elite_life_multiplier 2 Elite life vs. a common monster of the same level
champion_xp_multiplier 3 Experience multiplier for champions
elite_xp_multiplier 5 Experience multiplier for elites
champion_mods 1 Mods rolled by champions
elite_mods_min 2 Fewest mods an elite rolls
elite_mods_max 3 Most mods an elite rolls
static_field_floor 50 Static Field can't take a target below this % of its max life
autoheal_cap 8 Highest Autoheal (% of max life healed at the end of each own turn)
haste_cap 50 Highest Haste chance (% per turn to shorten a cooldown by one)
skill_damage_per_energy 0.5 % more elemental skill damage per point of Energy
turn_creature_skill_cooldown 1 Turn-based: turns a monster or summon waits before reusing a non-basic skill
battle_attrition_turn 40 Turn-based: after this many hero turns every fighter starts losing life each turn (no battle lasts forever)
battle_attrition_percent 2 Turn-based: % of max life lost per turn, times the hero turns past battle_attrition_turn
flee_turns 5 Turn-based: hero turns spent fleeing before escaping a battle (Buriedbornes)
flee_base_chance 25 Turn-based: base chance % to escape a battle per attempt
room_sight 1 Dungeons: how many rooms ahead you see (1 = the two rooms you can enter next)
broken_boss_every 5 Broken Avalon (past the story): a named boss returns every this many floors, at random; the final boss on every multiple of the story's length
dungeon_level_max 99 Dungeons: highest monster level, however deep the floor
room_heal_percent 8 Dungeons: % of max life healed whenever the hero walks into a room (Buriedbornes "Rest"); the rest stat adds to it
summon_rest_share 100 Persistent summons: % of the hero's room heal they get when it walks into a room
summon_carry_life_cap 100 Persistent summons: highest % of max life a summon keeps into the next battle
rest_room_heal_percent 50 Dungeons: % of max life a rest room heals
floor_step_limit 16 Dungeons: rooms on one floor before experience starts dropping (Buriedbornes: no grinding a floor)
floor_step_penalty 5 Dungeons: % less experience per room beyond floor_step_limit
floor_step_penalty_min 10 Dungeons: experience never drops below this % from lingering on a floor
reward_options 3 Rewards: most items offered at once after a fight, corpse or container; you keep one
reroll_gold_cost 100 Rewards: account gold for the second reroll of an offer (the first is free)
reroll_gold_cost_per_level 15 Rewards: extra gold the reroll's base cost adds per hero level above 1, like the merchant's gamble
reroll_cost_growth 2 Rewards: each further reroll of the same offer costs this many times the previous one
skill_points_per_level 1 Skill points every level brings (they raise skills already in the grimoire; new skills come from bosses and events)
reward_skill_chance 0 Rewards: % an ordinary fight's offer holds one skill (bosses and some events offer reward_skill_choices instead)
reward_skill_choices 3 Rewards: skills a boss (floor or named) or a skill event offers to choose one from, apart from the item
reward_junk_gold_percent 25 Rewards: % of its value a plain item that can't help the hero (normal, no sockets, normal tier, slot filled) sells for on the spot
reward_oskill_chance 10 Rewards: % that offered skill belongs to another class (any of theirs within your level)
payout_floor_gold 10 End of run: gold per floor reached, squared (10 x floor x floor)
payout_floor_boss_gold 50 End of run: gold per floor boss beaten
payout_named_boss_gold 250 End of run: gold per named boss beaten (on top of its floor boss gold)
merchant_item_price_percent 100 Merchant: % of the D2 price (buying, recharging) paid in account gold
merchant_gamble_price_percent 100 Merchant: % of the D2 gamble price paid in account gold
merchant_hire_price_percent 20 Merchant: % of the D2 mercenary hire cost paid in account gold
merchant_sell_price_percent 25 Merchant: % of an item's value paid in account gold when the hero sells it (low, so selling never beats killing)
quest_event_chance 25 % an event room is a quest meeting while a quest waits for one in that dungeon and floor
recipe_page_chance 50 Merlin's Notes: % chance a named boss teaches the account a recipe group it doesn't know
stash_size 60 Shared stash: items it holds (any hero sends them home; new heroes take them along)
stash_tab_size 20 Extra stash room bought per tab (premium, gems)
stash_tab_gem_cost 40 Gems for one more stash tab
stash_tab_max 4 Stash tabs an account can buy (beyond the free stash_size)
fallen_max 20 Fallen heroes the account keeps to roam the dungeons (the oldest leave first)
avoid_cap 75 Max % for dodge, avoid and evade
crowd_guard_radius 50 Radius (px) that counts nearby enemies for physical_res_per_nearby_enemy
crowd_guard_cap 30 Max physical resistance from nearby enemies
socket_chance_normal 15 % chance a normal (white) item drops with sockets
socket_chance_magic 10 % chance a magic item drops with sockets
magic_max_sockets 2 Most sockets a magic item can drop with
superior_chance 8 % chance a white weapon or armor is Superior
superior_min_bonus 5 Lowest enhanced damage/defense % a Superior item rolls
superior_max_bonus 15 Highest enhanced damage/defense % a Superior item rolls
low_quality_chance 10 % chance a non-Superior white weapon or armor is Low Quality
low_quality_penalty 25 % less base damage/defense on Low Quality items
corruption_success_chance 75 % chance a Excalibur Shard adds a corruption; otherwise the item is bricked
excalibur_shard_odds 462 1 in N chance a champion/elite/boss/superunique kill drops an Excalibur Shard
staffmod_weight_0 50 Relative weight of a class item or staff/wand rolling no staffmods
staffmod_weight_1 30 ... one +skill staffmod
staffmod_weight_2 15 ... two staffmods
staffmod_weight_3 5 ... three staffmods (the chase base)
staffmod_max_value 3 Staffmods roll +1 to this many levels to one class skill
price_base 10 Gold value of any equipment base before its quality level
price_per_qlvl 6 Gold added per quality level of the base
price_per_qlvl_squared 0.5 Gold added per quality level squared (elite bases cost much more)
price_mult_normal 100 % price multiplier of white items
price_mult_magic 200 % price multiplier of magic items
price_mult_rare 300 % price multiplier of rare items
price_mult_set 400 % price multiplier of set items
price_mult_unique 500 % price multiplier of unique items
price_mult_crafted 300 % price multiplier of crafted items
price_per_affix_level 4 Gold added per level of each affix the item has
price_per_socket 50 Gold added per socket
price_superior_percent 125 % price of Superior items
price_low_quality_percent 50 % price of Low Quality items
vendor_ilvl_bonus 5 Vendor items: item level = character level + this
vendor_ilvl_cap_normal 35 Highest vendor item level in Normal
vendor_ilvl_cap_nightmare 65 Highest vendor item level in Nightmare
vendor_ilvl_cap_hell 90 Highest vendor item level in Hell
gamble_price_base 50 Gamble price at level 0
gamble_price_per_level 20 Gamble price added per character level
gamble_price_per_level_squared 8 Gamble price added per character level squared
gamble_extra_percent 20 % extra gamble price for all items
gamble_jewelry_percent 200 % extra gamble price of rings and amulets
gamble_price_cap 65000 Maximum gamble gold price
gamble_ilvl_min_offset -5 Gambled item level: character level plus a random offset from this...
gamble_ilvl_max_offset 4 ... to this
gamble_unique_chance 50 Chance per 100000 that a gambled item is unique (becomes rare if the base has none)
gamble_set_chance 100 Chance per 100000 that a gambled item is a set piece (becomes magic if the base has none)
gamble_rare_chance 10000 Chance per 100000 that a gambled item is rare
gamble_normal_chance 25000 Chance per 100000 that a gambled item is normal (common); the rest are magic
gamble_exceptional_level 25 From this character level, a gamble may upgrade to the exceptional base
gamble_elite_level 55 From this character level, a gamble may upgrade to the elite base
gamble_upgrade_chance 10 % chance of each tier upgrade once its level is reached
resist_penalty_normal 0 Added to every player resistance in Normal
resist_penalty_nightmare -40 Added to every player resistance in Nightmare
resist_penalty_hell -100 Added to every player resistance in Hell
monster_life_regen_normal 0 % of max life per second monsters recover in Normal, in and out of combat (summons excluded)
monster_life_regen_nightmare 0 Same, in Nightmare
monster_life_regen_hell 0.5 Same, in Hell. Prevent Monster Heal stops it for the monster it hits
recharge_cost_per_charge_level 10 Gold to refill one spent charge, per level of the charged skill
merc_hire_cost_base 150 Gold to hire a level 0 mercenary
merc_hire_cost_per_level 20 Hire cost added per mercenary level
merc_hire_cost_per_level_squared 3 Hire cost added per mercenary level squared
merc_experience_percent 50 % of the character's kill experience the mercenary also gains (never above the character's level)
merc_candidates_level_spread 3 Mercenaries for hire are up to this many levels below the character
superunique_level_bonus 3 Superuniques spawn this many levels above the dungeon floor level or reference benchmark level
superunique_life_multiplier 5 Superunique life vs. a common monster of the same level
superunique_xp_multiplier 8 Experience multiplier for superuniques
superunique_room_chance 5 % chance a common fight room rolls a superunique encounter
uber_arthur_rank_max 10 Highest permanent rank the account's Uber Arthur bonus can reach
superunique_explore_chance 15 % chance a fight room rolls a superunique when exploring past the floor boss
superunique_min_floor 6 Earliest dungeon floor where superuniques can appear
superunique_gem_chance 50 % chance a defeated superunique drops bonus account gems
superunique_min_gems 1 Minimum gems dropped by a superunique when gem drop succeeds
superunique_max_gems 5 Maximum gems dropped by a superunique when gem drop succeeds
dominance_window 15 Battles in the rolling window used to detect an overperforming ("dominant") hero
dominance_flawless_threshold 85 % of the dominance window that must be won with zero life lost to qualify as dominant
dominance_fast_turns 2 Hero turns or fewer in a won battle counts as "fast" for dominance
dominance_fast_threshold 60 % of the dominance window that must be "fast" wins to qualify as dominant
dominance_superunique_multiplier 2.5 Superunique encounter chance multiplier while dominant on the frontier floor
dominance_floor_shortcut 2 Extra rooms skipped per floor while dominant on the frontier floor
pvp_damage_percent 35 % of damage dealt between players (D2 PvP penalty), so duels last more than one hit
blood_price_floor 3 Black Knight: lowest blood price, % of max life per cooldown turn skipped (Price of Blood can't go under it)
blood_price_ai_reserve 50 Bots and snapshots pay a blood price only if they keep more than this % of max life
extra_action_speed_ratio 2 Turn rounds: a fighter at least this many times faster than the fastest foe acts a second time each round
fhr_max_extra_turns_per_round 1 Turn rounds: maximum extra turns a fighter can gain via Faster Hit Recovery per round
fbr_attack_speed_bonus 20 Turn rounds: % increased attack speed gained when Faster Block Rate triggers
run_history_limit 50 Completed runs retained in the account, newest first; separate from fallen heroes
ui_feedback_step_ms 150 Combat feedback: preferred milliseconds between visual events
ui_feedback_budget_ms 1800 Combat feedback: maximum presentation time per resolved action, before the next render frame
ui_feedback_event_limit 128 Combat feedback: maximum visual snapshots per action; full resolution and battle log are independent
ui_feedback_trail_ms 170 Life bars: milliseconds for the damage trail to catch the current life
ui_feedback_float_limit 24 Combat feedback: maximum floating labels scheduled per action
reward_reveal_ms 650 Rare/set/unique/rune reward reveal (fade, scale pop); controls remain active throughout
reward_valuable_rune_level 45 Minimum rune base level for the important-find presentation
staffmod_early_level 12 Maximum item level for the early staffmod frequency profile
staffmod_early_weight_0 25 Early class items/staves/wands: relative weight of no staffmods
staffmod_early_weight_1 45 Early class items/staves/wands: relative weight of one staffmod
staffmod_early_weight_2 25 Early class items/staves/wands: relative weight of two staffmods
staffmod_early_weight_3 5 Early class items/staves/wands: relative weight of three staffmods; chase chance unchanged
potion_storage_max 10 Maximum stored account potions, with one reserved slot during brewing
potion_25_seconds 300 Real elapsed seconds to brew a 25 percent healing potion
potion_50_seconds 900 Real elapsed seconds to brew a 50 percent healing potion
potion_75_seconds 1800 Real elapsed seconds to brew a 75 percent healing potion
potion_25_gem_cost 1 Instant finish price for the 25 percent potion
potion_50_gem_cost 2 Instant finish price for the 50 percent potion
potion_75_gem_cost 3 Instant finish price for the 75 percent potion
floor_boss_min_common_life_ratio 2.5 Floor boss leader minimum life versus the maximum normal monster life in current and preceding regions
reroll_gem_cost 5 Fixed premium cost after the shared free reroll
gem_entry_amount 50 Gem pack amount credited after Google Play confirms the consumable purchase
gem_pack_200_amount 200 Gems credited for a confirmed gem_pack_200 purchase
gem_pack_500_amount 500 Gems credited for a confirmed gem_pack_500 purchase
gem_entry_first_bonus 50 One-time first-purchase bonus; granted after the gem checkpoint is verified in cloud storage
gem_entry_reference_usd_cents 99 Design reference only; the Android store displays the localized Google Play price
premium_bundle_reference_usd_cents 999 Design reference only; the Android store displays the localized Google Play price
bonus_xp_percent 20 Rewarded ad / premium bonus: +20% experience gained in combat
bonus_gold_percent 20 Rewarded ad / premium bonus: +20% gold from combat drops and junk sales
bonus_mf_flat 20 Rewarded ad / premium bonus: +20 flat Magic Find in combat reward rolls
bonus_ad_fights 10 Number of eligible fights granted per rewarded ad watch
potion_25_gold_cost 70 Instant finish base gold price for the 25 percent potion
potion_50_gold_cost 140 Instant finish base gold price for the 50 percent potion
potion_75_gold_cost 280 Instant finish base gold price for the 75 percent potion
attribute_points_per_level 5 Free attribute points earned for each gained character level
hero_life_growth_percent 50 Percent of class life_per_level retained with freely allocated Vitality
dexterity_speed_per_point 0.25 Attack speed and FCR percent per Dexterity point
dexterity_dodge_per_point 0.1 Dodge, avoid and evade percent per Dexterity point
dexterity_dodge_cap 20 Maximum dodge contribution from Dexterity; existing total avoidance cap still applies
fcr_skip_per_breakpoint 10 Chance (%) to omit a normal cast cooldown per reached positive FCR breakpoint
fcr_skip_cap 100 Probability ceiling (%); every current positive FCR breakpoint adds its full benefit
splash_max_targets 2 Maximum secondary enemies per physical melee Splash hit
splash_radius 36 Splash neighbor radius in frame fixtures; turn combat uses the current enemy group

Statuses

Status Kind Effect Immunity stat Shortened by
Frozen Debuff Stunned cannot_be_frozen -
Chilled Debuff Slowed by 50% cannot_be_frozen -
Poisoned Debuff - - poison_length_reduction
Bleeding Debuff - - -
Blinded Debuff Blinded - -
Dazed Debuff Stunned - -
Slowed Debuff - - -
Stunned Debuff Stunned - -