Difference between revisions of "Ilvl calculations"

From The Ghar Station Wiki
Jump to: navigation, search
(Basic Calculations)
 
Line 4: Line 4:
 
The main equation for deriving stats from all inputs is as follows (where any number following ^ is an exponent):
 
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.5555555)</code>
+
<code>stat = (ilvl/statParam) * ((affixMod * slotMod) ^ (5/9))</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.5555555)</code>
+
<code>ilvl = statParam * stat / ((affixMod * slotMod) ^ (5/9))</code>
  
 
Affixmod can be calculated with the following equation:
 
Affixmod can be calculated with the following equation:
  
<code>affixmod = (statparam * stat / ilvl) ^ 1.8 / slotmod</code>
+
<code>affixmod = (statparam * stat / ilvl) ^ (9/5) / slotmod</code>
  
 
== slotMod Table ==
 
== slotMod Table ==

Latest revision as of 06:21, 3 September 2018

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) ^ (5/9))

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) ^ (5/9))

Affixmod can be calculated with the following equation:

affixmod = (statparam * stat / ilvl) ^ (9/5) / slotmod

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