Armor Set Guide

Guide to Working with armor_set.xml

1. Structure of the armor_set.xml File
The armor_set.xml file is used to describe various armor sets. Armor sets are defined in XML format, describing the components of the set as well as the skills they provide. Below is an example of the file structure:

XML:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE list SYSTEM "armor_sets.dtd">
<list>
    <set id="1" chest="23;70096" legs="2386;70097" head="43;70095" skills="3500-1" />
    <set id="2" chest="1101;70099" legs="1104;70100" head="44;70098" skills="3501-1" />
    ...
</list>

Each set (tag <set>) represents a specific combination of armor pieces and has unique characteristics and skills.

2. Main Attributes of Set Elements
Each <set> element in the armor_set.xml file has the following attributes:

  • id - a unique identifier for the armor set.
  • chest, legs, head, gloves, feet, shield - IDs of the items included in the armor set. Each ID can be specified as a single value or a list separated by semicolons.
  • skills - the ID of the skill that the player receives when wearing the entire set.
  • shield_skills - the ID of the skill that is granted when using a shield in the set.
  • enchant6skills - the ID of the skill that activates when all parts of the set are enchanted to +6 or higher. Also, you can set enchant6skills enchant7skills enchant8skills .... enchant128skills
  • parts2skills, parts3skills - skills that activate when two or three parts of the set are equipped. parts2skills, parts3skills, parts4skills, parts5skills etc.

3. Example of Adding a New Armor Set
To add a new armor set, you need to add a new <set> tag to the armor_set.xml file with all the necessary attributes. For example, let's add an armor set with a unique ID of 53:

XML:
<set id="53" chest="6390" legs="6391" head="6392" gloves="6393" feet="6394" skills="3557-1" enchant6skills="3626-1" />

This set consists of five armor pieces and grants a skill with ID 3557 when the entire set is worn, as well as an additional skill 3626 when all parts are enchanted to +6 or higher.
 
Last edited:
[13:28:26] WARN Unknown skill: 17010
Code:
<skill id="17010" levels="1" name="Heavy set Set">
    <set name="icon" val="l2evo.evoau"/> 
    <set name="magicLevel" val="1"/> 
    <set name="target" val="TARGET_SELF"/> 
    <set name="skillType" val="BUFF"/> 
    <set name="operateType" val="OP_PASSIVE"/> 
    <for>
      <mul order="0x30" stat="pDef" val="1.10"/>  <!-- 10% pdef -->
        <mul order="0x30" stat="mDef" val="1.10"/>  <!-- 10% mdef -->
        <add order="0x40" stat="runSpd" val="8"/>
        <mul order="0x30" stat="maxHp" val="1.10"/>
        <mul order="0x30" stat="maxCp" val="1.10"/>
    </for>
  </skill>

@Deazer why I get this warning when I use it with the parts5skills

Code:
<set id="56" chest="9600" head="9603" gloves="9601" feet="9602" skills="11001-1" enchant6skills="9000-1" parts5skills="17010" enchant16skills="17001-1" />
 
[13:28:26] WARN Unknown skill: 17010
Code:
<skill id="17010" levels="1" name="Heavy set Set">
    <set name="icon" val="l2evo.evoau"/>
    <set name="magicLevel" val="1"/>
    <set name="target" val="TARGET_SELF"/>
    <set name="skillType" val="BUFF"/>
    <set name="operateType" val="OP_PASSIVE"/>
    <for>
      <mul order="0x30" stat="pDef" val="1.10"/>  <!-- 10% pdef -->
        <mul order="0x30" stat="mDef" val="1.10"/>  <!-- 10% mdef -->
        <add order="0x40" stat="runSpd" val="8"/>
        <mul order="0x30" stat="maxHp" val="1.10"/>
        <mul order="0x30" stat="maxCp" val="1.10"/>
    </for>
  </skill>

@Deazer why I get this warning when I use it with the parts5skills

