Tutorial · Elden Ring
Adding Item Drops and Loot in Elden Ring (DSMapStudio Guide)
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 (anItemLotParam_enemyrow 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
- Find the enemy's drop table. In
NpcParam, locate the enemy and note its enemyItemLotParamreference (the drop-table row ID). - Open
ItemLotParam_enemyand 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'sNpcParamreference at the new row. - 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
EquipParamWeaponID for a weapon), the quantity, and the base point weight. - Balance the chance. Set or add an empty slot's weight so the total produces the percentage you want.
- 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
| Symptom | Cause | Fix |
|---|---|---|
| Item never drops | Weight too low, or edited a table the enemy doesn't reference | Raise the weight to test; confirm NpcParam points at your row |
| Item always drops | No competing "nothing" slot | Add an empty slot with weight |
| Wrong item drops | Item ID or category mismatch | Match the category to the item's param (weapon → weapon ID) |
| Applies to many enemies | Edited a shared table | Duplicate the table to a new ID and reference it from only that enemy |
| Nothing changed in-game | ModEngine2 not loading the project | Point 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.
