Difference between revisions of "Ilvl calculations"
Line 2: | Line 2: | ||
These basic calculations are utilized to derive the final stats on all items within Rift. Even items that don't have a suffix or prefix modifier have some hidden affixMod values associated with them to help determine the final stats on the item. | These basic calculations are utilized to derive the final stats on all items within Rift. Even items that don't have a suffix or prefix modifier have some hidden affixMod values associated with them to help determine the final stats on the item. | ||
− | The main equation for deriving stats from all inputs is as follows: | + | The main equation for deriving stats from all inputs is as follows (where any number following ^ is an exponent): |
− | <code>stat = (ilvl/statParam) * ((affixMod * slotMod) ^ 0. | + | <code>stat = (ilvl/statParam) * ((affixMod * slotMod) ^ 0.5555555)</code> |
The resulting '''stat'' variable is then rounded up to the nearest whole number if the fractional part is > 0.5, and rounded down if it is not. | The resulting '''stat'' variable is then rounded up to the nearest whole number if the fractional part is > 0.5, and rounded down if it is not. | ||
Line 10: | Line 10: | ||
Conversely, you can derive the ilvl from a given stat if you know the rest of the information using the following equation: | Conversely, you can derive the ilvl from a given stat if you know the rest of the information using the following equation: | ||
− | <code>ilvl = statParam * stat / ((affixMod * slotMod) ^ 0. | + | <code>ilvl = statParam * stat / ((affixMod * slotMod) ^ 0.5555555)</code> |
== slotMod Table == | == slotMod Table == |
Revision as of 16:58, 1 September 2018
Contents
Basic Calculations
These basic calculations are utilized to derive the final stats on all items within Rift. Even items that don't have a suffix or prefix modifier have some hidden affixMod values associated with them to help determine the final stats on the item.
The main equation for deriving stats from all inputs is as follows (where any number following ^ is an exponent):
stat = (ilvl/statParam) * ((affixMod * slotMod) ^ 0.5555555)
The resulting 'stat variable is then rounded up to the nearest whole number if the fractional part is > 0.5, and rounded down if it is not.
Conversely, you can derive the ilvl from a given stat if you know the rest of the information using the following equation:
ilvl = statParam * stat / ((affixMod * slotMod) ^ 0.5555555)
slotMod Table
slotMod is the term given to a value located in telara.db's dataset #232. This parameter modifies the affix modifier for a particular affix based upon the gear slot.
Slot | SlotMod |
---|---|
Helm | 0.8 |
Cape | 0.8 |
Shoulders | 0.8 |
Chest | 1.0 |
Gloves | 0.6 |
Belt | 0.6 |
Legs | 1.0 |
Feet | 0.6 |
Earring | 0.5 |
Neck | 0.7 |
Trinket | 0.5 |
Ring | 0.5 |
Seal | 0.25 |
Foci | 0.2 |
Essence | 0.4 |
1H | 0.8 |
2H | 2.4 |
Shield | 0.8 |
C-Shield | 0.8 |
Ranged | 0.8 |
statParam Table
What we are calling the statParam table is taken from telara.db's dataset #3722. Choose your stat and the expected ilvl range to obtain the statParam used in the above equations.
Stat | 0-50 | 50-90 | 90-1500 | 1500+ |
---|---|---|---|---|
Strength | 2 | 1.75 | 1.75 | 1.25 |
Dexterity | 2 | 1.75 | 1.75 | 1.25 |
Intelligence | 2 | 1.75 | 1.75 | 1.25 |
Wisdom | 2 | 1.75 | 1.75 | 1.25 |
Endurance | 2 | 1.75 | 1.75 | 1.25 |
Attack Power | 2.25 | 2.25 | 2.25 | 2.25 |
Physical Crit | 1.5 | 1.5 | 1 | 1 |
Block | 1 | 1 | 1 | 1 |
Parry | 2 | 2 | 2 | 2 |
Dodge | 2 | 2 | 2 | 2 |
Hit Bonus | 0.75 | |||
Spell Power | 2.25 | 2.25 | 2.25 | 2.25 |
Spell Crit | 1.5 | 1.5 | 1 | 1 |
Focus | 0.75 | |||
Life Resist | 1.4 | 1.4 | 0.92 | 0.92 |
Death Resist | 1.4 | 1.4 | 0.92 | 0.92 |
Fire Resist | 1.4 | 1.4 | 0.92 | 0.92 |
Water Resist | 1.4 | 1.4 | 0.92 | 0.92 |
Earth Resist | 1.4 | 1.4 | 0.92 | 0.92 |
Air Resist | 1.4 | 1.4 | 0.92 | 0.92 |
Mana Regen | 2 | 2 | 2 | 2 |
Mage Mana Regen | 2 | 2 | 2 | 2 |
Valor | ||||
Toughness | ||||
Vengeance | 2.25 | 2.25 | 2.25 | 2.25 |
Deflect | 1 | 1 | 1 | 1 |
Resist All | 8.4 | 8.4 | 5.52 | 5.52 |
Crit Power | 1.35 | 1.35 | 1.35 | 1.35 |
Guard | 2 | 2 | 2 | 2 |
Additional ilvl calculations
There is a large set of data in telara.db's dataset #777. This dataset sets base values for weapon damage, armor rating, resist, and spell power given a specific ilvl. There are 10,000 entries in this table, allowing for a max ilvl of 10,000 right now in Rift (at the time of writing this). To simplify this, below are the ilvl calculations for various stats found in this table. These apply to all weapons and all armor, but not to jewelry, trinkets, or seals.
Resist Gear
if resist <= 60:
ilvl = resist
if resist >= 60:
ilvl = 60 + ((resist*4) - 240) / 2
Weapons
1h
ilvl = (dps / 0.8) - 1
2h
ilvl = (dps / 1.04) - 1
Ranged
ilvl = (dps / 0.984) - 1
1h-spell
ilvl = (dps / 0.64) - 1
2h-spell
ilvl = (dps / 0.832) - 1
Ranged-spell
ilvl = (dps / 1.12) - 1
Armor
acMod is based upon values located in telara.db's dataset #232.
base_armor = ((armor * 100) / acMod)
Slot | acMod |
---|---|
Helm | 16 |
Shoulders | 14 |
Chest | 20 |
Gloves | 10 |
Belt | 10 |
Legs | 18 |
Feet | 12 |
Shield | 100 |
Cloth
if base_armor <= 2485
ilvl = (base_armor + 7) / 28
if base_armor >= 2555
ilvl = 89 + (base_armor - 2485) / 70
Leather
if base_armor <= 3129
ilvl = (base_armor + 14) / 35
if base_armor >= 3206
ilvl = 89 + (base_armor - 3129) / 77
Chain
if base_armor <= 3787
ilvl = (base_armor + 49) / 42
if base_armor >= 3871
ilvl = 89 + (base_armor - 3787) / 84
Plate
if base_armor <= 5670
ilvl = (base_armor - 63) / 63
if base_armor >= 5761
ilvl = 89 + (base_armor - 5670 ) / 91
Shield
if base_armor <= 3240
ilvl = (base_armor - 36) / 36
if base_armor >= 3292
ilvl = 89 + (base_armor - 3240 ) / 52