ExcellentOptionRate Configuration
This configuration file defines which excellent option bits can be applied to which item index ranges. Without this file properly configured, excellent items will not receive any excellent options.
File Location#
Data/Item/ExcellentOptionRate.xml
Dependencies#
| Depends On | Purpose |
|---|---|
| Item.xml | Item definitions by index |
| Depended On By | Purpose |
|---|---|
| ItemOptionRate.xml | ExcOptions section determines COUNT, this file determines WHICH |
| ItemDrop.xml | ExcOption index triggers excellent generation |
| MapManager.xml | ExcItemDropRate triggers random excellent chance |
How It Works#
When an item spawns with excellent options enabled:
- ItemOptionRate.xml determines HOW MANY excellent options to roll
- For each option to add, the server picks one at random weighted by
Rate - All entries whose index range contains the item's index are collected
- Entries whose OptionIndex bit is already set on the item are skipped (prevents duplicates)
- One option is randomly selected from the remaining pool using Rate weights
- The option bit is OR-ed into the item's option byte
- Repeat until the requested count is reached or the pool runs out
Structure#
<ExcellentOptionRateList>
<Option OptionIndex="1" ItemMinIndex="0" ItemMaxIndex="511"
Rate="1000" Name="Exc Dmg Rate"/>
<Option OptionIndex="2" ItemMinIndex="0" ItemMaxIndex="511"
Rate="1000" Name="Level Dmg"/>
...
</ExcellentOptionRateList>
Attributes#
| Attribute | Type | Description |
|---|---|---|
OptionIndex | int | Excellent option bit (1, 2, 4, 8, 16, 32) |
ItemMinIndex | int | Minimum item index (inclusive) |
ItemMaxIndex | int | Maximum item index (inclusive) |
Rate | int | Weight for random selection (higher = more likely) |
Name | string | Description (for documentation only) |
Item Index Calculation#
ItemIndex = Category * 512 + Index
| Category | Item Type | Index Range |
|---|---|---|
| 0 | Swords | 0 - 511 |
| 1 | Axes | 512 - 1023 |
| 2 | Maces/Scepters | 1024 - 1535 |
| 3 | Spears | 1536 - 2047 |
| 4 | Bows/Crossbows | 2048 - 2559 |
| 5 | Staffs | 2560 - 3071 |
| 6 | Shields | 3072 - 3583 |
| 7 | Helms | 3584 - 4095 |
| 8 | Armors | 4096 - 4607 |
| 9 | Pants | 4608 - 5119 |
| 10 | Gloves | 5120 - 5631 |
| 11 | Boots | 5632 - 6143 |
| 12 | Wings/Capes | 6144 - 6655 |
| 13 | Rings/Pendants/Pets | 6656 - 7167 |
Excellent Option Bits#
Weapons (Categories 0-5)#
| Bit | Value | Effect |
|---|---|---|
| 1 | 0x01 | Excellent Damage Rate +10% |
| 2 | 0x02 | Increase Damage +level/20 |
| 4 | 0x04 | Increase Damage +2% |
| 8 | 0x08 | Increase Wizardry Damage +level/20 (or Attack Speed +7) |
| 16 | 0x10 | Increase Life after killing monster +life/8 |
| 32 | 0x20 | Increase Mana after killing monster +mana/8 |
Armor and Accessories (Categories 6-13)#
| Bit | Value | Effect |
|---|---|---|
| 1 | 0x01 | Increase Zen after monster +40% |
| 2 | 0x02 | Defense success rate +10% |
| 4 | 0x04 | Reflect damage +5% |
| 8 | 0x08 | Damage decrease +4% |
| 16 | 0x10 | Increase Max Mana +4% |
| 32 | 0x20 | Increase Max HP +4% |
Special Items with Limited Options#
Some items have a maximum option count that caps the number of rolls regardless of the requested count:
| Item | Max Options |
|---|---|
| 2nd Wings (Cat 12, Index 3-6, 42, 49) | 3 |
| Cape of Lord (Cat 13, Index 30) | 4 |
| 3rd Wings (Cat 12, Index 36-40, 43, 50) | 4 |
| Monster Wings (Cat 12, Index 262-265) | 2 |
| Wings of Conqueror (Cat 12, Index 266) | 3 |
| Wings of Angel and Devil (Cat 12, Index 267) | 3 |
| Dinorant (Cat 13, Index 3) | 3 |
| Fenrir (Cat 13, Index 37) | 3 |
| All other items | Uses the requested count, capped at 6 total bits |
Examples#
All options have equal weight (1000 each = ~16.7% chance per option):
<!-- Swords: All 6 options equally likely -->
<Option OptionIndex="1" ItemMinIndex="0" ItemMaxIndex="511" Rate="1000" Name="Exc Dmg Rate"/>
<Option OptionIndex="2" ItemMinIndex="0" ItemMaxIndex="511" Rate="1000" Name="Level Dmg"/>
<Option OptionIndex="4" ItemMinIndex="0" ItemMaxIndex="511" Rate="1000" Name="Inc Dmg 2%"/>
<Option OptionIndex="8" ItemMinIndex="0" ItemMaxIndex="511" Rate="1000" Name="Wiz Dmg"/>
<Option OptionIndex="16" ItemMinIndex="0" ItemMaxIndex="511" Rate="1000" Name="Life After Kill"/>
<Option OptionIndex="32" ItemMinIndex="0" ItemMaxIndex="511" Rate="1000" Name="Mana After Kill"/>
Make Max HP option 5x rarer than others:
<!-- Armor: HP option is rare -->
<Option OptionIndex="1" ItemMinIndex="4096" ItemMaxIndex="4607" Rate="1000" Name="Zen After Kill"/>
<Option OptionIndex="2" ItemMinIndex="4096" ItemMaxIndex="4607" Rate="1000" Name="Def Rate"/>
<Option OptionIndex="4" ItemMinIndex="4096" ItemMaxIndex="4607" Rate="1000" Name="Reflect"/>
<Option OptionIndex="8" ItemMinIndex="4096" ItemMaxIndex="4607" Rate="1000" Name="Dmg Decrease"/>
<Option OptionIndex="16" ItemMinIndex="4096" ItemMaxIndex="4607" Rate="1000" Name="Max Mana"/>
<Option OptionIndex="32" ItemMinIndex="4096" ItemMaxIndex="4607" Rate="200" Name="Max HP"/>
With these rates, HP has ~200/5200 = 3.8% chance vs ~19.2% for others.
Remove an option entirely by not including it:
<!-- Swords: No mana restoration option -->
<Option OptionIndex="1" ItemMinIndex="0" ItemMaxIndex="511" Rate="1000" Name="Exc Dmg Rate"/>
<Option OptionIndex="2" ItemMinIndex="0" ItemMaxIndex="511" Rate="1000" Name="Level Dmg"/>
<Option OptionIndex="4" ItemMinIndex="0" ItemMaxIndex="511" Rate="1000" Name="Inc Dmg 2%"/>
<Option OptionIndex="8" ItemMinIndex="0" ItemMaxIndex="511" Rate="1000" Name="Wiz Dmg"/>
<Option OptionIndex="16" ItemMinIndex="0" ItemMaxIndex="511" Rate="1000" Name="Life After Kill"/>
<!-- OptionIndex="32" removed - no mana restoration possible -->
Special rates for a specific item (Hand Axe = Cat 1, Index 1):
<!-- Hand Axe only: Guaranteed life restoration -->
<Option OptionIndex="16" ItemMinIndex="513" ItemMaxIndex="513" Rate="10000" Name="Life After Kill"/>
<Option OptionIndex="1" ItemMinIndex="513" ItemMaxIndex="513" Rate="1" Name="Exc Dmg Rate"/>
The high rate for life restoration (10000 vs 1) makes it nearly guaranteed.
Important Behavior#
Common Issues#
See Also#
- ItemOptionRate.xml - Controls how many excellent options roll (ExcOptions section)
- ItemDrop.xml - Drop table entries that trigger excellent generation
- Item.xml - Base item definitions by Category and Type
- ItemOption.xml - Standard level-based option stat bonuses