Latest Diablo 3 News
Support the site! Become a Diablo: IncGamers PAL - Remove ads and more!

Discussion in 'Theorycrafting and Statistics' started by Warmongers, Nov 1, 2006.

1. ### WarmongersIncGamers Member

Joined:
Oct 7, 2006
Messages:
58
0
Trophy Points:
26

This is the formula for how an affix level is selected in 1.11, I think.

If (ilvl>99) then {ilvl=99}
if (qlvl>ilvl) then {ilvl=qlvl} ;** see note below
if (magic_lvl>0) then {alvl=ilvl+magic_lvl}
else
{
if (ilvl<(99-qlvl/2))
then {alvl=ilvl-qlvl/2}
else {alvl=2*ilvl-99}
}
If (alvl>99) then {alvl=99}

If this is true, then would the following example also be true?

Affix level of "The giant, +10-15 strength" (alvl 59)

Hell baal drops a magical colossus blade, which is always ilvl 99 since that is his mlvl. (the next part I might be wrong about, since it says ilvl"<(99"-qlvl/2))

So, if alvl=ilvl-qlvl/2 means affix level equals the item level minus half of the quality level, then the effective affix level of the colossus blade would be 57 (99-42=57), which means that the giant mod is impossible on any weapon in the game, since ilvl 99 is the highest? Or, does this formula only apply if the item level is 99 or above?

I probably missed something, since I've seen plenty of 300%ED+ rares with at least one cruel or master's mod on it drop from creatures far below mlvl=80.

The part where if (magic_lvl>0) then {alvl=ilvl+magic_lvl} - does magic_lvl>0 mean anything that is magical/rare/unique/set, so therefore magic_lvl1 would be magical? If so, assuming magic_lvl2 is rare, would this be the correct way that an affix spawns, both on monster drops and in cube recipes?

I put a rare fanged knife (qlvl 85 in 1.10) found from an mlvl 85 monster (so ilvl=85) with 6 PSkulls into the horadric cube and hit transmute, so the affix levels possible would be equal to 85+2, regardless of the base items' quality level?

My last question is, have the qlvls from this link: http://www.diabloii.net/items/110tc.shtml changed any in 1.11b, or are they still identical to 1.10 qlvls?

Thanks

Joined:
Aug 17, 2003
Messages:
30,026
1,002
Trophy Points:
416
The "if (ilvl<(99-qlvl/2))" condition is not given, so the "else" case is performed, resulting in alvl=2*ilvl-99=99 and not alvl=ilvl-qlvl/2.

3. ### WarmongersIncGamers Member

Joined:
Oct 7, 2006
Messages:
58
0
Trophy Points:
26
I'm still a bit confused as to these two equations - when is the "if (ilvl<(99-qlvl/2))" condition used to determine the affix level, and when would the game instead choose to use alvl=2*ilvl-99? I don't know exactly what the first or second equations mean either - I guess the first means If the items' ilvl is less than 99 then its' alvl is equal to the item level minus half its' quality level? Also, does alvl=2*ilvl-99 translate into affix level equals two times the item level minus 99, so therefore an ilvl 99 item (when its' alvl is being determined using this formula) has alvl=99 because 2*ilvl-99=99 for it?

I'm wondering when the game would use the first equation or the second equation to determine the alvl of an item, since using the first one would cause the item to fall short of some alvl mods, Also if there is a mistake in my interpretion of the formulas, please let me know (I haven't done any math in years) :smiley:

4. ### ToThePointIncGamers Member

Joined:
Jun 22, 2003
Messages:
1,313
0
Trophy Points:
105
not sure exactly what you are asking but for the colossus blade from baal
ilvl at start=99 qlvl = 85 of giant = 59

