SetItemOption

Defines set bonuses for piece count and full set completion

This configuration file defines the bonuses granted by set items based on how many pieces of the set are equipped.

File Location

GameServer/Data/Item/SetItemOption.xml

Dependencies

Depends On
Purpose

SetItemType.xml

Maps items to set IDs (OptionIndex)

How It Works

  1. Player equips set items

  2. Server counts pieces matching each set ID

  3. For N pieces, applies bonuses from PieceBonus1 through PieceBonus(N-1)

  4. If all pieces equipped, also applies FullSetBonus

circle-info

Piece Count Logic: PieceBonus1 requires 2 pieces, PieceBonus2 requires 3 pieces, etc. The bonus number is one less than the piece count.

Structure

<SetItemOptionList>
    <Set Index="1" Name="Warrior">
        <PieceBonus1 OptionIndex1="0" OptionValue1="10" OptionIndex2="-1" OptionValue2="-1"/>
        <PieceBonus2 OptionIndex1="19" OptionValue1="10" OptionIndex2="-1" OptionValue2="-1"/>
        <PieceBonus3 OptionIndex1="13" OptionValue1="20" OptionIndex2="-1" OptionValue2="-1"/>
        <PieceBonus4 OptionIndex1="14" OptionValue1="5" OptionIndex2="-1" OptionValue2="-1"/>
        <PieceBonus5 OptionIndex1="10" OptionValue1="20" OptionIndex2="-1" OptionValue2="-1"/>
        <PieceBonus6 OptionIndex1="1" OptionValue1="10" OptionIndex2="-1" OptionValue2="-1"/>
        <FullSetBonus OptionIndex1="15" OptionValue1="5" OptionIndex2="17" OptionValue2="5"
                      OptionIndex3="0" OptionValue3="25" OptionIndex4="-1" OptionValue4="-1"
                      OptionIndex5="-1" OptionValue5="-1"/>
    </Set>
</SetItemOptionList>

Attributes

Set Element

Attribute
Type
Description

Index

int

Set ID (0-99, referenced by SetItemType.xml)

Name

string

Set name (for display/logs)

PieceBonus1-6

Attribute
Type
Description

OptionIndex1

int

First bonus type (-1 = none)

OptionValue1

int

First bonus value

OptionIndex2

int

Second bonus type (-1 = none)

OptionValue2

int

Second bonus value

FullSetBonus

Attribute
Type
Description

OptionIndex1-5

int

Bonus types (-1 = none)

OptionValue1-5

int

Bonus values

Option Types (eSetItemOption)

Index
Name
Effect

0

Add Strength

+value STR

1

Add Dexterity

+value AGI

2

Add Energy

+value ENE

3

Add Vitality

+value VIT

4

Add Leadership

+value CMD

5

Add Min Physical Damage

+value min damage

6

Add Max Physical Damage

+value max damage

7

Multiply Magic Damage

+value% magic damage

8

Add Physical Damage

+value min AND max damage

9

Multiply Attack Success Rate

+value% attack rate

10

Add Defense

+value defense

11

Add Max Life

+value HP

12

Add Max Mana

+value MP

13

Add Max BP

+value AG (Stamina)

14

Add BP Recovery

+value AG recovery

15

Add Critical Damage Rate

+value% critical rate

16

Add Critical Damage

+value critical damage

17

Add Excellent Damage Rate

+value% excellent rate

18

Add Excellent Damage

+value excellent damage

19

Add Skill Damage

+value skill damage

20

Add Double Damage Rate

+value% double damage rate

21

Add Ignore Defense Rate

+value% ignore defense

22

Multiply Shield Defense

+value% defense (shield required)

23

Multiply Two-Hand Physical Damage

+value% damage (two-hand weapon required)

Conditional Options (Division-Based)

Index
Name
Effect

24

Add Physical Damage by Strength

+STR/value damage

25

Add Physical Damage by Dexterity

+AGI/value damage

26

Add Defense by Dexterity

+AGI/value defense

27

Add Defense by Vitality

+VIT/value defense

28

Add Magic Damage by Energy

+ENE/value magic damage

Elemental Resistance

Index
Name
Effect

29

Add Ice Resistance

+value ice resistance

30

Add Poison Resistance

+value poison resistance

31

Add Lightning Resistance

+value lightning resistance

32

Add Fire Resistance

+value fire resistance

33

Add Earth Resistance

+value earth resistance

34

Add Wind Resistance

+value wind resistance

35

Add Water Resistance

+value water resistance

circle-exclamation

Examples

Important Behavior

circle-info

Cumulative Bonuses: All PieceBonus entries up to (piece_count - 1) are applied cumulatively. With 4 pieces, you get PieceBonus1 + PieceBonus2 + PieceBonus3.

circle-info

Full Set Detection: Full set bonus triggers when equipped piece count equals the maximum option count for that set (based on how many PieceBonus entries have valid options).

circle-exclamation
circle-info

IsFullSetItem Flag: When full set is equipped, lpObj->IsFullSetItem is set to 1. This can trigger other game effects.

Common Issues

circle-exclamation
circle-exclamation
triangle-exclamation

Last updated