ItemOption
Defines stat bonuses and effects applied by item options
This configuration file defines the stat bonuses that items receive based on their option values.
File Location
GameServer/Data/Item/ItemOption.xmlDependencies
ItemOptionRate.xml
Determines which option values are selected
Item.xml
Item definitions that receive these bonuses
How It Works
After ItemOptionRate determines WHAT options an item has, ItemOption determines the EFFECT of those options.
Each item has 14 special option slots (Index 0-13) that store active bonuses. The Index attribute determines which slot receives the bonus.
Each option entry can specify:
Which slot to store the bonus in (Index 0-13)
Which items it applies to (by index range)
Conditions (skill, luck, excellent flags, level, ancient tier)
What stat bonus to apply (OptionIndex + OptionValue)
Multiple Entries, Same Slot: If multiple entries match the same Index slot, only the last matching entry is applied. This creates a priority system where later entries override earlier ones.
Configuration Structure
Attributes
Index
int
Required
Target slot on item (0-13). Determines which special option slot stores this bonus. See slot mapping below.
OptionIndex
int
Required
Stat type to modify (see Option Index Reference)
OptionValue
int
Required
Amount to add/multiply
ItemMinIndex
int/*
*
Minimum item index (wildcard = any)
ItemMaxIndex
int/*
*
Maximum item index (wildcard = any)
SkillSwitch
int/*
*
Required skill option value (1=has skill, 0=no skill, *=any)
LuckSwitch
int/*
*
Required luck option value (1=has luck, 0=no luck, *=any)
AditionalMin
int/*
*
Minimum JoL option value (0-28)
AditionalMax
int/*
*
Maximum JoL option value (0-28)
Excellent
int/*
*
Excellent option bitmask filter (see below)
ItemLvlMin
int/*
*
Minimum item level (0-15)
ItemLvlMax
int/*
*
Maximum item level (0-15)
Ancient
int/*
*
Ancient tier requirement (0=none, 1=tier1, 2=tier2, 3=any ancient, *=ignore)
Special Option Slot Mapping (Index Values)
Each item stores bonuses in 14 fixed slots:
0
Skill Option
Bonus when item has +Skill
1
Luck Option
Bonus when item has +Luck
2
JoL Option
Bonus based on Jewel of Life level
3
Excellent Option 1
Bonus for 1st excellent flag (bit 0)
4
Excellent Option 2
Bonus for 2nd excellent flag (bit 1)
5
Excellent Option 3
Bonus for 3rd excellent flag (bit 2)
6
Excellent Option 4
Bonus for 4th excellent flag (bit 3)
7
Excellent Option 5
Bonus for 5th excellent flag (bit 4)
8
Excellent Option 6
Bonus for 6th excellent flag (bit 5)
9
Common Slot 1
Custom/general bonuses
10
Common Slot 2
Custom/general bonuses
11
Common Slot 3
Custom/general bonuses
12
Common Slot 4
Custom/general bonuses
13
Common Slot 5
Custom/general bonuses
Option Index Reference
The OptionIndex value determines what stat is modified. Values range from 80 to 154.
See OptionIndex Reference for the complete list of all 75 option types.
Common examples:
80
Add Physical Damage
83
Add Defense
91
Multiply HP (%)
94
Multiply Physical Damage (%)
117
Add Experience Rate
136-140
Add Stats (STR/AGI/VIT/ENE/CMD)
Excellent Bitmask
The Excellent attribute filters based on the item's excellent options using bitwise AND.
Items store their excellent options in a bitmask (m_NewOption). Each bit represents a different excellent option:
0
1
First excellent option
1
2
Second excellent option
2
4
Third excellent option
3
8
Fourth excellent option
4
16
Fifth excellent option
5
32
Sixth excellent option
How the filter works: (item.NewOption & Excellent) != 0
This means the option applies if the item has ANY of the specified bits set.
*
Any item (no filter)
1
Bit 0 set (first exc option)
2
Bit 1 set (second exc option)
3
Bit 0 OR bit 1 set (first OR second)
63
Any excellent option (all 6 bits)
To require multiple specific options: Use a value with those bits set. For example, Excellent="5" (binary 101) matches items with bit 0 OR bit 2 set.
Wildcard Usage
Using * (asterisk) means "any value" - the condition is ignored:
Examples
Important Behavior
Last Match Wins: When multiple entries target the same Index slot and all match the item's properties, only the last matching entry in the file is applied. This allows you to create priority systems where more specific conditions override general ones.
Ancient Tier Values:
Ancient="0"- Only non-ancient itemsAncient="1"- Only ancient tier 1Ancient="2"- Only ancient tier 2Ancient="3"- Any ancient (tier 1 OR tier 2)Ancient="*"- Ignore ancient status
Common Issues
Wildcards Not Working: Make sure you're using * (asterisk character), not -1 or leaving the attribute empty.
Bonuses Not Applying: Check that all conditions match - ItemMinIndex/MaxIndex, SkillSwitch, LuckSwitch, etc. must ALL match for the option to apply.
Bonus Overwritten: If you have multiple entries with the same Index value that both match an item, only the last one applies. Make conditions mutually exclusive or use different Index slots.
Last updated