loot.xml is smaller on net (-33KB), but this is not a removal of logic — rather, it’s the result of compressing redundant per-level definitions in the probability/quality tables into broader level bands. Not a single lootgroup / lootcontainer has been deleted (they all reappear under the same names).
Key Changes
Loot Abundance Support (the essential change)
- Removed
ignore_loot_abundance="true"from all 46 containers (an attribute deprecated in V3.0) - Added the new attribute
abundance_typeto roughly 68 lootgroups. Allowed values are Food / Drinks / Ammo / Meds / Resources / Armor / Melee / Ranged / Dukes / Magazines
Consolidation of the Quality Tables
- Removed
lootqualitytemplate qualBaseTemplate(the old q1–q5, roughly 25 tiers in 10-level increments) and unified everything onto the quality-6 version (formerlyq6Template) - The name
q6Templateitself has been removed, and its contents were merged into the standard template → quality 6 is now promoted to the standard drop across all containers - Compressed probability templates such as
ProbT0broadly toward 2-level increments (peaks shifted earlier) = a shift toward “high quality showing up earlier at the same level”
Other
playerBackpack‘sdestroy_on_closechanged fromtrue→empty- New containers:
beerCoolerPlayer/playerLandClaimStorage
Impact on MODs
- Since the group/container names are stable, most name-based xpaths are fine.
- However, there are three things to watch out for: (a) any set/append/remove that names
q6Templatewill miss (the name is gone), (b) any xpath that touches or assumesignore_loot_abundancewill miss because the attribute is gone, and (c) if you were targetingqualBaseTemplate‘s qualitytemplate by ordinal (position), the wholesale replacement of the bands will cause position drift and misfires.
Reference: Example Diff
-<lootgroup name="groupAllArmor" loot_quality_template="armorQualityTemplate">
+<lootgroup name="groupAllArmor" loot_quality_template="armorQualityTemplate" abundance_type="Armor">
-<lootcontainer name="smallSafes" ... destroy_on_close="empty" ignore_loot_abundance="true">
+<lootcontainer name="smallSafes" ... destroy_on_close="empty">
* Based on investigation immediately after applying the experimental version (equivalent to B252).
Related: List of MOD-making articles