Code:
<set id="56" chest="9600" head="9603" gloves="9601" feet="9602" skills="11001-1" enchant6skills="9000-1" parts5skills="17010" enchant16skills="17001-1" />
parts5skills="17010-1"
 
Helo @Deazer ! Is it possible to have something like this for jewelry as well?
For example: <set id="68" LEFT_FINGER="50021" RIGHT_FINGER="50024" LEFT_EAR="50022" RIGHT_EAR="50023" skills="3556-1" />
 
How do I make the same set have skills when equipping 2, 3, or 4 pieces without having the complete set, just like in the classic set?

Example: Nightmare Heavy's passive skill is 3536 lv 1 with the complete set. So it would be:
Skill 3536 lv1 = 2 pieces of the set
Skill 3536 lv2 = 3 pieces of the set
Skill 3536 lv3 = 4 pieces of the set

How should I do it?
1775444310288.webp1775444575647.webp1775444331119.webp1775444369376.webp
 
How do I make the same set have skills when equipping 2, 3, or 4 pieces without having the complete set, just like in the classic set?

Example: Nightmare Heavy's passive skill is 3536 lv 1 with the complete set. So it would be:
Skill 3536 lv1 = 2 pieces of the set
Skill 3536 lv2 = 3 pieces of the set
Skill 3536 lv3 = 4 pieces of the set

How should I do it?
View attachment 8346View attachment 8349View attachment 8347View attachment 8348
It’s in the guide above, just read it.
 
How do I make the same set have skills when equipping 2, 3, or 4 pieces without having the complete set, just like in the classic

  • parts2skills, parts3skills - skills that activate when two or three parts of the set are equipped. parts2skills, parts3skills, parts4skills, parts5skills etc.
 
  • parts2skills, parts3skills - skills that activate when two or three parts of the set are equipped. parts2skills, parts3skills, parts4skills, parts5skills etc.
Should the armor set line look like this?
I didn't quite understand how I should do it.

<set id="40" chest="374" head="2418;90473" gloves="5771" feet="5783" skills="3536-1" shield="2498" shield_skills="3551-1" parts2skills="3536-1" parts3skills="3536-2" parts4skills="3536-3" />
 
Should the armor set line look like this?
I didn't quite understand how I should do it.

<set id="40" chest="374" head="2418;90473" gloves="5771" feet="5783" skills="3536-1" shield="2498" shield_skills="3551-1" parts2skills="3536-1" parts3skills="3536-2" parts4skills="3536-3" />
If you use partskills, I don't think it's necessary to use skills="3536-1"... Need to test to be sure...
 
If you use partskills, I don't think it's necessary to use skills="3536-1"... Need to test to be sure...
The armor set's lineup ended up like this:

<set id="40" chest="374" head="2418;90473" gloves="5771" feet="5783" parts2skills="3536-1" parts3skills="3536-2" parts4skills="3536-3" shield="2498" shield_skills="3551-1" />
 
Even after editing and getting it working, I still found another possible problem, for example:
1775624141862.webp

Using a 4-piece outfit gives skill level 3, but when removing a piece of the outfit, skill level 2 doesn't automatically appear and doesn't grant any stats.
1775624175203.webp

I need to remove another piece and add it again to raise skill level 2.
1775624193601.webp

Another detail: the system requires the chest piece to be used to activate skill level 1. It only appears if I'm wearing the armor chest piece and any other piece, and skill level 2 with 3 pieces doesn't appear if I use a helmet, gloves, and boots.
1775624287836.webp1775624385874.webp

Could Deazer verify this? I believe it's a simple function in Java.
 
Another detail: the system requires the chest piece to be used to activate skill level 1. It only appears if I'm wearing the armor chest piece and any other piece, and skill level 2 with 3 pieces doesn't appear if I use a helmet, gloves, and boots.
Maybe I misunderstood you, but I think you're doing it all wrong from the start.
You can't give one item different levels.
You have two options: either you give each item a separate skill.
Or you give one skill per set in armor_sets.xml.
But assigning one skill to different parts won't work.
 
Back
Top