Borderlands 2 Container Reference - BLCM/BLCMods GitHub Wiki

This page is a reference of the containers found in Borderlands 2 (and associated DLC), and the classes/objects used to determine what loot gets generated when opening the container.

TODO:

  • Itemize the PopulationDefinition objects for each of these
  • Enumerate the valid attachment slots for each container

Overview

Containers in BL2/TPS have various attachment points defined on the container's 3D model, generally named like Ammo1, Ammo2, Gun1, Gun2, Grenade1, etc. The InteractiveObjectBalanceDefinition object for each container is where the game says what items should get attached where. For instance, the object GD_Balance_Treasure.ChestGrades.ObjectGrade_DahlEpic (the gigantic red Dahl chest) has the following named loot configurations:

  • TreasureChest_2guns2Pistols
  • TreasureChest_4Pistols1Long
  • TreasureChest_Launcher
  • TreasureChest_Gear
  • TreasureChest_Shields
  • TreasureChest_GrenadeMods
  • TreasureChest_ClassMods
  • TreasureChest_2Guns&Gear
  • TreasureChest_Eridium

As you'd expect, each of those options has a weight-based probability associated with it in a Weight block, which gives you the probability that that pool will be chosen. Inside each of those loot definitions, there's an ItemAttachments object which defines an ItemPoolDefinition/WeaponPoolDefinition to pull from, and a named attachment point. For instance, TreasureChest_2guns2Pistols sets a couple items from GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_LongGuns to get assigned to Gun1 and Gun2, and a couple items from GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_Pistols to get assigned to Pistol5 and Pistol6. (There's also various definitions going to Ammo1-4 and Grenade1-4.)

As with many Borderlands objects, this loot pool definition can either be done via a DefaultIncludedLootLists property, which passes off the pool decisions to another object, or with a DefaultLoot property defined right there. (They can also do a combination of the two, of course.)

All of the container InteractiveObjectBalanceDefinition objects are only loaded when a level is loaded, so those objects cannot be modified via standard set commands. The ones which use DefaultIncludedLootLists will often point at a loot pool which can be modified via standard set commands, though there are exceptions.

Notes

The probabilities given below should be more-or-less accurate, though I'm still not totally sure about the exact math behind it. All ammo/health/etc has been ignored here -- this list is only focusing on gear. There's a few places where non-gear loot pools get mentioned, simply because they're part of the decision chain, but they're definitely not the focus.

Some of these pools also have non-100% chances to spawn on each of its defined spawn point. So some of these which say "2x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_LongGuns" or whatever may not always spawn two of them, depending on how the RNG feels at the time.

Many of the pools here which are meant to provide shields in the "epic" chests actually have an error in the Shields pool which prevents that pool from ever actually being used. The specific error is that they include the item GD_Itempools.BuffDrinkPools.Pool_BuffDrinks_Euphoria, which cannot be spawned in-game.

"Trap" chests which can spawn Loot Midgets or Varkids or the like are technically different containers than the non-trap versions, and are specified directly in the level definitions. If you want to change the possible loot pools for dumpsters, for instance, you'd technically have to do so in all four classes, since they're separate and don't call out to a common pool.

Containers Which Mostly Pull from the Epic Chest Pools

GD_Balance_Treasure.ChestGrades.ObjectGrade_TreasureChest

Main Loot Definition Class: GD_Balance_Treasure.ChestGrades.ObjectGrade_TreasureChest

Actual Loot Pool: GD_Itempools.ListDefs.EpicChestRedLoot (can change with set)

31% 2x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_LongGuns
16% 4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_Pistols
9% 1x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_Launchers
8% 4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Items
8% (NOTE: There is an error in this pool which prevents it from actually being used)
4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Shields
8% 4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_GrenadeMods
8% 4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_ClassMods
5% 2x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_LongGuns
1x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Shields
1x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_GrenadeMods
5% 2x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Artifacts (plus a bunch of Eridium+money)

GD_Balance_Treasure.ChestGrades.ObjectGrade_BanditChest

Main Loot Definition Class: GD_Balance_Treasure.ChestGrades.ObjectGrade_BanditChest

Actual Loot Pool: GD_Itempools.ListDefs.EpicChestBanditLoot (can change with set)

34% 2x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_LongGuns
17% 4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_Pistols
10% 1x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_Launchers
9% (NOTE: There is an error in this pool which prevents it from actually being used)
4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Shields
9% 4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_GrenadeMods
9% 4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_ClassMods
6% 2x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_LongGuns
1x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Shields
1x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_GrenadeMods
6% 2x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Artifacts (plus a bunch of Eridium+money)

GD_Balance_Treasure.ChestGrades.ObjectGrade_DahlEpic

Main Loot Definition Classes: GD_Balance_Treasure.ChestGrades.ObjectGrade_DahlEpic
GD_Balance_Treasure.ChestGrades.ObjectGrade_DahlEpic_BearerBadNews

Actual Loot Pool: (defined directly, must use hotfix on main loot definition class)

Regular Version:

31% 2x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_LongGuns
2x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_Pistols
16% 4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_Pistols
1x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_LongGuns
9% 2x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_Launchers
8% 4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Items
8% (NOTE: There is an error in this pool which prevents it from actually being used)
4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Shields
8% 4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_GrenadeMods
8% 4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_ClassMods
5% 2x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_LongGuns
1x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Shields
1x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_GrenadeMods
5% 2x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Artifacts (plus a bunch of Eridium+money)

Roland's Chest:

33% 1x GD_Itempools.WeaponPools.Pool_Weapons_All_04_Rare
1x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_LongGuns
2x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_Pistols
16% 1x GD_Itempools.WeaponPools.Pool_Weapons_Pistols_04_Rare
3x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_Pistols
1x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_LongGuns
10% 1x GD_Itempools.WeaponPools.Pool_Weapons_Launchers_04_Rare
1x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_Launchers
9% 1x GD_Itempools.ShieldPools.Pool_Shields_All_04_Rare
3x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Items
9% (NOTE: There is an error in this pool which prevents it from actually being used)
1x GD_Itempools.ShieldPools.Pool_Shields_All_04_Rare
3x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Shields
9% 1x GD_Itempools.GrenadeModPools.Pool_GrenadeMods_04_Rare
3x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_GrenadeMods
9% 1x GD_Itempools.ClassModPools.Pool_ClassMod_04_Rare
3x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_ClassMods
5% 2x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_LongGuns
1x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Shields
1x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_GrenadeMods

GD_Lobelia_DahlDigi.LootableGradesUnique.ObjectGrade_DalhEpicCrate_Digi

Main Loot Definition Classes: GD_Lobelia_DahlDigi.LootableGradesUnique.ObjectGrade_DalhEpicCrate_Digi

Actual Loot Pool: (defined directly, must use hotfix on main loot definition class)

31% 2x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_LongGuns
2x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_Pistols
16% 4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_Pistols
1x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_LongGuns
9% 2x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_Launchers
8% 4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Items
8% (NOTE: There is an error in this pool which prevents it from actually being used)
4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Shields
8% 4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_GrenadeMods
8% 4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_ClassMods
5% 2x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_LongGuns
1x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Shields
1x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_GrenadeMods
5% 2x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Artifacts (plus a bunch of Eridium+money)

GD_Balance_Treasure.ChestGrades.ObjectGrade_HyperionChest

Main Loot Definition Class: GD_Balance_Treasure.ChestGrades.ObjectGrade_HyperionChest

Actual Loot Pool: GD_Itempools.ListDefs.EpicChestHyperionLoot (can change with set)

36% 2x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_LongGuns
18% 4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_Pistols
11% 1x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_Launchers
10% (NOTE: There is an error in this pool which prevents it from actually being used)
4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Shields
10% 4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_GrenadeMods
10% 4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_ClassMods
6% 2x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Artifacts (plus a bunch of Eridium+money)

GD_Orchid_TreasureChests.InteractiveObjects.ObjectGrade_PirateChest_Epic

Main Loot Definition Classes: GD_Orchid_TreasureChests.InteractiveObjects.ObjectGrade_PirateChest_Epic GD_Nasturtium_Lootables.InteractiveObjects.ObjectGrade_NastChest_Epic

Actual Loot Pools: GD_Orchid_ItemPools.ListDefs.PirateChestEpicLoot (must be hotfixed) GD_Nasturtium_Lootables.ListDefs.NastChestEpicLoot (must be hotfixed)

36% 2x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_LongGuns
13% 4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_Pistols
10% 1x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_Launchers
8% 3x GD_Itempools.ArtifactPools.Pool_ArtifactsReward
9% 4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Shields
9% 4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_GrenadeMods
9% 4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_ClassMods
6% Eridium, etc.

GD_Allium_Lootables.Balance.Balance_LootCar

Main Loot Definition Class: GD_Allium_Lootables.Balance.Balance_LootCar

Actual Loot Pool: GD_Allium_Lootables.ListDefs.LootCarLA (must be hotfixed)

100% 2x GD_Allium_Lootables.ListDefs.Pool_EridiumOrCustomization
4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_Pistols
4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_LongGuns
4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_GrenadeMods
2x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Weapons_Launchers
6x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Shields
8x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_ClassMods
4x GD_Itempools.Treasure_ChestPools.Pool_EpicChest_Artifacts

Containers Which Mostly Pull From The Regular Chest Pools

GD_Balance_Treasure.LootableGrades.ObjectGrade_MetalCrate

Main Loot Definition Class: GD_Balance_Treasure.LootableGrades.ObjectGrade_MetalCrate

Actual Loot Pool: GD_Itempools.ListDefs.WeaponChestWhiteLoot (can change with set)

33% 2x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_Weapons_LongGuns
16% 4x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_Weapons_Pistols
12% 1x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_Weapons_Launchers
11% 3x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_Shields
11% 3x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_GrenadeMods
11% 3x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_ClassMods
7% 3x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_Artifacts

GD_Balance_Treasure.ChestGrades.ObjectGrade_DahlWeaponChest

Main Loot Definition Class: GD_Balance_Treasure.ChestGrades.ObjectGrade_DahlWeaponChest

Actual Loot Pool: GD_Itempools.ListDefs.WeaponChestWhiteLoot (can change with set)

(Same as above)

GD_Balance_Treasure.ChestGrades.ObjectGrade_HypWeaponChest

Main Loot Definition Class: GD_Balance_Treasure.ChestGrades.ObjectGrade_HypWeaponChest

Actual Loot Pool: GD_Itempools.ListDefs.WeaponChestWhiteLoot (can change with set)

(Same as above)

GD_Balance_Treasure.ChestGrades.ObjectGrade_BanditWeaponChest

Main Loot Definition Class: GD_Balance_Treasure.ChestGrades.ObjectGrade_BanditWeaponChest

Actual Loot Pool: GD_Itempools.ListDefs.WeaponChestBanditLoot (can change with set)

34% 2x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_Weapons_LongGuns
17% 4x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_Weapons_Pistols
11% 1x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_Weapons_Launchers
11% 3x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_Shields
11% 3x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_GrenadeMods
11% 3x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_ClassMods
4% 3x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_Artifacts

GD_Sage_Lootables.Balance.ObjectGrade_TribalChest

Main Loot Definition Class: GD_Sage_Lootables.Balance.ObjectGrade_TribalChest

Actual Loot Pool: GD_Itempools.ListDefs.WeaponChestBanditLoot (can change with set)

(Same as above)

GD_Aster_Lootables.Balance.ObjectGrade_MimicChest_NoMimic

Main Loot Definition Class: GD_Aster_Lootables.Balance.ObjectGrade_MimicChest_NoMimic

Actual Loot Pool: (defined directly, must use hotfix on main loot definition class)

31% 2x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_Weapons_LongGuns
2x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_Weapons_Pistols
16% 4x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_Weapons_Pistols
9% 1x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_Weapons_Launchers
8% 4x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_Items
8% (NOTE: There is an error in this pool which prevents it from actually being used)
4x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_Shields
8% 4x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_GrenadeMods
8% 4x GD_Aster_ItemPools.ClassModPools.Pool_ClassMod_00_Aster
5% 2x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_Weapons_LongGuns
1x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_Shields
1x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_GrenadeMods
5% 2x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_Artifacts (+eridium, cash)

Containers With Mostly Custom Pools

GD_Orchid_TreasureChests.InteractiveObjects.ObjectGrade_PirateChest_EndGame

Main Loot Definition Class: GD_Orchid_TreasureChests.InteractiveObjects.ObjectGrade_PirateChest_EndGame

Actual Loot Pool: GD_Orchid_ItemPools.ListDefs.PirateChestEndGameLoot (must be hotfixed)

32% 2x GD_Orchid_ItemPools.EndGame.Pool_PirateChest_EndGame_LongGuns
7% 1x GD_Orchid_ItemPools.EndGame.Pool_PirateChest_EndGame_LongGuns
2x GD_Orchid_ItemPools.EndGame.Pool_PirateChest_EndGame_Shields
7% 1x GD_Orchid_ItemPools.EndGame.Pool_PirateChest_EndGame_LongGuns
2x GD_Orchid_ItemPools.EndGame.Pool_PirateChest_EndGame_ClassMods
7% 1x GD_Orchid_ItemPools.EndGame.Pool_PirateChest_EndGame_LongGuns
2x GD_Orchid_ItemPools.EndGame.Pool_PirateChest_EndGame_GrenadeMods
7% 1x GD_Orchid_ItemPools.EndGame.Pool_PirateChest_EndGame_LongGuns
2x GD_Itempools.ArtifactPools.Pool_ArtifactsReward
6% 2x GD_Orchid_ItemPools.EndGame.Pool_PirateChest_EndGame_Pistols
2x GD_Orchid_ItemPools.EndGame.Pool_PirateChest_EndGame_Shields
6% 2x GD_Orchid_ItemPools.EndGame.Pool_PirateChest_EndGame_Pistols
2x GD_Orchid_ItemPools.EndGame.Pool_PirateChest_EndGame_ClassMods
6% 2x GD_Orchid_ItemPools.EndGame.Pool_PirateChest_EndGame_Pistols
2x GD_Orchid_ItemPools.EndGame.Pool_PirateChest_EndGame_GrenadeMods
6% 2x GD_Orchid_ItemPools.EndGame.Pool_PirateChest_EndGame_Pistols
2x GD_Itempools.ArtifactPools.Pool_ArtifactsReward
13% 1x GD_Orchid_ItemPools.EndGame.Pool_PirateChest_EndGame_Launchers

Main Loot Definition Class: GD_Aster_Lootables.Balance.ObjectGrade_DiceChest

Actual Loot Pool: n/a

This one pulls from many various pools, based on the die roll. The most interesting ones are probably:

  • GD_Aster_ItemPools.DiceChestPools.Pool_DiceChest_1_VeryLowRoll_Longs
  • GD_Aster_ItemPools.DiceChestPools.Pool_DiceChest_2_LowRoll_Longs
  • GD_Aster_ItemPools.DiceChestPools.Pool_DiceChest_2_LowRoll_Pistols
  • GD_Aster_ItemPools.DiceChestPools.Pool_DiceChest_3_HighRoll_Longs
  • GD_Aster_ItemPools.DiceChestPools.Pool_DiceChest_4_VeryHighRoll_Launchers
  • GD_Aster_ItemPools.DiceChestPools.Pool_DiceChest_4_VeryHighRoll_Longs
  • GD_Aster_ItemPools.DiceChestPools.Pool_DiceChest_4_VeryHighRoll_Pistols
  • GD_Aster_ItemPools.DiceChestPools.Pool_DiceChest_5_LegendaryRoll_Longs

I think that the "VeryHighRoll" pools only trigger on a single 20, and "LegendaryRoll" only triggers on a double-20.

Smaller Custom Containers Which At Least Occasionally Drop Loot

GD_Balance_Treasure.LootableGrades.ObjectGrade_StorageLocker

Main Loot Definition Classes: GD_Balance_Treasure.LootableGrades.ObjectGrade_StorageLocker
GD_Balance_Treasure.LootableGradesTrap.MidgetBandit.ObjectGrade_StorageLocker_MidgetBandit
GD_Balance_Treasure.LootableGradesTrap.MidgetHyperion.ObjectGrade_StorageLocker_MidgetHyperion

Actual Loot Pool:

  • Main Class: GD_Itempools.ListDefs.StorageLockerLoot (can change with set)
  • Loot Midget Versions: (defined directly, must use hotfix on main loot definition class)

Main Class: (have not actually looked at the loot midget pools)

83% Cash+Ammo
6% 1x GD_Itempools.LootablePools.Pool_Locker_Items_SMGsAndPistols
5% 1x GD_Itempools.ShieldPools.Pool_Shields_All
3% 1x GD_Itempools.GrenadeModPools.Pool_GrenadeMods_All
2% Eridium Stick
0.41% Eridium Bar
0.41% 1x GD_Itempools.LootablePools.Pool_Locker_Items_SMGsAndPistols
1x GD_Itempools.GrenadeModPools.Pool_GrenadeMods_All

GD_Balance_Treasure.LootableGrades.ObjectGrade_Cardboard_Box

Main Loot Definition Classes: GD_Balance_Treasure.LootableGrades.ObjectGrade_Cardboard_Box
GD_Balance_Treasure.LootableGradesTrap.MidgetBandit.ObjectGrade_CardboardBox_MidgetBandit
GD_Balance_Treasure.LootableGradesTrap.MidgetHyperion.ObjectGrade_CardboardBox_MidgetHyperion

Actual Loot Pool: (defined directly, must use hotfix on main loot definition class)

Main Class: (have not actually looked at the loot midget pools)

NOTE: The health drops in this pool become more likely when the player is injured.

83% (ammo)
8% 1x GD_Itempools.WeaponPools.Pool_Weapons_Pistols
6% (health)
2% (eridium stick)
0.41% (eridium bar)

GD_Balance_Treasure.LootableGrades.ObjectGrade_Dumpster

Main Loot Definition Classes: GD_Balance_Treasure.LootableGrades.ObjectGrade_Dumpster
GD_Balance_Treasure.LootableGradesTrap.MidgetBandit.ObjectGrade_Dumpster_MidgetBandit
GD_Balance_Treasure.LootableGradesTrap.BugMorph.ObjectGrade_Dumpster_BugMorph
GD_Balance_Treasure.LootableGradesTrap.MidgetHyperion.ObjectGrade_Dumpster_MidgetHyperion

Actual Loot Pool: (defined directly, must use hotfix on main loot definition class)

Main Class: (have not actually looked at the loot midget pools)

50% 1x GD_Itempools.LootablePools.Pool_Dumpster_Guns (plus ammo/cash)
50% 1x GD_Itempools.LootablePools.Pool_Dumpster_Guns (plus ammo/cash)

GD_Balance_Treasure.LootableGrades.ObjectGrade_Bandit_Cooler

Main Loot Definition Classes: GD_Balance_Treasure.LootableGrades.ObjectGrade_Bandit_Cooler GD_Balance_Treasure.LootableGradesTrap.MidgetBandit.ObjectGrade_BanditCooler_MidgetBandit

Actual Loot Pool: (defined directly, must use hotfix on main loot definition class)

32% (money)
26% (money)
26% (ammo)
13% 1x GD_Itempools.WeaponPools.Pool_Weapons_Pistols
1% (rocket ammo)
1% (eridium stick)
0.26% (eridium bar)

GD_Balance_Treasure.LootableGrades.ObjectGrade_Safe

Main Loot Definition Class: GD_Balance_Treasure.LootableGrades.ObjectGrade_Safe

Actual Loot Pool: (defined directly, must use hotfix on main loot definition class)

65% (money)
6% 1x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_GrenadeMods
6% 1x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_Shields
1x GD_Itempools.ArtifactPools.Pool_ArtifactsAll
6% 1x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_Weapons_Pistols
6% (eridium stick, money)
6% 1x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_GrenadeMods
3% (eridium bar, money)

GD_Aster_Lootables.Balance.ObjectGrade_CashChest

Main Loot Definition Class: GD_Aster_Lootables.Balance.ObjectGrade_CashChest

Actual Loot Pool: GD_Aster_ItemPools.ListDefs.CashChestLoot (must be hotfixed)

100% (cash+ammo)
0.05% 1x GD_Aster_ItemPools.ClassModPools.Pool_ClassMod_00_Aster
0.05% (customization)

GD_Aster_Lootables.Balance.ObjectGrade_Urn

Main Loot Definition Class: GD_Aster_Lootables.Balance.ObjectGrade_Urn

Actual Loot Pool: GD_Aster_ItemPools.ListDefs.UrnLoot (must be hotfixed)

95% 1x GD_Itempools.Treasure_NestPools.Pool_Nest_Items (+ammo, health, etc)
Very small chance for 1x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_Artifacts
5% (money (including crystals), eridium)
0.05% (crystals (money))

GD_Lobelia_CardboardCutout.Balance.ObjectGrade_CardboardCutout

(in Digistruct Peak, not Opportunity)

Main Loot Definition Class: GD_Lobelia_CardboardCutout.Balance.ObjectGrade_CardboardCutout

Actual Loot Pool: GD_Lobelia_CardboardCutout.ListDefs.CardboardCutoutLoot (must be hotfixed)

95% 1x GD_Itempools.Treasure_NestPools.Pool_Nest_Items (+ammo, health, etc)
Very small chance for 1x GD_Itempools.Treasure_ChestPools.Pool_WeaponChest_Artifacts
5% (money (including crystals), eridium)
0.05% (crystals (money))

Containers Using "StandardPileLoot"

GD_Balance_Treasure.LootableGrades.ObjectGrade_Propane

Main Loot Definition Class: GD_Balance_Treasure.LootableGrades.ObjectGrade_Propane

Actual Loot Pool: GD_Itempools.ListDefs.StandardPileLoot (can change with set)

100% 1x GD_Itempools.Treasure_NestPools.Pool_Nest_Items (plus health, ammo, skins)

GD_Balance_Treasure.LootableGrades.ObjectGrade_BanditGasTank

Main Loot Definition Class: GD_Balance_Treasure.LootableGrades.ObjectGrade_BanditGasTank

Actual Loot Pool: GD_Itempools.ListDefs.StandardPileLoot (twice!) (can change with set)

(Same as above)

GD_Balance_Treasure.LootableGrades.ObjectGrade_BullyMongPile

Main Loot Definition Classes: GD_Balance_Treasure.LootableGrades.ObjectGrade_BullyMongPile
GD_Balance_Treasure.LootableGrades.ObjectGrade_JunkPile
GD_Balance_Treasure.LootableGrades.ObjectGrade_SkagPile
GD_Balance_Treasure.LootableGrades.ObjectGrade_SpiderantPile
GD_Balance_Treasure.LootableGrades.ObjectGrade_StalkerPile
GD_Balance_Treasure.LootableGrades.ObjectGrade_StalkerPileCeiling
GD_Balance_Treasure.LootableGrades.ObjectGrade_StalkerPilePillar
GD_Aster_Lootables.Balance.ObjectGrade_SpiderCocoon

Actual Loot Pool: GD_Itempools.ListDefs.StandardPileLoot (can change with set)

(Same as above)

GD_Balance_Treasure.LootableGrades.ObjectGrade_BugMorphPile

Main Loot Definition Class: GD_Balance_Treasure.LootableGrades.ObjectGrade_BugMorphPile

HOWEVER: Unlike all the other standard Piles, the link to the loot drop happens in a BehaviorProviderDefinition object, via: GD_Balance_Treasure.InteractiveObjects.InteractiveObj_BugMorphPile:BehaviorProviderDefinition_13.Behavior_SpawnItems_25

Actual Loot Pool: GD_Itempools.ListDefs.StandardPileLoot (can change with set)

(Same as above)

GD_Balance_Treasure.LootableGrades.ObjectGrade_BullyMongPile_AlwaysHealth

Main Loot Definition Class: GD_Balance_Treasure.LootableGrades.ObjectGrade_BullyMongPile_AlwaysHealth

Actual Loot Pool: GD_Itempools.ListDefs.StandardPileLoot_AlwaysHealth (can change with set)

(This pool looks like it's actually no different from the non-AlwaysHealth pile pool...)

100% 1x GD_Itempools.Treasure_NestPools.Pool_Nest_Items (plus health, ammo, skins)

GD_FrozenNPC.LootableGrades.ObjectGrade_FrozenNPC_1

Main Loot Definition Class: GD_FrozenNPC.LootableGrades.ObjectGrade_FrozenNPC_1

Actual Loot Pools: GD_Itempools.ListDefs.StandardPileLoot (can change with set)
(also defines a small cash drop directly, which would have to be hotfixed)

(Same as above)

Containers Which Only Drop Ammo/Money/etc (No Gear)

I hadn't bothered to actually grab the drop pools from these, since I'm personally only interested in gear drops.

GD_Balance_Treasure.LootableGrades.ObjectGrade_DahlAmmo

Main Loot Definition Class: GD_Balance_Treasure.LootableGrades.ObjectGrade_DahlAmmo

Actual Loot Pool: GD_Itempools.ListDefs.AmmoCrateLoot (can change with set)

GD_Balance_Treasure.LootableGrades.ObjectGrade_MilitaryCrate

Main Loot Definition Classes: GD_Balance_Treasure.LootableGrades.ObjectGrade_MilitaryCrate
GD_Balance_Treasure.LootableGradesTrap.MidgetBandit.ObjectGrade_MilitaryCrate_MidgetBandit
GD_Balance_Treasure.LootableGradesTrap.MidgetHyperion.ObjectGrade_MilitaryCrate_MidgetHyperion
GD_Balance_Treasure.LootableGradesUnique.ObjectGrade_MilitaryCrate_Bagman (only in The Holy Spirits)

Actual Loot Pools: GD_Itempools.ListDefs.AmmoCrateLoot (can change with set)
("Bagman" crate specified directly and must be hotfixed)

GD_Aster_Lootables.Balance.ObjectGrade_AmmoChest

Main Loot Definition Class: GD_Aster_Lootables.Balance.ObjectGrade_AmmoChest

Actual Loot Pool: GD_Itempools.ListDefs.AmmoCrateLoot (can change with set)

GD_Balance_Treasure.LootableGrades.ObjectGrade_HyperionAmmo

Main Loot Definition Classes: GD_Balance_Treasure.LootableGrades.ObjectGrade_HyperionAmmo
GD_Balance_Treasure.LootableGradesTrap.MidgetHyperion.ObjectGrade_HyperionAmmo_MidgetHyperion

Actual Loot Pool: GD_Itempools.ListDefs.AmmoCrateLoot_Hyp (can change with set)

GD_Balance_Treasure.LootableGrades.ObjectGrade_Bandit_Ammo

Main Loot Definition Class: GD_Balance_Treasure.LootableGrades.ObjectGrade_Bandit_Ammo

Actual Loot Pool: (defined directly, must use hotfix on main loot definition class)

GD_Balance_Treasure.LootableGrades.ObjectGrade_Mailbox

Main Loot Definition Class: GD_Balance_Treasure.LootableGrades.ObjectGrade_Mailbox

Actual Loot Pool: (defined directly, must use hotfix on main loot definition class)

GD_Balance_Treasure.LootableGrades.ObjectGrade_MailboxBandit

Main Loot Definition Class: GD_Balance_Treasure.LootableGrades.ObjectGrade_MailboxBandit

Actual Loot Pool: (defined directly, must use hotfix on main loot definition class)

GD_Balance_Treasure.LootableGrades.ObjectGrade_StrongBox

Main Loot Definition Classes: GD_Balance_Treasure.LootableGrades.ObjectGrade_StrongBox GD_Balance_Treasure.LootableGrades.ObjectGrade_StrongBox_CashOnly

Actual Loot Pool: (defined directly, must use hotfix on main loot definition class)

GD_Balance_Treasure.LootableGrades.ObjectGrade_LaundryMachine

Main Loot Definition Classes: GD_Balance_Treasure.LootableGrades.ObjectGrade_LaundryMachine
GD_Balance_Treasure.LootableGradesTrap.MidgetBandit.ObjectGrade_LaundryMachine_MidgetBandit
GD_Balance_Treasure.LootableGradesTrap.MidgetHyperion.ObjectGrade_LaundryMachine_MidgetHyperion

Actual Loot Pool: (defined directly, must use hotfix on main loot definition class)

GD_Balance_Treasure.LootableGrades.ObjectGrade_Cashbox

Main Loot Definition Classes: GD_Balance_Treasure.LootableGrades.ObjectGrade_Cashbox GD_Balance_Treasure.LootableGrades.ObjectGrade_Cashbox_CashOnly

Actual Loot Pool: (defined directly, must use hotfix on main loot definition class)

GD_Balance_Treasure.LootableGrades.ObjectGrade_Toilet

Main Loot Definition Classes: GD_Balance_Treasure.LootableGrades.ObjectGrade_Toilet
GD_Balance_Treasure.LootableGradesTrap.MidgetBandit.ObjectGrade_Toilet_MidgetBandit
GD_Balance_Treasure.LootableGradesTrap.MidgetHyperion.ObjectGrade_Toilet_MidgetHyperion

Actual Loot Pool: (defined directly, must use hotfix on main loot definition class)

GD_Balance_Treasure.LootableGrades.ObjectGrade_MiniFridge

Main Loot Definition Class: GD_Balance_Treasure.LootableGrades.ObjectGrade_MiniFridge

Actual Loot Pools: GD_Itempools.ListDefs.HealthODDSLootables (can change with set)
(also has some loot specified directly, which would have to be hotfixed)

GD_Balance_Treasure.LootableGrades.ObjectGrade_DahlSmallBox

Main Loot Definition Class: GD_Balance_Treasure.LootableGrades.ObjectGrade_DahlSmallBox

Actual Loot Pool: (defined directly, must use hotfix on main loot definition class)

GD_Balance_Treasure.LootableGrades.ObjectGrade_DahlCooler

Main Loot Definition Class: GD_Balance_Treasure.LootableGrades.ObjectGrade_DahlCooler

Actual Loot Pool: (defined directly, must use hotfix on main loot definition class)

GD_Balance_Treasure.LootableGrades.ObjectGrade_HyperionMinibox

Main Loot Definition Class: GD_Balance_Treasure.LootableGrades.ObjectGrade_HyperionMinibox

Actual Loot Pool: (defined directly, must use hotfix on main loot definition class)

GD_Balance_Treasure.LootableGrades.ObjectGrade_HyperionSmallbox

Main Loot Definition Class: GD_Balance_Treasure.LootableGrades.ObjectGrade_HyperionSmallbox

Actual Loot Pool: (defined directly, must use hotfix on main loot definition class)

GD_Orchid_TreasureChests.InteractiveObjects.ObjectGrade_PirateChest_Ammo

Main Loot Definition Classes: GD_Orchid_TreasureChests.InteractiveObjects.ObjectGrade_PirateChest_Ammo GD_Nasturtium_Lootables.InteractiveObjects.ObjectGrade_NastChest_Ammo

Actual Loot Pool: (defined directly, must use hotfix on main loot definition class)

GD_Sage_Lootables.Balance.ObjectGrade_TribalHyperionBox

Main Loot Definition Class: GD_Sage_Lootables.Balance.ObjectGrade_TribalHyperionBox

Actual Loot Pool: (defined directly, must use hotfix on main loot definition class)

GD_Allium_Lootables.Balance.Balance_Stove

Main Loot Definition Class: GD_Allium_Lootables.Balance.Balance_Stove

Actual Loot Pool: (defined directly, must use hotfix on main loot definition class)

GD_Allium_Lootables.Balance.Balance_Xmas_Present

Main Loot Definition Class: GD_Allium_Lootables.Balance.Balance_Xmas_Present

Actual Loot Pool: (defined directly, must use hotfix on main loot definition class)

GD_Flax_Lootables.Balance.Balance_JackOLantern

Main Loot Definition Classes: GD_Flax_Lootables.Balance.Balance_JackOLantern GD_Flax_Lootables.Balance.Balance_JackOLantern_PumplingSpawn

NOTE: The actual drops are defined inside these BPDs, though:

  • GD_Flax_Lootables.IOs.IO_JackOLantern:BehaviorProviderDefinition_1.Behavior_SpawnItems_0
  • GD_Flax_Lootables.IOs.IO_JackOLantern:BehaviorProviderDefinition_1.Behavior_SpawnItems_1

Actual Loot Pool: (real definition is in BPD; direct definition is present, but not used. Must be hotfixed)

GD_Nasturtium_Lootables.Balance.Balance_Balloons

Main Loot Definition Class: GD_Nasturtium_Lootables.Balance.Balance_Balloons

NOTE: The actual drops are defined inside these BPDs, though:

  • GD_Nasturtium_Lootables.IOs.IO_Balloons:BehaviorProviderDefinition_1.Behavior_SpawnItems_7

Actual Loot Pool: (real definition is in BPD; direct definition is present, but not used. Must be hotfixed)

GD_Nasturtium_Lootables.Balance.Balance_EasterEgg1?

Main Loot Definition Classes: GD_Nasturtium_Lootables.Balance.Balance_EasterEgg1
GD_Nasturtium_Lootables.Balance.Balance_EasterEgg2
GD_Nasturtium_Lootables.Balance.Balance_EasterEgg3

NOTE: The actual drops are defined inside these BPDs, though:

  • GD_Nasturtium_Lootables.IOs.IO_EasterEgg1:BehaviorProviderDefinition_1.Behavior_SpawnItems_24
  • GD_Nasturtium_Lootables.IOs.IO_EasterEgg2:BehaviorProviderDefinition_1.Behavior_SpawnItems_28
  • GD_Nasturtium_Lootables.IOs.IO_EasterEgg3:BehaviorProviderDefinition_1.Behavior_SpawnItems_32

Actual Loot Pool: (real definition is in BPD; direct definition is present, but not used. Must be hotfixed)

⚠️ **GitHub.com Fallback** ⚠️