PDA

View Full Version : Chest TC Selection wrong! Tests included


Hrus
24-04-2009, 22:07
Checking how the highest TC class from chest drops is generated:

Maybe I am interpreting The Item Tutorial wrong, but according to this:

This is the table used to get highest/lowest id for acts:

2 = act 1 (low)
37 = act 1 (high), actual highest is 39
41 = act 2 (low)
73 = act 2 (high), actual highest is 74
76 = act 3 (low)
102 = act 3 (high)
104 = act 4 (low)
108 = act 4 (high)
109 = act 5 (low)
132 = act 5 (high)

Then it uses this formula to determine the A/B/C class for the tc:

value = (highest - lowest + 1) / 3

if levelid is < lowest+value, A
if levelid is < lowest+(value*2), B
else C

Lower Kurast chests in hell difficulty should be in Treasure Class "Act 3 (H) Chest A" which leads to TC72 as maximum... (area ID of LK is 79, 79<76+9 -> A) But chests in Lower Kurast drop TC75. I really didn't notice this until I found that Mephisto's chest has the same drop patterns as LK superchests and remembered that I found some Phase Blades (TC75) from LK chests.



The formula by Hammerman is quite logical - it just takes the Act areas sorted by area ID, divides them by three and attach A to areas from 1st 1/3, B to 2nd 1/3 and C to 3rd 1/3. In reality Act 3 (H) Chest B includes the same TCs as Act 3 (H) Chest C (leading to TC75), but Act 3 (H) Chest A is different (TC72)

So I made a little mod where Act 3 (H) Chest A drops only weap3 class, Act 3 (H) Chest B drops only weap78 and Act 3 (H) Chest C drops only weap87.

Result:
Spider Forest: daggers and javelins
Lower Kurast: Scourges and GMBs
Durance of Hate lvl2: Mythical Swords and Hydra Bows
(I checked different kind of objects, baskets, logs, skeletons, normal chests, superchests in LK)

btw. Great Marsh dropped from weap78 too!
Conclusion: The Chest TC Selection is generated by different algorithm than this one by Hammerman.
This explains why chests from LK drop the same as chests in Meph's Durance.
I can provide screenshots if someone needs them...

sirpoopsalot
25-04-2009, 01:18
interesting... :scratchchin:

... I've never taken the trouble to really understand how that stuff is supposed to work, but I agree that the tutorial is wrong (uh, I think). I've edited a small update into that section, linking this thread.

Orphan
25-04-2009, 02:47
I think I know what might be causing the confusion. If you were to do the same tests on normal you might find that they're accurate. I was able to run some tests today and confirmed my suspicions.

What Hammerman has said above is correct, just not complete (well, not since 1.10 anyway). The treasure classes for the chests are determined with the above equation, but like monsters this is only the base treasure class. It looks like it is then modified depending on the area level.

So to go through the whole equation:

76 = act 3 (low)
102 = act 3 (high)

Lower Kurast = Level ID 79
Lower Kurast = Area Level 80 (Hell)

value = (highest - lowest + 1) / 3
value = (102 - 76 + 1) / 3
value = 27 / 3
value = 9

if levelid is < lowest+value, then drop from A (if 79 < 76+9, then drop from A) TRUE -> 79 < 85

BaseTreasureClass = Act 3 (H) Chest A

Now here's where it gets abit tricky, since I don't believe it uses the area level exactly as it is. Items dropped from chests have an ilvl equal to the area level (so ilvl 80) but there seems to be a penalty or something when comparing to the treasure classes (possibly area level - 2)

Normally, it'd just check to see if Area Level > Treasure class level and if so then it'll upgrade it to the next level. My tests show the following:

area level 76 = Act 3 (H) Chest A (TC Level 76)
area level 77 = Act 3 (H) Chest A (TC Level 76)
area level 78 = Act 3 (H) Chest A (TC Level 76)
area level 79 = Act 3 (H) Chest A (TC Level 76)
area level 80 = Act 3 (H) Chest B (TC Level 78) (Area level - 2?)
area level 81 = Act 3 (H) Chest C (TC Level 79) (Area level - 2?)
area level 82 = Act 3 (H) Chest C (TC Level 79) (Area level - 2?)

To confirm this, similar to you I changed "Act 3 (H) Chest A" to always drop Dream Spirits (drf), "Act 3 (H) Chest B" to always drop Martels (9gm) and "Act 3 (H) Chest C" to always drop Zod runes (r33). When the area level is unmodified it'll drop Martels, which matches your test. If the area level is dropped enough though, it'll drop dream spirits. Likewise, if the area level is increased enough, it'll drop Zod's.

Edit: I might try and do some more tests later on, as some initial testing with the treasure class levels seemed inconclusive, but the area level definitely is causing the change