Tutorial · Elden Ring

Adding Item Drops and Loot in Elden Ring (DSMapStudio Guide)

Tested on v1.11.1 Updated 2026-06-09

Adding Item Drops and Loot in Elden Ring (DSMapStudio Guide)

Making an enemy drop a custom item in Elden Ring trips people up for one reason: drop chance isn't a percentage you type — it's a weight relative to the other outcomes, including the chance of dropping nothing. Set an item's weight to 100 next to a "nothing" weight of 900 and you've made a 10% drop. Miss that and your "10% drop" is either guaranteed or never appears. Second thing: Elden Ring splits loot into two tables — ItemLotParam_enemy for enemy drops, ItemLotParam_map for world treasure — so which param you edit depends on where the loot comes from. You'll need an Elden Ring project open (Elden Ring setup); general workflow in the Param Editor hub.

How drops are wired

Three pieces connect:

  • NpcParam — each enemy's definition references an enemy drop table (an ItemLotParam_enemy row ID). On death, the game rolls that table.
  • ItemLotParam_enemy — the drop tables. Each row is one table of several slots.
  • Slots — each row has numbered slots (01–08); a slot specifies an item by ID + category, a weight, and a quantity. One slot is usually left empty to represent "drop nothing."

World pickups and chests use the parallel ItemLotParam_map instead, referenced by the map's item placements. The slot mechanics are identical.

Drop chance is weighted, not percent

Each slot has a base point value — its weight. A slot's chance is its points ÷ the total points of all slots in the row. There's no percentage field; you build percentages by balancing weights against an empty slot.

Worked example — a 10% chance to drop a sword:

  • Slot 1: the sword, weight 100.
  • Slot 2: empty ("nothing"), weight 900.
  • Total = 1000, so the sword drops 100 ÷ 1000 = 10%.

Guaranteed drop? One slot, no competing weight. 1%? Item weight 10 against a nothing-weight of 990. Think in weights, not percentages, and every drop rate is arithmetic.

Adding a drop to an enemy

  1. Find the enemy's drop table. In NpcParam, locate the enemy and note its enemy ItemLotParam reference (the drop-table row ID).
  2. Open ItemLotParam_enemy and find that row. If several enemies share it and you only want this enemy to drop your item, duplicate the row to a new ID (Ctrl+D, re-ID) and point this enemy's NpcParam reference at the new row.
  3. Fill a slot. In an empty slot, set the category (weapon, protector, accessory, goods), the item ID (the actual item's row ID — e.g. an EquipParamWeapon ID for a weapon), the quantity, and the base point weight.
  4. Balance the chance. Set or add an empty slot's weight so the total produces the percentage you want.
  5. Save (Ctrl + S).

If you duplicated the table in step 2, double-check the enemy's NpcParam now references your new row, or the change won't apply.

World / treasure loot

For an item found in the world rather than dropped, the same slot-and-weight system applies in ItemLotParam_map. The difference is what points at the table: map item placements reference ItemLotParam_map rows, so to change a specific chest or corpse pickup you edit the ItemLotParam_map row tied to that placement. Category/item-ID/weight fields work exactly as for enemy drops — do one, you've done both.

Save and test

Ctrl + S, point ModEngine2 at the project's mod folder, launch. Kill the enemy (or open the treasure) and confirm. Because the roll is random, test a guaranteed version first — temporarily make your item slot the only weighted slot — to confirm the wiring, then dial in the real rate. Reopen and run modified on ItemLotParam_enemy to verify the row saved.

Common loot mistakes

SymptomCauseFix
Item never dropsWeight too low, or edited a table the enemy doesn't referenceRaise the weight to test; confirm NpcParam points at your row
Item always dropsNo competing "nothing" slotAdd an empty slot with weight
Wrong item dropsItem ID or category mismatchMatch the category to the item's param (weapon → weapon ID)
Applies to many enemiesEdited a shared tableDuplicate the table to a new ID and reference it from only that enemy
Nothing changed in-gameModEngine2 not loading the projectPoint ModEngine2 at the project's mod folder

The item IDs you reference come from params like EquipParamWeapon — dropping a custom weapon? Make it first with the add a weapon tutorial (same concept in Elden Ring), and use CSV export/import to edit many drop tables at once.

Watch it in action

Community video guides this article draws on — credit to their creators.

How to Add New Loot Corpses to Elden Ring — Modding Guidesby Scrub Milk · watch on YouTube →