Loot table mechanics

Hi All

I’ve been doing a lot of research (through this forum and the guide at http://grimdawn.com/guide/settings/Grim%20Dawn%20Modding%20Guide.pdf) on how the loot tables are handled within Grim Dawn and I think I’m starting to get a pretty good understanding of things.

That said, I have come across a couple of things that I am hoping to get clarity on if I can. I thought this might be the best place to ask as most of you probably use these on a regular basis.

Level Tables

The first question relates to the level tables. For example, records\items\loottables\blueprints\lt_blueprints_b02.dbr has the following:


templateName,database/templates/leveltable.tpl,
Class,LevelTable,
levels,1;15,
records,records/items/loottables/gearaccessories/tdyn_waist_a01.dbr;records/items/loottables/blueprints/tdyn_blueprints_b02.dbr,

According to the guide, the level table is used to control at what level a dynamic table is distributed. In the above example, the levels are 1 and 15, and the dynamic tables are tdyn_waist_a01.dbr and tdyn_blueprints_b02.dbr. I interpret this as meaning that up to level 14, the tdyn_waist_a01.dbr dynamic table will be used, and at level 15 and onwards the tdyn_blueprints_b02.dbr will be distributed.

Is this correct? Also, what level is used? The players or monsters? In the case of a chest (e.g. Treasure Trove, Nemesis chest, etc.) then what level is it?

Dynamic tables

The second question relates to the the dynamic tables. Using the above tdyn_blueprints_b02.dbr table as an example, which looks like:


templateName,database/templates/lootitemtable_dynweighted_dynaffix.tpl,
Class,LootItemTable_DynWeight,
FileDescription,Relics,
bellSlope,100.000000;100.000000;100.000000......
lootName1,records/items/crafting/blueprints/relic/craft_relic_b004.dbr,
lootName10,records/items/crafting/blueprints/relic/craft_relic_c003.dbr,
.....
lootWeight1,1000,
lootWeight10,700,
.....
maxItemLevelEquation,(parentLevel*1)+4,
minItemLevelEquation,1*1,
noPrefixNoSuffix,100000,
targetLevelEquation,(parentLevel*2)/3,

Note that I removed a bunch of stuff, otherwise it’ll be too long. I understand the whole weighting but similar to above I don’t understand where the parentLevel comes from. Is this the player level or monster level (and in the case of troves what is it)? Also speaking of targetLevel, is it correct to say that if an item has a level that is greater than the calculated target level that it won’t drop?

Also, I was hoping to get clarification on the bellSlope. According to the guide, this is:

Bell Slope: An array of multipliers for items based on their level. If an item’s level is equal to the target level, then it uses the first multiplier, then the next closest item level uses the second entry, etc

In this file, there are 200 entries for bellSlope, with all of them being a value of 100? What purpose does that serve?

Hoping my questions made sense. If anyone can assist it’d be greatly appreciated!

Thanks

This topic has a post by zantai explaining bell slope:
http://www.grimdawn.com/forums/showthread.php?t=46360

According to the guide, the level table is used to control at what level a dynamic table is distributed. In the above example, the levels are 1 and 15, and the dynamic tables are tdyn_waist_a01.dbr and tdyn_blueprints_b02.dbr. I interpret this as meaning that up to level 14, the tdyn_waist_a01.dbr dynamic table will be used, and at level 15 and onwards the tdyn_blueprints_b02.dbr will be distributed.

Is this correct?

yes

Also, what level is used? The players or monsters? In the case of a chest (e.g. Treasure Trove, Nemesis chest, etc.) then what level is it?

I don’t understand where the parentLevel comes from. Is this the player level or monster level (and in the case of troves what is it)? Also speaking of targetLevel, is it correct to say that if an item has a level that is greater than the calculated target level that it won’t drop?

whatever the loottable/mastertable is attached to, it is using that level, normally you would add them to monsters/containers, so it is using their level to determine the allowed itemlevel range.
parentLevel refers to that same level.
targetLevel is just an additional value to adjust drop rates, only thing important for something being able to drop is min/maxItemlevelEquation, the targetLevel should be within that range too of course.
containers usually are the players level, but it is possible the chest has a fixed level.

I tried to keep this as short as I can :slight_smile: hope it helps

Apologies for the necro on this thread. I am looking at bellSlope in an instance of loottable_dynweighted_dynaffix.tpl (a table to roll affixes on items), and I’m not getting the interplay between the weights (obvious), and a bellSlope with 8 entries set to 100.0. What’s it trying to say?

Update. The old link seems to be here