If (ilvl>99) then {ilvl=99} (its not more than so does nothing)
if (qlvl>ilvl) then {ilvl=qlvl} (85 isn't more than 99 so does nothing)
if (magic_lvl>0) then {alvl=ilvl+magic_lvl} (magic level is for circlets etc i think so does nothing in this case)
else (do this bit instead cos magic level stuff isn't more than zero cos not a circlet type)
{
if (ilvl<(99-qlvl/2)) 99-qlvl/2 is 99-42.5 rounded is 57
then {alvl=ilvl-qlvl/2} ilvl99 isn't less than 56.5 so dont do this part
else {alvl=2*ilvl-99} instead do this so alvl = 2*99-99 = 99 = can choose any lvl of affix on a colossus blade from baal
}
If (alvl>99) then {alvl=99} (this part follows from the circlet part so that if the magic level took the alvl above 99 it would drop back to 99)

the game uses the formulae depending on the exact conditions at the time - if it wasn't a colossus blade from baal but instead a dagger from nm meph it would use qlvl= 3 and ilvl = 75 (iirc)
so
If (ilvl>99) then {ilvl=99} (its not more than so does nothing)
if (qlvl>ilvl) then {ilvl=qlvl} (3 isn't more than 75 so does nothing)
if (magic_lvl>0) then {alvl=ilvl+magic_lvl} (magic level is for circlets etc i think so does nothing in this case)
else (do this bit below instead cos magic level stuff isn't more than zero cos not a circlet type)
{
if (ilvl<(99-qlvl/2)) 99-qlvl/2 is 1.5 rounded down to 1 is 98
then {alvl=ilvl-qlvl/2} ilvl75 IS less than 98 so alvl = 75-1.5 rounded to 1 is 74
else {alvl=2*ilvl-99} it did satify the condition so dont do this part
}
If (alvl>99) then {alvl=99}
this time the alvl was changed with the other condition
im not sure if its maths or programming that in making it hard

basic form is
if conditionsatisfied
do action1
else
do action2
if condition is satisfied then action 1 is done then that part is finished and action 2 skipped
if condition isn't satisfied then action1 skipped and action 2 done instead then its done
the {} show the parts that are joined

dunno if this is what is being asked or not but its a free post!

edit : for fanged the ilvl changes at some point so it can have an extra step (other thing i wrote isn't right i dont think)

hopefully this is right as a bit rushed

5. ### WarmongersIncGamers Member

Joined:
Oct 7, 2006
Messages:
58
0
Trophy Points:
26

6. ### ToThePointIncGamers Member

Joined:
Jun 22, 2003
Messages:
1,313
0
Trophy Points:
105
no probs hopefully its right too

edit: other thing i wrote was right so from arreat summit for that rare cube recipe
ilvl = [0.4ilvl]+[0.4cvl] [] = round down
assuming lvl 90 cuber and ilvl 85 drop get ilvl= 36+34= 70

so when it hits the 2nd step
if (qlvl>ilvl) then {ilvl=qlvl} so ilvl 70 is replaced with new value of ilvl 83
..
..
if (ilvl<(99-qlvl/2)) 83 isn't less than 58 so
then {alvl=ilvl-qlvl/2} <- skip
else {alvl=2*ilvl-99} <-- instead do this, so alvl then becomes 2*83-99 = 67

7. ### WarmongersIncGamers Member

Joined:
Oct 7, 2006
Messages:
58
0
Trophy Points:
26
Ok, cool. Does this mean that if I have already rolled it once and it becomes ilvl 67, when I roll it again it automatically becomes the equivalent of ilvl 83 again for the actual point where the affix level is selected, regardless of the ilvl of the initial find or the subsequent rolls? I think that's what I made of it, which means it really doesn't matter what ilvl the initial item is, it will always be able to get good affixes if the qlvl is high enough to negate the ilvl?

8. ### ToThePointIncGamers Member

Joined:
Jun 22, 2003
Messages:
1,313
0
Trophy Points:
105
yeah as long as qlvl is high the ilvl will always be reset to this high figure in the alvl selections.
so in this case ilvl doesn't matter