Create an item drop rule for a map or monster
Use ItemDrop.xml when the goal names a specific item, monster or monster-level range. Item category and index identify the item; they are not a shop number or monster ID.
The outcome to aim for
- Find Cat/Index from an existing packed item ID.
- Set map and monster restrictions and optional map scaling.
- Keep option-group references separate from shop option masks.
Before you start
Use the active ItemDrop.xml and existing option-group IDs. The lab uses a verified supply example, not invented equipment option groups.
Files you need
Understand the fields
| Field | Meaning & dependencies |
|---|---|
RuleDrop / MapNumber | 0 is Lorencia; -1 is a global rule. Elemental equipment requires a specific map. |
ApplyMapRate | 1 applies MapManager ItemDrop/100; 0 keeps the rule independent. |
Cat / Index | Item category and item number; packed ID = Cat×512+Index. |
DropRate | Rule pass units out of one million. 10000 = 1%; 0 stops this rule. Passing rules still compete for selection. |
MonsterIndex | A monster class ID, or -1 for any eligible monster. |
MonsterMinLevel / MonsterMaxLevel | Bounds apply to the monster, not the player; -1 removes that bound. |
LevelOption … SocketOption | Option-generation group IDs; not the same format as normal shop option masks. |
One step at a time
- STEP 1
Choose the item Cat and Index from the supplied item definitions. Example: Cat=14, Index=13 is Jewel of Bless; the packed item ID is 14×512+13=7181.
- STEP 2
Add a RuleDrop inside the existing ItemDrop root. MapNumber=0 limits it to Lorencia; -1 means all maps. For elemental equipment, the supplied version requires an explicit map rule rather than a global -1 rule.
- STEP 3
Set MonsterIndex to a monster class, or -1 for any. MonsterMinLevel and MonsterMaxLevel restrict the monster, not the player; -1 removes that bound.
- STEP 4
Choose DropRate and ApplyMapRate together. The example is a 1% rule-pass roll on map 0, independent of the map multiplier. With ApplyMapRate=1 and ItemDrop=1000, that roll becomes 10%.
- STEP 5
Option fields such as ExcOption and LevelOption select ItemOptionRate groups when nonnegative; they are not automatically the final Excellent mask or item level. -1 leaves the initialized value unchanged for that option. Copy a known working rule for the desired item.
- STEP 6
Save valid XML and use /reload item. Kill eligible and ineligible monsters on the selected map and on another map. Review any earlier overlapping rules if measured output differs.
Progress is saved only in this browser. Completion is your learning record, not proof of a live server change.
Configuration example
Keep the existing root/sections and unrelated rows. This example is not a complete original or a full replacement file.
<?xml version="1.0" encoding="utf-8"?>
<ItemDrop>
<RuleDrop MapNumber="0" ApplyMapRate="1">
<Item Cat="14" Index="13" Level="0" LevelOption="-1" SkillOption="-1" LuckOption="-1" JoLOption="-1" ExcOption="-1" SetOption="-1" SocketOption="-1" Duration="0" MonsterIndex="-1" MonsterMinLevel="25" MonsterMaxLevel="-1" DropRate="1000" />
</RuleDrop>
</ItemDrop>
What changed?
The default lab keeps DropRate=1000 and changes ApplyMapRate from 0 to 1. With map ItemDrop=1000, admission becomes 10000 units (1%) instead of 1000 (0.1%); final candidate selection is still separate.
The lab names changed fields and keeps the example separate from your real configuration.
Open this demonstrationApply the real change
Merge the RuleDrop/Item into the existing ItemDrop root in Item/ItemDrop.xml. Use /reload item on the owning role; use /reload common separately only if you also edited MapManager.
Verify the result in game
If the expected result is missing, restore the backed-up files and repeat the same reload/restart before adding another change.
If something goes wrong
Rule passes but the item is not guaranteed
Passing rules compete for candidate selection; map scaling and dedicated boss rewards affect the path.
Wrong map or monster
MapNumber and MonsterIndex restrict different things. Keep -1 only where the supplied schema defines it.
Dependencies & important details
DropRate=0 disables that rule’s roll. DropRate=-1 is a special guaranteed eligibility value and ignores map scaling; avoid it for normal random loot. Other matching candidates can still affect the final selected item. Duration is a timed-item lifetime, so preserve 0 for a permanent reward unless expiration is intended.
