ItemGroup Configuration

An item group is a list of pieces and the options it gives. When enough pieces of a group are worn, its options apply. Pieces use the same filters as ItemOption.xml, so the same items can form a +9 group and a +13 group with different options.

Groups work next to ancient sets. Nothing is stored on the item: editing the file changes every existing item on the next reload.

File Location#

GameServer/Data/Plugins/Items/ItemGroup.xml

Dependencies#

Depends OnPurpose
Item.xmlItem indexes used by ItemMinIndex / ItemMaxIndex
OptionIndex ReferenceValid OptionIndex values (same pool as ItemOption.xml and SetItemOption.xml)
ItemOptionNames.xmlText shown for each option in the tooltip

Configuration Structure#

<ItemGroupList Enabled="1">
    <Group Id="1" Name="Dragon +9" Pieces="*" Class="*">
        <Member ItemMinIndex="3585" ItemMaxIndex="3585" ItemLvlMin="9"/>
        <Member ItemMinIndex="4097" ItemMaxIndex="4097" ItemLvlMin="9"/>
        ...
        <Option OptionIndex="91" Value="5"/>
    </Group>
</ItemGroupList>

ItemGroupList#

AttributeTypeRangeDefaultEffect
Enabledint0-110 turns the whole feature off. The shipped file has Enabled="0".

Group#

AttributeTypeRangeDefaultEffect
Idint1-65535-Group number. Must be unique. A group without a valid Id is skipped.
Nametextmax 31 charactersemptyShown in the item tooltip.
Piecesint or *1 - member count*How many members must be worn. * = all members.
Classlist or *DW, DK, ELF, MG, DL, SUM, RF*Classes that get the options, comma separated, e.g. DK,MG. An unknown name skips the group.
Replacesid listup to 8 idsemptyGroups this group turns off while it is active, e.g. 1 or 1,2.

Member#

One piece. Every filter uses * (or a missing attribute) for "don't check".

AttributeTypeRangeEffect
ItemMinIndex / ItemMaxIndexint0-8191Item index range, Section*512 + Index.
Slotint0-11Equip slot: 0 right hand, 1 left hand, 2 helm, 3 armor, 4 pants, 5 gloves, 6 boots, 7 wings, 8 helper, 9 pendant, 10 / 11 rings.
SkillSwitchint0-11 = must have skill, 0 = must not.
LuckSwitchint0-11 = must have luck, 0 = must not.
AditionalMin / AditionalMaxint0-15Jewel of Life option level.
Excellentbitmask0-630 = must not be excellent. Otherwise the item needs any of the bits.
ItemLvlMin / ItemLvlMaxint0-15Item level (+0 to +15).
Ancientint0-30 = not ancient, 1 = tier 1, 2 = tier 2, 3 = any ancient.

Option#

AttributeTypeRangeEffect
OptionIndexint80-165The effect. Same ids as ItemOption.xml.
ValueintanyAmount, in the effect's own scale (flat or percent, see the OptionIndex reference).

Limits: 255 groups, 16 members and 8 options per group.

Important Behavior#

  • One worn item counts for one member only. Two members with the same ring range need two rings.
  • An item counts only while its requirements are met and its durability is above 0.
  • The options apply once per group, not once per piece.
  • Replaces chains: if +15 replaces +13 and +13 replaces +9, a full +15 set gets only the +15 options. A matched group turns off its targets even when it is itself turned off.
  • A Replaces loop (1 replaces 2, 2 replaces 1) is ignored for the groups in the loop, with a warning in the log.
  • Options 100, 101 and 105 (wing options per item level) do not work in a group. They are skipped with a warning.
  • Without Replaces, every matched group applies. A full +13 set then gets both the +9 and the +13 options.
  • The vanilla +10 to +15 full armor bonus (extra defense for 5 pieces of one armor type) still applies on top of groups.

Tooltip#

Items in a group get a second tooltip box to the right of the item tooltip (left when there is no room on the right). The ancient set box stays on the left.

The box shows:

  • Pieces - the members of the group, with the level of the worn piece. Blue = worn, green = the item you hover (not worn yet), gray = missing.
  • One block per group the item belongs to, up to 3: Name (worn/needed) and its options. The level filter is not checked for this list, so a +7 piece also shows the +9 and +13 groups it can grow into.
Option colorMeaning
BlueGroup is active now
GreenGroup becomes active if you equip this item
GrayGroup is not active (not enough pieces, wrong class, or replaced)

The client does not check stat requirements, so a piece worn without enough stats can show a group as blue while the server does not apply it.

Examples#

Dragon set with three steps. The shipped file has this example.

<ItemGroupList Enabled="1">

    <Group Id="1" Name="Dragon +9" Pieces="*">
        <Member ItemMinIndex="3585" ItemMaxIndex="3585" ItemLvlMin="9"/> <!-- Helm -->
        <Member ItemMinIndex="4097" ItemMaxIndex="4097" ItemLvlMin="9"/> <!-- Armor -->
        <Member ItemMinIndex="4609" ItemMaxIndex="4609" ItemLvlMin="9"/> <!-- Pants -->
        <Member ItemMinIndex="5121" ItemMaxIndex="5121" ItemLvlMin="9"/> <!-- Gloves -->
        <Member ItemMinIndex="5633" ItemMaxIndex="5633" ItemLvlMin="9"/> <!-- Boots -->
        <Option OptionIndex="91"  Value="5"/>  <!-- Max HP +5% -->
        <Option OptionIndex="127" Value="5"/>  <!-- Defense +5% -->
    </Group>

    <Group Id="2" Name="Dragon +13" Pieces="*" Replaces="1">
        <!-- same 5 members with ItemLvlMin="13" -->
        <Option OptionIndex="91"  Value="10"/>
        <Option OptionIndex="127" Value="10"/>
        <Option OptionIndex="94"  Value="5"/>
    </Group>

    <Group Id="3" Name="Dragon +15" Pieces="*" Replaces="2">
        <!-- same 5 members with ItemLvlMin="15" -->
        <Option OptionIndex="91"  Value="15"/>
        <Option OptionIndex="127" Value="15"/>
        <Option OptionIndex="94"  Value="10"/>
        <Option OptionIndex="102" Value="5"/>
    </Group>

</ItemGroupList>
WornActive group
full set +9 to +12Dragon +9
full set +13 to +14Dragon +13
full set +15Dragon +15
4 pieces onlynone

Partial set: Pieces="3" on a 5-member group gives the options for any 3 of the 5 pieces.

Reloading#

The file is re-read by the standard plugin reload. Online players get the new stats right away. The tooltip text refreshes on their next login.

Common Issues#

SymptomCauseFix
Group never activatesA piece is broken (0 durability) or its stat requirements are not metRepair the item, meet the requirements
Both +9 and +13 options applyThe +13 group has no ReplacesAdd Replaces="<+9 group id>"
Option line missing in tooltipNo display name for that OptionIndexAdd a Type 0 entry in ItemOptionNames.xml
Group missing after reloadBad Id, unknown Class name or no valid membersCheck the GameServer log for ItemGroup warnings

Last updated November 6, 2026