- Mar 13, 2019
- 1,188
- 1,308
- 93
Okay, I tried to verify ATMAs chance for a Stormspire from Snipsnap in 1.08 and no matter how I do it I don't get the same chance for 1000 MF.
First off I calculated the chance to get an Archon Staff at all (caution: very depressing numbers ahead). Snipsnap drops from "Act 5 (H) Unique C" which drops 4 potions and one item from "Act 5 Uitem C". This item in turn comes from "Act 5 (H) Equip C" with a chance of 58/62. (4/62 chance for "Good" TC)
Now "Act 5 (H) Equip C" has total weight 4616 and within it weap90 has weight 2. There is no weap90 reference in the equip TC that are called by this TC so the chance for weap90 is 2/4616. Now weap90 contains these items:
with a total rarity of 18 and hence if weap90 is selected the chance to get an Archon Staff is 1/18.
Multiplying all these chances together we get roughly a 1 in 44409 chance to get an Archon Staff from Snipsnap per kill. ATMA outputs the same number for a white Archon Staff so everything is fine so far.
***
Now on to the quality selection, here I tried 4 different approaches. The general approach should be as follows:
For that I quote @TheJarulf from the PK:
So let's do steps 1-3) first:
1) We have rarity = 800, div = 6, qlvl = 89 and mlvl = 93 so that Chance = 800.
2) Chance = 128*800.
3) Chance = 128*800-[128*800*800/1024] = 128*800-[800*100*(128*8/1024)] = 128*800-[800*100] = 28*800
So Chance = 22400 after step 3. If we don't have any MF this is the final chance in all variants 4a) through 4d). To get the final chance we divide 128 by that number and multiply it with the chance to get an Archon Staff. We get a chance of 1 in 7771593 at 0 MF which again is consistent with ATMA, so far everything syncs up.
But now:
However with the four different versions of the algorithm I get:
So ATMA doesn't implement the 1.09, the 1.07 or the 1.08 Realms way of calculating quality chances. But it also doesn't implement the 1.08 offline formula.
I hope I made a mistake somewhere, can somebody check the numbers? Looking at @m4ke specifically
First off I calculated the chance to get an Archon Staff at all (caution: very depressing numbers ahead). Snipsnap drops from "Act 5 (H) Unique C" which drops 4 potions and one item from "Act 5 Uitem C". This item in turn comes from "Act 5 (H) Equip C" with a chance of 58/62. (4/62 chance for "Good" TC)
Now "Act 5 (H) Equip C" has total weight 4616 and within it weap90 has weight 2. There is no weap90 reference in the equip TC that are called by this TC so the chance for weap90 is 2/4616. Now weap90 contains these items:
name | level | TC rarity |
Glorious Axe | 88 | 3 |
Caduceus | 88 | 1 |
Mythical Sword | 88 | 3 |
Legend Spike | 88 | 3 |
War Pike | 89 | 3 |
Giant Thresher | 89 | 3 |
Archon Staff | 89 | 1 |
Dimensional Shard | 89 | 1 |
Multiplying all these chances together we get roughly a 1 in 44409 chance to get an Archon Staff from Snipsnap per kill. ATMA outputs the same number for a white Archon Staff so everything is fine so far.
***
Now on to the quality selection, here I tried 4 different approaches. The general approach should be as follows:
- 1) Chance = Rarity - [(mlvl-qlvl)/Divisor]
- 2) Chance = 128*Chance
- 3) Chance = Chance - [Chance*QualityFactor/1024]
- 4a) Chance = Chance-MF
- 4b) Chance = Chance-X*MF; X is 1 for Normal, 4 for NM and 9 for Hell.
- 4c) Chance = [Chance/(1+EMF/100)] where for uniques EMF = [250*MF/(250+MF)] for MF at least 11, else for uniques EMF = MF.
- 4d) Chance = [Chance*100/(100+X*MF)] where X = 1/5 for uniques.
For that I quote @TheJarulf from the PK:
The essential part comes close to the end. First off he describes 4d) and then in the last paragraph he says that in "open" (i.e. SP) it doesn't apply. He claims that the game simply subtracts the MF value which we know is wrong for 1.07 but in 1.08 should be the way it works offline.Next, how does Magic Find (MF) works? Well, first, lets recap how the base chance for item quality (that is unique, rare and such) works. For this, we uses the itemratio.txt file. We will always use the version 1 line. I am not sure if it uses the uber/class specific lines though, could be, but have not checked. It then calculate the base chance as follow:
Chance: Value - (mlvl-qlvl)/divisor
The value and divisor values are found in the itemratio.txt file.
This is the base chance. That is, there is a 1 in Chance probability of the game picking that quality. As before it starts with unique, then rare, set, magic, superior and normal (and if nothing picked so far, it is a low quality item). Please remember what I said about minimum magic quality above when we looked at item types, if the picked quality was lower, it will be pushed up to magic (or downgraded to normal if applicable).
Now, the above calculated value is the Base chance, it is modified as:
(Chance*128) - Chance*128*cx/1024
This is the modified chance (ModChance), where cx is the value for unique I mentioned above (unique column or cu value, whatever was the highest for checking for unique and so on). This is only done for unique, rare, set and magic check.
To calculate the final chance (FinalChance), we then do:
ModChance * 100/(100 + MF*X)
Where MF is your own Magic Find number (and if it is a minion making the kill, the sum of the minions MF and your own MF) and X is a modifier as follow:
Unique: 1/5 Rare: 1/3 Set: 1/3 Magic: 1
Thus the MF is only one fifth for unique items and one third for set and rare items. It has full effect for magic check. This step is again not performed for superior and normal check for obvious reasons.
Note that in 1.08 open (and 1.07) the above does NOT apply. There, the game simply subtracted the MF value. As the Chance is multiplied by 128 earlier (for extra precision), MF was basically useless. This has been fixed server side and will be added with the 1.09 patch. The lower effectiveness for unique, set and rare should also be implemented with the 1.09 patch. I have no idea if it is implemented on the servers though (or if it will be tweaked more).
So let's do steps 1-3) first:
1) We have rarity = 800, div = 6, qlvl = 89 and mlvl = 93 so that Chance = 800.
2) Chance = 128*800.
3) Chance = 128*800-[128*800*800/1024] = 128*800-[800*100*(128*8/1024)] = 128*800-[800*100] = 28*800
So Chance = 22400 after step 3. If we don't have any MF this is the final chance in all variants 4a) through 4d). To get the final chance we divide 128 by that number and multiply it with the chance to get an Archon Staff. We get a chance of 1 in 7771593 at 0 MF which again is consistent with ATMA, so far everything syncs up.
But now:
However with the four different versions of the algorithm I get:
- 4a) 1 in 7424646 (1.08 SP)
- 4b) 1 in 4649078 (1.07 SP)
- 4c) 1 in 2590299 (1.09 SP)
- 4d) 1 in 2590531 (1.08 Realms?)
So ATMA doesn't implement the 1.09, the 1.07 or the 1.08 Realms way of calculating quality chances. But it also doesn't implement the 1.08 offline formula.
I hope I made a mistake somewhere, can somebody check the numbers? Looking at @m4ke specifically