ItemOption Configuration

This configuration file defines the stat bonuses that items receive based on their option values.

File Location#

Data/Item/ItemOption.xml

Dependencies#

Depends OnPurpose
ItemOptionRate.xmlDetermines which option values are selected
Item.xmlItem definitions that receive these bonuses

Bonuses from other option tables stack with ItemOption output when the character has the qualifying items:

How It Works#

After ItemOptionRate determines which option values an item rolls, ItemOption determines the effect of those options.

Each item has 30 special option slots (Index 0-29) 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-29)
  • Which item range it applies to (by item index)
  • Filter conditions (skill, luck, JoL value, excellent flags, item level, ancient tier)
  • What stat bonus to apply (OptionIndex + OptionValue)

Configuration Structure#

<ItemOptionList>
    <Option Index="0" OptionIndex="80" OptionValue="10"
            ItemMinIndex="*" ItemMaxIndex="*"
            SkillSwitch="*" LuckSwitch="*"
            AditionalMin="*" AditionalMax="*"
            Excellent="*" ItemLvlMin="*" ItemLvlMax="*"
            Ancient="*" />
</ItemOptionList>

Attributes#

AttributeTypeDefaultDescription
IndexintRequiredTarget slot on the item (0-29). See slot mapping below.
OptionIndexintRequiredStat type to modify. See OptionIndex Reference.
OptionValueintRequiredAmount to add or multiply. For slot 2 entries, the loader stores OptionValue * JoL value (0-15) on the item at generation time; supply the per-JoL-level bonus, not the total.
ItemMinIndexint/**Minimum item index (wildcard = any)
ItemMaxIndexint/**Maximum item index (wildcard = any)
SkillSwitchint/**Required skill flag (1 = has skill, 0 = no skill, * = any)
LuckSwitchint/**Required luck flag (1 = has luck, 0 = no luck, * = any)
AditionalMinint/**Minimum JoL value (0-15). Matches the item's additional (JoL) option.
AditionalMaxint/**Maximum JoL value (0-15).
Excellentint/**Excellent option bitmask filter. See below.
ItemLvlMinint/**Minimum item level (0-15)
ItemLvlMaxint/**Maximum item level (0-15)
Ancientint/**Ancient tier filter. See below.
LuckJoSRateint0Jewel of Soul success-rate bonus (%) granted by the Luck slot. Applied to JoS enchant rolls; VIP bonus adds on top.
LuckChaosMixRateint0Chaos Machine +10~+15 mix rate bonus (%) granted by the Luck slot. VIP bonus adds on top.
Namestring-Optional human-readable description (ignored at runtime)

Special Option Slot Mapping (Index Values)#

Each item has a fixed 30-slot array. The loader writes OptionIndex/OptionValue into the slot selected by Index.

IndexSlotPurpose
0Skill slotSkill option (set to the item's skill ID when the Skill flag is on). Wing and pet items also use this slot for the wing and Fenrir bonus options (OptionIndex 49, 62 and 76).
1Luck slotLuck option. Entries in this slot also carry LuckJoSRate and LuckChaosMixRate.
2JoL slotJoL option. Stored value = OptionValue * (JoL value 0-15), applied at item generation. The applier reads the already-multiplied amount as a flat number. The reachable ceiling is MaxItemOption in Common.dat (default 7, max 15).
3Excellent slot 1Excellent option slot 1
4Excellent slot 2Excellent option slot 2
5Excellent slot 3Excellent option slot 3
6Excellent slot 4Excellent option slot 4
7Excellent slot 5Excellent option slot 5
8Excellent slot 6Excellent option slot 6
9Custom bonus slot 1Custom bonus slot 1
10Custom bonus slot 2Custom bonus slot 2
11Custom bonus slot 3Custom bonus slot 3
12Custom bonus slot 4Custom bonus slot 4
13Custom bonus slot 5Custom bonus slot 5
14-29Custom bonus slots 6-21Additional custom bonus slots. Identical behaviour to 9-13 - pure filter rows with no special meaning attached to the slot number

Option Index Reference#

The OptionIndex value determines what stat is modified. Values in the standard range run from 80 to 161 (80-154 core stats, plus 155-161 for the 380-set PvP / SD stats).

See OptionIndex Reference for the complete list of all option types.

Common examples:

OptionIndexEffect
80Add Physical Damage
83Add Defense
91Increase Max HP (%)
94Increase Physical Damage (%)
117Add Experience Rate
136-140Add Stats (STR / AGI / VIT / ENE / CMD)

Excellent Bitmask#

The Excellent attribute filters using bitwise AND against the item's excellent option flags. Each of the six excellent flags is stored in its own bit:

BitValueExcellent Slot
01Excellent option 1
12Excellent option 2
24Excellent option 3
38Excellent option 4
416Excellent option 5
532Excellent option 6

Filter behavior:

  • Excellent="*" - ignore the flag
  • Excellent="0" - match only items with no excellent options at all
  • Any other value - match if the item's excellent option flags share any bit with this value
Excellent ValueMatches Items With
*Any item (no filter)
1Bit 0 set (excellent option 1)
2Bit 1 set (excellent option 2)
3Bit 0 or bit 1 set
63Any of the six excellent bits set

Ancient Filter#

The Ancient filter matches against the item's ancient tier: 0 = not ancient, 1 = tier 1, 2 = tier 2.

Ancient ValueMatches
*Any item
0Non-ancient items only
1Ancient tier 1 only
2Ancient tier 2 only
3Any ancient item (tier 1 or tier 2)

Wildcard Usage#

Using * (asterisk) means "any value" and disables that filter:

<!-- All weapons get +10 physical damage in slot 0 -->
<Option Index="0" OptionIndex="80" OptionValue="10"
        ItemMinIndex="*" ItemMaxIndex="*" SkillSwitch="*"
        LuckSwitch="*" AditionalMin="*" AditionalMax="*"
        Excellent="*" ItemLvlMin="*" ItemLvlMax="*" Ancient="*" />

<!-- Only applies to items with the skill flag on -->
<Option Index="0" OptionIndex="80" OptionValue="20"
        ItemMinIndex="*" ItemMaxIndex="*" SkillSwitch="1"
        LuckSwitch="*" AditionalMin="*" AditionalMax="*"
        Excellent="*" ItemLvlMin="*" ItemLvlMax="*" Ancient="*" />

Examples#

<!-- (CharLevel + MasterLevel) / 20 added to physical damage -->
<!-- OptionIndex 93 = physical damage per level -->
<!-- Example: Level 400 + ML 0 = +20, Level 400 + ML 200 = +30 -->
<Option Index="9" OptionIndex="93" OptionValue="20"
        ItemMinIndex="0" ItemMaxIndex="2559"
        SkillSwitch="*" LuckSwitch="*" AditionalMin="*"
        AditionalMax="*" Excellent="*" ItemLvlMin="*"
        ItemLvlMax="*" Ancient="*" />

Important Behavior#

Common Issues#

Last updated August 20, 2026