From d4b385cffb3ec99b80ed8d979304fc490fbbe7d9 Mon Sep 17 00:00:00 2001
From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com>
Date: Mon, 20 Nov 2017 02:22:09 +0000
Subject: [PATCH] Adapted appearance stone rework to all branches.
---
.../dist/game/data/AppearanceStones.xml | 3269 ++++++++++++--
.../game/data/stats/items/24500-24599.xml | 1195 ++++--
.../game/data/stats/items/24600-24699.xml | 2406 +++++++----
.../game/data/stats/items/24700-24799.xml | 2686 +++++++-----
.../game/data/stats/items/24800-24899.xml | 3406 +++++++++------
.../game/data/stats/items/24900-24999.xml | 3226 ++++++++------
.../game/data/stats/items/25000-25099.xml | 2966 ++++++++-----
.../game/data/stats/items/25100-25199.xml | 2286 ++++++----
.../game/data/stats/items/25200-25299.xml | 2306 ++++++----
.../game/data/stats/items/25300-25399.xml | 2226 ++++++----
.../game/data/stats/items/25400-25499.xml | 3146 ++++++++------
.../game/data/stats/items/25500-25599.xml | 3406 +++++++++------
.../game/data/stats/items/25600-25699.xml | 3306 ++++++++------
.../game/data/stats/items/25700-25799.xml | 220 +-
.../game/data/stats/items/26200-26299.xml | 6 +
.../dist/game/data/xsd/AppearanceStones.xsd | 102 +
.../data/xml/impl/AppearanceItemData.java | 24 +-
.../model/holders/AppearanceHolder.java | 85 +
.../items/appearance/AppearanceStone.java | 350 +-
...yToPutShapeShiftingEnchantSupportItem.java | 167 +-
...uestExTryToPutShapeShiftingTargetItem.java | 170 +-
.../appearance/RequestShapeShiftingItem.java | 255 +-
.../appearance/ExShapeShiftingResult.java | 2 +
.../dist/game/data/AppearanceStones.xml | 3751 ++++++++++++++--
.../game/data/stats/items/24500-24599.xml | 1195 ++++--
.../game/data/stats/items/24600-24699.xml | 1202 ++++--
.../game/data/stats/items/24700-24799.xml | 1002 ++++-
.../game/data/stats/items/24800-24899.xml | 1002 ++++-
.../game/data/stats/items/24900-24999.xml | 1062 ++++-
.../game/data/stats/items/25000-25099.xml | 1282 +++++-
.../game/data/stats/items/25100-25199.xml | 1082 +++--
.../game/data/stats/items/25200-25299.xml | 1102 +++--
.../game/data/stats/items/25300-25399.xml | 1102 +++--
.../game/data/stats/items/25400-25499.xml | 1182 +++--
.../game/data/stats/items/25500-25599.xml | 1202 ++++--
.../game/data/stats/items/25600-25699.xml | 1102 ++++-
.../game/data/stats/items/25700-25799.xml | 220 +-
.../game/data/stats/items/26200-26299.xml | 6 +
.../game/data/stats/items/26300-26399.xml | 6 +
.../game/data/stats/items/26500-26599.xml | 2105 +++++----
.../game/data/stats/items/26600-26699.xml | 502 ++-
.../game/data/stats/items/26700-26799.xml | 502 ++-
.../game/data/stats/items/26800-26899.xml | 502 ++-
.../game/data/stats/items/26900-26999.xml | 502 ++-
.../game/data/stats/items/27000-27099.xml | 502 ++-
.../game/data/stats/items/27100-27199.xml | 1906 ++++++---
.../game/data/stats/items/27200-27299.xml | 1936 +++++----
.../game/data/stats/items/27300-27399.xml | 1150 +++--
.../game/data/stats/items/27400-27499.xml | 2536 ++++++-----
.../game/data/stats/items/46100-46199.xml | 3 +
.../game/data/stats/items/46200-46299.xml | 100 +-
.../game/data/stats/items/46300-46399.xml | 18 +-
.../game/data/stats/items/46600-46699.xml | 144 +-
.../dist/game/data/xsd/AppearanceStones.xsd | 102 +
.../data/xml/impl/AppearanceItemData.java | 24 +-
.../model/holders/AppearanceHolder.java | 85 +
.../items/appearance/AppearanceStone.java | 350 +-
...yToPutShapeShiftingEnchantSupportItem.java | 167 +-
...uestExTryToPutShapeShiftingTargetItem.java | 170 +-
.../appearance/RequestShapeShiftingItem.java | 255 +-
.../appearance/ExShapeShiftingResult.java | 2 +
.../dist/game/data/AppearanceStones.xml | 3791 +++++++++++++++--
.../game/data/stats/items/24500-24599.xml | 2399 +++++++----
.../game/data/stats/items/24600-24699.xml | 2406 +++++++----
.../game/data/stats/items/24700-24799.xml | 2686 +++++++-----
.../game/data/stats/items/24800-24899.xml | 3406 +++++++++------
.../game/data/stats/items/24900-24999.xml | 3226 ++++++++------
.../game/data/stats/items/25000-25099.xml | 2966 ++++++++-----
.../game/data/stats/items/25100-25199.xml | 2286 ++++++----
.../game/data/stats/items/25200-25299.xml | 2306 ++++++----
.../game/data/stats/items/25300-25399.xml | 2226 ++++++----
.../game/data/stats/items/25400-25499.xml | 3146 ++++++++------
.../game/data/stats/items/25500-25599.xml | 3406 +++++++++------
.../game/data/stats/items/25600-25699.xml | 3306 ++++++++------
.../game/data/stats/items/25700-25799.xml | 220 +-
.../game/data/stats/items/26200-26299.xml | 6 +
.../game/data/stats/items/26300-26399.xml | 6 +
.../game/data/stats/items/26500-26599.xml | 401 +-
.../game/data/stats/items/26600-26699.xml | 1906 ++++++---
.../game/data/stats/items/26700-26799.xml | 1906 ++++++---
.../game/data/stats/items/26800-26899.xml | 1906 ++++++---
.../game/data/stats/items/26900-26999.xml | 1906 ++++++---
.../game/data/stats/items/27000-27099.xml | 1906 ++++++---
.../game/data/stats/items/27100-27199.xml | 1906 ++++++---
.../game/data/stats/items/27200-27299.xml | 1936 +++++----
.../game/data/stats/items/27300-27399.xml | 2206 ++++++----
.../game/data/stats/items/27400-27499.xml | 640 ++-
.../game/data/stats/items/46100-46199.xml | 3 +
.../game/data/stats/items/46200-46299.xml | 100 +-
.../game/data/stats/items/46300-46399.xml | 18 +-
.../game/data/stats/items/46600-46699.xml | 104 +-
.../game/data/stats/items/47300-47399.xml | 36 +-
.../game/data/stats/items/47400-47499.xml | 36 +-
.../dist/game/data/xsd/AppearanceStones.xsd | 102 +
.../data/xml/impl/AppearanceItemData.java | 24 +-
.../model/holders/AppearanceHolder.java | 85 +
.../items/appearance/AppearanceStone.java | 350 +-
...yToPutShapeShiftingEnchantSupportItem.java | 167 +-
...uestExTryToPutShapeShiftingTargetItem.java | 170 +-
.../appearance/RequestShapeShiftingItem.java | 255 +-
.../appearance/ExShapeShiftingResult.java | 2 +
.../game/data/stats/items/26500-26599.xml | 18 +-
.../game/data/stats/items/27400-27499.xml | 26 +-
.../game/data/stats/items/46500-46599.xml | 40 +-
.../dist/game/data/xsd/AppearanceStones.xsd | 102 +
.../data/xml/impl/AppearanceItemData.java | 24 +-
.../model/holders/AppearanceHolder.java | 85 +
.../items/appearance/AppearanceStone.java | 350 +-
...yToPutShapeShiftingEnchantSupportItem.java | 167 +-
...uestExTryToPutShapeShiftingTargetItem.java | 170 +-
.../appearance/RequestShapeShiftingItem.java | 255 +-
.../appearance/ExShapeShiftingResult.java | 2 +
112 files changed, 83636 insertions(+), 41736 deletions(-)
create mode 100644 L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/holders/AppearanceHolder.java
create mode 100644 L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/holders/AppearanceHolder.java
create mode 100644 L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/holders/AppearanceHolder.java
create mode 100644 L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/holders/AppearanceHolder.java
diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/AppearanceStones.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/AppearanceStones.xml
index 0b03fb0a73..e70865e465 100644
--- a/L2J_Mobius_1.0_Ertheia/dist/game/data/AppearanceStones.xml
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/AppearanceStones.xml
@@ -1,6 +1,5 @@
-
R
@@ -16,7 +15,7 @@
-
+
R
R95
@@ -31,7 +30,7 @@
-
+
R
R95
@@ -46,6 +45,127 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -122,142 +242,9 @@
WEAPON
ARMOR
-
- R
- R95
- R99
- WEAPON
- ARMOR
-
-
- S
- S80
- WEAPON
- ARMOR
-
-
- WEAPON
- ARMOR
-
-
- WEAPON
- ARMOR
-
-
- WEAPON
- ARMOR
-
-
- WEAPON
- ARMOR
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- chest
- fullarmor
-
-
-
- chest
- fullarmor
-
-
-
-
-
- hair
- hair2
- hairall
-
-
-
- chest
- fullarmor
-
-
-
-
-
- hair
- hair2
- hairall
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- chest
- fullarmor
-
-
- chest
- fullarmor
-
-
-
- chest
- fullarmor
-
-
- chest
- fullarmor
-
+
+
chest
fullarmor
@@ -271,6 +258,16 @@
hairall
+
+
+ chest
+ fullarmor
+
+
+
+
+
+
chest
fullarmor
@@ -284,22 +281,7 @@
hairall
-
- chest
- fullarmor
-
-
-
-
-
-
- chest
- fullarmor
-
-
-
-
-
+
chest
fullarmor
@@ -308,21 +290,92 @@
-
+
+
+ chest
+ fullarmor
+
+
+
+
+
hair
hair2
hairall
-
+
+
+
+ chest
+ fullarmor
+
+
+
+
+
+
+
+ chest
+ fullarmor
+
+
+
+
+
+ hair
+ hair2
+ hairall
+
+
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
chest
fullarmor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
chest
fullarmor
-
+
+
+
+ chest
+ fullarmor
+
+
+
chest
fullarmor
@@ -336,33 +389,2755 @@
hairall
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ chest
+ fullarmor
+
+
+ hair
+ hair2
+ hairall
+
-
+
+
chest
fullarmor
-
-
+
+ hair
+ hair2
+ hairall
+
+
+
+
+
+
+
+
+
+
+
chest
fullarmor
-
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hair
+ hair2
+ hairall
+
+
+ chest
+ fullarmor
+
+
chest
fullarmor
@@ -372,11 +3147,6 @@
hair2
hairall
-
-
- chest
- fullarmor
-
chest
@@ -388,141 +3158,12 @@
hairall
-
+
+
chest
fullarmor
-
- hair
- hair2
- hairall
-
-
-
- chest
- fullarmor
-
-
- hair
- hair2
- hairall
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- hair
- hair2
- hairall
-
-
- chest
- fullarmor
-
-
-
- hair
- hair2
- hairall
-
-
+
chest
fullarmor
diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/24500-24599.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/24500-24599.xml
index f3459153c6..4dffaf3144 100644
--- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/24500-24599.xml
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/24500-24599.xml
@@ -3,901 +3,1494 @@
-
-
-
-
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/24600-24699.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/24600-24699.xml
index fe2791d8f1..ba3daca2d5 100644
--- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/24600-24699.xml
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/24600-24699.xml
@@ -1,903 +1,1503 @@
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/24700-24799.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/24700-24799.xml
index f5ae57bfe5..55c27d559a 100644
--- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/24700-24799.xml
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/24700-24799.xml
@@ -1,1043 +1,1643 @@
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/24800-24899.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/24800-24899.xml
index ba6cbc31c4..1e2d838a6f 100644
--- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/24800-24899.xml
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/24800-24899.xml
@@ -1,1403 +1,2003 @@
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/24900-24999.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/24900-24999.xml
index 4f58d58006..d7e3917a4b 100644
--- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/24900-24999.xml
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/24900-24999.xml
@@ -1,1283 +1,1943 @@
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25000-25099.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25000-25099.xml
index bb21ec08d3..e18c48020b 100644
--- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25000-25099.xml
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25000-25099.xml
@@ -1,1043 +1,1923 @@
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25100-25199.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25100-25199.xml
index eb9a8b2614..a237d7214d 100644
--- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25100-25199.xml
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25100-25199.xml
@@ -1,883 +1,1403 @@
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25200-25299.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25200-25299.xml
index 9d3de57f80..d791de3666 100644
--- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25200-25299.xml
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25200-25299.xml
@@ -1,903 +1,1403 @@
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25300-25399.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25300-25399.xml
index ab378bbc73..988443b130 100644
--- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25300-25399.xml
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25300-25399.xml
@@ -1,863 +1,1363 @@
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25400-25499.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25400-25499.xml
index 795d48e42b..8158697f15 100644
--- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25400-25499.xml
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25400-25499.xml
@@ -1,1283 +1,1863 @@
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25500-25599.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25500-25599.xml
index e1704b61ff..e2f9eabde4 100644
--- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25500-25599.xml
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25500-25599.xml
@@ -1,1403 +1,2003 @@
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25600-25699.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25600-25699.xml
index 48e53b2cab..78368b6184 100644
--- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25600-25699.xml
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25600-25699.xml
@@ -1,1303 +1,2003 @@
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25700-25799.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25700-25799.xml
index 17458460fe..0399cef340 100644
--- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25700-25799.xml
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/25700-25799.xml
@@ -1,8 +1,11 @@

-
-
+
+
+
+
@@ -10,12 +13,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -23,12 +33,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -36,12 +53,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -49,12 +73,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -62,12 +93,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -75,12 +113,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -88,12 +133,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -101,12 +153,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -114,12 +173,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -127,12 +193,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -140,12 +213,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -153,12 +233,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -166,12 +253,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -179,12 +273,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -192,12 +293,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -205,12 +313,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -218,12 +333,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -231,12 +353,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -244,12 +373,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -257,8 +393,12 @@
+
+
-
+
+
+
-
diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/26200-26299.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/26200-26299.xml
index e6483a91fa..5f7724f4f5 100644
--- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/26200-26299.xml
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/items/26200-26299.xml
@@ -1452,6 +1452,9 @@
+
+
+
-
@@ -1460,6 +1463,9 @@
+
+
+
-
diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/xsd/AppearanceStones.xsd b/L2J_Mobius_1.0_Ertheia/dist/game/data/xsd/AppearanceStones.xsd
index d1543c273f..86f49f9a0e 100644
--- a/L2J_Mobius_1.0_Ertheia/dist/game/data/xsd/AppearanceStones.xsd
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/xsd/AppearanceStones.xsd
@@ -95,6 +95,105 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -181,6 +280,9 @@
+
+
+
diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java
index b02157ee4d..dd15efb7ce 100644
--- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java
+++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java
@@ -22,13 +22,13 @@ import java.util.Map;
import java.util.logging.Logger;
import org.w3c.dom.Document;
-import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import com.l2jmobius.commons.util.IGameXmlReader;
import com.l2jmobius.gameserver.datatables.ItemTable;
import com.l2jmobius.gameserver.enums.Race;
import com.l2jmobius.gameserver.model.StatsSet;
+import com.l2jmobius.gameserver.model.holders.AppearanceHolder;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceTargetType;
import com.l2jmobius.gameserver.model.items.type.CrystalType;
@@ -75,9 +75,6 @@ public class AppearanceItemData implements IGameXmlReader
@Override
public void parseDocument(Document doc, File f)
{
- StatsSet set;
- Node att;
- NamedNodeMap attrs;
for (Node n = doc.getFirstChild(); n != null; n = n.getNextSibling())
{
if ("list".equalsIgnoreCase(n.getNodeName()))
@@ -86,15 +83,7 @@ public class AppearanceItemData implements IGameXmlReader
{
if ("appearance_stone".equalsIgnoreCase(d.getNodeName()))
{
- attrs = d.getAttributes();
- set = new StatsSet();
- for (int i = 0; i < attrs.getLength(); i++)
- {
- att = attrs.item(i);
- set.set(att.getNodeName(), att.getNodeValue());
- }
-
- final AppearanceStone stone = new AppearanceStone(set);
+ final AppearanceStone stone = new AppearanceStone(new StatsSet(parseAttributes(d)));
for (Node c = d.getFirstChild(); c != null; c = c.getNextSibling())
{
switch (c.getNodeName())
@@ -129,6 +118,10 @@ public class AppearanceItemData implements IGameXmlReader
stone.addRaceNot(raceNot);
break;
}
+ case "visual":
+ {
+ stone.addVisualId(new AppearanceHolder(new StatsSet(parseAttributes(c))));
+ }
}
}
if (ItemTable.getInstance().getTemplate(stone.getId()) != null)
@@ -145,6 +138,11 @@ public class AppearanceItemData implements IGameXmlReader
}
}
+ public int getLoadedElementsCount()
+ {
+ return _stones.size();
+ }
+
public AppearanceStone getStone(int stone)
{
return _stones.get(stone);
diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/holders/AppearanceHolder.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/holders/AppearanceHolder.java
new file mode 100644
index 0000000000..cb609618fd
--- /dev/null
+++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/holders/AppearanceHolder.java
@@ -0,0 +1,85 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package com.l2jmobius.gameserver.model.holders;
+
+import com.l2jmobius.gameserver.datatables.ItemTable;
+import com.l2jmobius.gameserver.model.StatsSet;
+import com.l2jmobius.gameserver.model.items.appearance.AppearanceHandType;
+import com.l2jmobius.gameserver.model.items.appearance.AppearanceMagicType;
+import com.l2jmobius.gameserver.model.items.appearance.AppearanceTargetType;
+import com.l2jmobius.gameserver.model.items.type.ArmorType;
+import com.l2jmobius.gameserver.model.items.type.WeaponType;
+
+/**
+ * @author Sdw
+ */
+public class AppearanceHolder
+{
+ private final int _visualId;
+ private final WeaponType _weaponType;
+ private final ArmorType _armorType;
+ private final AppearanceHandType _handType;
+ private final AppearanceMagicType _magicType;
+ private final AppearanceTargetType _targetType;
+ private final Integer _bodyPart;
+
+ public AppearanceHolder(StatsSet set)
+ {
+ _visualId = set.getInt("id", 0);
+ _weaponType = set.getEnum("weaponType", WeaponType.class, WeaponType.NONE);
+ _armorType = set.getEnum("armorType", ArmorType.class, ArmorType.NONE);
+ _handType = set.getEnum("handType", AppearanceHandType.class, AppearanceHandType.NONE);
+ _magicType = set.getEnum("magicType", AppearanceMagicType.class, AppearanceMagicType.NONE);
+ _targetType = set.getEnum("targetType", AppearanceTargetType.class, AppearanceTargetType.NONE);
+ _bodyPart = ItemTable.SLOTS.get(set.getString("bodyPart", "none"));
+ }
+
+ public WeaponType getWeaponType()
+ {
+ return _weaponType;
+ }
+
+ public ArmorType getArmorType()
+ {
+ return _armorType;
+ }
+
+ public AppearanceHandType getHandType()
+ {
+ return _handType;
+ }
+
+ public AppearanceMagicType getMagicType()
+ {
+ return _magicType;
+ }
+
+ public AppearanceTargetType getTargetType()
+ {
+ return _targetType;
+ }
+
+ public int getBodyPart()
+ {
+ return _bodyPart;
+ }
+
+ public int getVisualId()
+ {
+ return _visualId;
+ }
+}
diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/items/appearance/AppearanceStone.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/items/appearance/AppearanceStone.java
index c4610960aa..0f9a69fec3 100644
--- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/items/appearance/AppearanceStone.java
+++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/items/appearance/AppearanceStone.java
@@ -24,10 +24,14 @@ import java.util.List;
import com.l2jmobius.gameserver.datatables.ItemTable;
import com.l2jmobius.gameserver.enums.Race;
import com.l2jmobius.gameserver.model.StatsSet;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.holders.AppearanceHolder;
import com.l2jmobius.gameserver.model.items.L2Item;
+import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.model.items.type.ArmorType;
import com.l2jmobius.gameserver.model.items.type.CrystalType;
import com.l2jmobius.gameserver.model.items.type.WeaponType;
+import com.l2jmobius.gameserver.network.SystemMessageId;
/**
* @author UnAfraid
@@ -48,6 +52,7 @@ public class AppearanceStone
private List _bodyParts;
private List _races;
private List _racesNot;
+ private List _allVisualIds;
public AppearanceStone(StatsSet set)
{
@@ -61,15 +66,35 @@ public class AppearanceStone
_handType = set.getEnum("handType", AppearanceHandType.class, AppearanceHandType.NONE);
_magicType = set.getEnum("magicType", AppearanceMagicType.class, AppearanceMagicType.NONE);
- // No grade items cannot change appearance, because client doesn't have No-Grade restoration stones.
- final CrystalType crystalType = set.getEnum("crystalType", CrystalType.class, CrystalType.NONE);
- if (crystalType == CrystalType.NONE)
+ final AppearanceTargetType targetType = set.getEnum("targetType", AppearanceTargetType.class, AppearanceTargetType.NONE);
+ if (targetType != AppearanceTargetType.NONE)
{
- for (CrystalType cryType : CrystalType.values())
+ addTargetType(targetType);
+ }
+
+ // No grade items cannot change appearance, because client doesn't have No-Grade restoration stones.
+ final CrystalType crystalType = set.getEnum("grade", CrystalType.class, null);
+
+ // If no crystal type is defined, we must add all defaults.
+ if (crystalType == null)
+ {
+ switch (targetType)
{
- if ((cryType != CrystalType.NONE) && (cryType != CrystalType.EVENT))
+ case ACCESSORY:
+ case ALL:
{
- addCrystalType(cryType);
+ addCrystalType(CrystalType.NONE);
+ }
+ case WEAPON:
+ case ARMOR:
+ {
+ for (CrystalType cryType : CrystalType.values())
+ {
+ if ((cryType != CrystalType.NONE) && (cryType != CrystalType.EVENT))
+ {
+ addCrystalType(cryType);
+ }
+ }
}
}
}
@@ -78,12 +103,6 @@ public class AppearanceStone
addCrystalType(crystalType);
}
- final AppearanceTargetType targetType = set.getEnum("targetType", AppearanceTargetType.class, AppearanceTargetType.NONE);
- if (targetType != AppearanceTargetType.NONE)
- {
- addTargetType(targetType);
- }
-
final int bodyPart = ItemTable.SLOTS.get(set.getString("bodyPart", "none"));
if (bodyPart != L2Item.SLOT_NONE)
{
@@ -185,6 +204,20 @@ public class AppearanceStone
_bodyParts.add(part);
}
+ public void addVisualId(AppearanceHolder appearanceHolder)
+ {
+ if (_allVisualIds == null)
+ {
+ _allVisualIds = new ArrayList<>();
+ }
+ _allVisualIds.add(appearanceHolder);
+ }
+
+ public List getVisualIds()
+ {
+ return _allVisualIds != null ? _allVisualIds : Collections.emptyList();
+ }
+
public List getBodyParts()
{
return _bodyParts != null ? _bodyParts : Collections.emptyList();
@@ -217,4 +250,297 @@ public class AppearanceStone
{
return _racesNot != null ? _racesNot : Collections.emptyList();
}
+
+ /**
+ * @param player the actor requesting to use this appearance.
+ * @param targetItem the item to be modified with this appearance.
+ * @return {@code true} if the item is valid for appearance change, {@code false} otherwise.
+ */
+ public boolean checkConditions(L2PcInstance player, L2ItemInstance targetItem)
+ {
+ if (targetItem == null)
+ {
+ return false;
+ }
+
+ if (getTargetTypes().isEmpty())
+ {
+ return false;
+ }
+
+ if (targetItem.isEquipped() && (getRacesNot().contains(player.getRace()) || (!getRaces().isEmpty() && !getRaces().contains(player.getRace()))))
+ {
+ player.sendPacket(SystemMessageId.YOU_CANNOT_MODIFY_AN_EQUIPPED_ITEM_INTO_THE_APPEARANCE_OF_AN_UNEQUIPPABLE_ITEM_PLEASE_CHECK_RACE_GENDER_RESTRICTIONS_YOU_CAN_MODIFY_THE_APPEARANCE_IF_YOU_UNEQUIP_THE_ITEM);
+ return false;
+ }
+
+ switch (getType())
+ {
+ case RESTORE:
+ {
+ if (targetItem.getVisualId() == 0)
+ {
+ player.sendPacket(SystemMessageId.YOU_CANNOT_RESTORE_ITEMS_THAT_HAVE_NOT_BEEN_MODIFIED);
+ return false;
+ }
+
+ if ((targetItem.isWeapon() && !getTargetTypes().contains(AppearanceTargetType.WEAPON)) || (targetItem.isArmor() && !getTargetTypes().contains(AppearanceTargetType.ARMOR)) || (targetItem.isEtcItem() && !getTargetTypes().contains(AppearanceTargetType.ACCESSORY)))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+
+ if (((targetItem.getItem().getBodyPart() == L2Item.SLOT_HAIR) || (targetItem.getItem().getBodyPart() == L2Item.SLOT_HAIR2) || (targetItem.getItem().getBodyPart() == L2Item.SLOT_HAIRALL)) && !getTargetTypes().contains(AppearanceTargetType.ACCESSORY))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+
+ break;
+ }
+ default:
+ {
+ // Seems like in retail item with already changed appearance, can be changed again without being restored.
+
+ final AppearanceTargetType targetType = getTargetTypes().get(0);
+ switch (targetType)
+ {
+ case NONE:
+ {
+ return false;
+ }
+ case WEAPON:
+ {
+ if (!targetItem.isWeapon())
+ {
+ player.sendPacket(SystemMessageId.WEAPONS_ONLY);
+ return false;
+ }
+
+ if (targetItem.getItem().getCrystalType() == CrystalType.NONE)
+ {
+ player.sendPacket(SystemMessageId.YOU_CANNOT_MODIFY_OR_RESTORE_NO_GRADE_ITEMS);
+ return false;
+ }
+
+ break;
+ }
+ case ARMOR:
+ {
+ if (!targetItem.isArmor())
+ {
+ player.sendPacket(SystemMessageId.ARMOR_ONLY);
+ return false;
+ }
+
+ if (targetItem.getItem().getCrystalType() == CrystalType.NONE)
+ {
+ player.sendPacket(SystemMessageId.YOU_CANNOT_MODIFY_OR_RESTORE_NO_GRADE_ITEMS);
+ return false;
+ }
+
+ break;
+ }
+ case ACCESSORY:
+ {
+ if ((targetItem.getItem().getBodyPart() != L2Item.SLOT_HAIR) && (targetItem.getItem().getBodyPart() != L2Item.SLOT_HAIR2) && (targetItem.getItem().getBodyPart() != L2Item.SLOT_HAIRALL))
+ {
+ player.sendPacket(SystemMessageId.HAIR_ACCESSORIES_ONLY);
+ return false;
+ }
+ break;
+ }
+ case ALL:
+ {
+ if (!getCrystalTypes().isEmpty() && !getCrystalTypes().contains(targetItem.getItem().getCrystalType()))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+
+ if (findVisualChange(targetItem) == null)
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ return true;
+ }
+ }
+
+ break;
+ }
+ }
+
+ if (!getCrystalTypes().isEmpty() && !getCrystalTypes().contains(targetItem.getItem().getCrystalType()))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+
+ if (targetItem.isArmor() && !getBodyParts().isEmpty() && !getBodyParts().contains(targetItem.getItem().getBodyPart()))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+
+ if (getWeaponType() != WeaponType.NONE)
+ {
+ if (!targetItem.isWeapon() || (targetItem.getItemType() != getWeaponType()))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_CANNOT_BE_USED_AS_AN_APPEARANCE_WEAPON);
+ return false;
+ }
+
+ switch (getHandType())
+ {
+ case ONE_HANDED:
+ {
+ if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_R_HAND) != L2Item.SLOT_R_HAND)
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ break;
+ }
+ case TWO_HANDED:
+ {
+ if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_LR_HAND) != L2Item.SLOT_LR_HAND)
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ break;
+ }
+ }
+
+ switch (getMagicType())
+ {
+ case MAGICAL:
+ {
+ if (!targetItem.getItem().isMagicWeapon())
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ break;
+ }
+ case PHYISICAL:
+ {
+ if (targetItem.getItem().isMagicWeapon())
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ }
+ }
+ }
+
+ if (getArmorType() != ArmorType.NONE)
+ {
+ switch (getArmorType())
+ {
+ case SHIELD:
+ {
+ if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SHIELD))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ break;
+ }
+ case SIGIL:
+ {
+ if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SIGIL))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ }
+ }
+ }
+
+ return true;
+ }
+
+ public AppearanceHolder findVisualChange(L2ItemInstance targetItem)
+ {
+ for (AppearanceHolder holder : _allVisualIds)
+ {
+ if (targetItem.isArmor() && (holder.getBodyPart() != 0) && (targetItem.getItem().getBodyPart() != holder.getBodyPart()))
+ {
+ continue;
+ }
+
+ if (holder.getWeaponType() != WeaponType.NONE)
+ {
+ if (!targetItem.isWeapon() || (targetItem.getItemType() != holder.getWeaponType()))
+ {
+ continue;
+ }
+
+ switch (holder.getHandType())
+ {
+ case ONE_HANDED:
+ {
+ if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_R_HAND) != L2Item.SLOT_R_HAND)
+ {
+ continue;
+ }
+ break;
+ }
+ case TWO_HANDED:
+ {
+ if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_LR_HAND) != L2Item.SLOT_LR_HAND)
+ {
+ continue;
+ }
+ break;
+ }
+ }
+
+ switch (holder.getMagicType())
+ {
+ case MAGICAL:
+ {
+ if (!targetItem.getItem().isMagicWeapon())
+ {
+ continue;
+ }
+ break;
+ }
+ case PHYISICAL:
+ {
+ if (targetItem.getItem().isMagicWeapon())
+ {
+ continue;
+ }
+ }
+ }
+ }
+
+ if (holder.getArmorType() != ArmorType.NONE)
+ {
+ switch (holder.getArmorType())
+ {
+ case SHIELD:
+ {
+ if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SHIELD))
+ {
+ continue;
+ }
+ break;
+ }
+ case SIGIL:
+ {
+ if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SIGIL))
+ {
+ continue;
+ }
+ }
+ }
+ }
+ return holder;
+ }
+ return null;
+ }
}
diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingEnchantSupportItem.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingEnchantSupportItem.java
index 57062be3e6..b3f8a823c8 100644
--- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingEnchantSupportItem.java
+++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingEnchantSupportItem.java
@@ -26,13 +26,11 @@ import com.l2jmobius.gameserver.model.items.L2Item;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceType;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
-import com.l2jmobius.gameserver.model.items.type.ArmorType;
-import com.l2jmobius.gameserver.model.items.type.WeaponType;
import com.l2jmobius.gameserver.network.L2GameClient;
import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
import com.l2jmobius.gameserver.network.serverpackets.appearance.ExPutShapeShiftingExtractionItemResult;
-import com.l2jmobius.gameserver.network.serverpackets.appearance.ExShapeShiftingResult;
+import com.l2jmobius.gameserver.network.serverpackets.appearance.ExPutShapeShiftingTargetItemResult;
/**
* @author UnAfraid
@@ -63,175 +61,100 @@ public class RequestExTryToPutShapeShiftingEnchantSupportItem implements IClient
if (player.isInStoreMode() || player.isInCraftMode() || player.isProcessingRequest() || player.isProcessingTransaction() || (request == null))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
client.sendPacket(SystemMessageId.YOU_CANNOT_USE_THIS_SYSTEM_DURING_TRADING_PRIVATE_STORE_AND_WORKSHOP_SETUP);
return;
}
final PcInventory inventory = player.getInventory();
final L2ItemInstance targetItem = inventory.getItemByObjectId(_targetItemObjId);
- final L2ItemInstance extracItem = inventory.getItemByObjectId(_extracItemObjId);
+ final L2ItemInstance extractItem = inventory.getItemByObjectId(_extracItemObjId);
L2ItemInstance stone = request.getAppearanceStone();
- if ((targetItem == null) || (extracItem == null) || (stone == null))
+ if ((targetItem == null) || (extractItem == null) || (stone == null))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (!extracItem.getItem().isAppearanceable())
+ if ((stone.getOwnerId() != player.getObjectId()) || (targetItem.getOwnerId() != player.getObjectId()) || (extractItem.getOwnerId() != player.getObjectId()))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if ((extracItem.getItemLocation() != ItemLocation.INVENTORY) && (extracItem.getItemLocation() != ItemLocation.PAPERDOLL))
+ if (!extractItem.getItem().isAppearanceable())
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ client.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
+ return;
+ }
+
+ if ((extractItem.getItemLocation() != ItemLocation.INVENTORY) && (extractItem.getItemLocation() != ItemLocation.PAPERDOLL))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- stone = inventory.getItemByObjectId(stone.getObjectId());
- if (stone == null)
+ if ((stone = inventory.getItemByObjectId(stone.getObjectId())) == null)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
final AppearanceStone appearanceStone = AppearanceItemData.getInstance().getStone(stone.getId());
if (appearanceStone == null)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
if ((appearanceStone.getType() == AppearanceType.RESTORE) || (appearanceStone.getType() == AppearanceType.FIXED))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (extracItem.getVisualId() > 0)
+ if (extractItem.getVisualId() > 0)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
client.sendPacket(SystemMessageId.YOU_CANNOT_EXTRACT_FROM_A_MODIFIED_ITEM);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (appearanceStone.getWeaponType() != WeaponType.NONE)
+ if ((extractItem.getItemLocation() != ItemLocation.INVENTORY) && (extractItem.getItemLocation() != ItemLocation.PAPERDOLL))
{
- if (!targetItem.isWeapon() || (targetItem.getItemType() != appearanceStone.getWeaponType()))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
-
- if (appearanceStone.getWeaponType() != WeaponType.NONE)
- {
- if (!targetItem.isWeapon() || (targetItem.getItemType() != appearanceStone.getWeaponType()))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
-
- switch (appearanceStone.getHandType())
- {
- case ONE_HANDED:
- {
- if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_R_HAND) != L2Item.SLOT_R_HAND)
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- case TWO_HANDED:
- {
- if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_LR_HAND) != L2Item.SLOT_LR_HAND)
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- }
-
- switch (appearanceStone.getMagicType())
- {
- case MAGICAL:
- {
- if (!targetItem.getItem().isMagicWeapon())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- case PHYISICAL:
- {
- if (targetItem.getItem().isMagicWeapon())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
- }
- }
-
- if (appearanceStone.getArmorType() != ArmorType.NONE)
- {
- switch (appearanceStone.getArmorType())
- {
- case SHIELD:
- {
- if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SHIELD))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- case SIGIL:
- {
- if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SIGIL))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
- }
- }
-
- if (extracItem.getOwnerId() != player.getObjectId())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- request.setAppearanceExtractItem(extracItem);
+ if ((extractItem.getItemType() != targetItem.getItemType()) || (extractItem.getId() == targetItem.getId()) || (extractItem.getObjectId() == targetItem.getObjectId()))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ client.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
+ return;
+ }
+
+ if ((extractItem.getItem().getBodyPart() != targetItem.getItem().getBodyPart()) && ((extractItem.getItem().getBodyPart() != L2Item.SLOT_FULL_ARMOR) || (targetItem.getItem().getBodyPart() != L2Item.SLOT_CHEST)))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ client.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
+ return;
+ }
+
+ if (extractItem.getItem().getCrystalType().isGreater(targetItem.getItem().getCrystalType()))
+ {
+ client.sendPacket(SystemMessageId.YOU_CANNOT_EXTRACT_FROM_ITEMS_THAT_ARE_HIGHER_GRADE_THAN_ITEMS_TO_BE_MODIFIED);
+ player.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
+ return;
+ }
+
+ if (!appearanceStone.checkConditions(player, targetItem))
+ {
+ player.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
+ return;
+ }
+
+ request.setAppearanceExtractItem(extractItem);
client.sendPacket(ExPutShapeShiftingExtractionItemResult.SUCCESS);
}
}
diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingTargetItem.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingTargetItem.java
index a504a61d23..4fe4ef7d8c 100644
--- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingTargetItem.java
+++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingTargetItem.java
@@ -22,13 +22,8 @@ import com.l2jmobius.gameserver.enums.ItemLocation;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.request.ShapeShiftingItemRequest;
import com.l2jmobius.gameserver.model.itemcontainer.PcInventory;
-import com.l2jmobius.gameserver.model.items.L2Item;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
-import com.l2jmobius.gameserver.model.items.appearance.AppearanceTargetType;
-import com.l2jmobius.gameserver.model.items.appearance.AppearanceType;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
-import com.l2jmobius.gameserver.model.items.type.ArmorType;
-import com.l2jmobius.gameserver.model.items.type.WeaponType;
import com.l2jmobius.gameserver.network.L2GameClient;
import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
@@ -77,13 +72,20 @@ public class RequestExTryToPutShapeShiftingTargetItem implements IClientIncoming
return;
}
- if (!targetItem.getItem().isAppearanceable())
+ if ((stone.getOwnerId() != player.getObjectId()) || (targetItem.getOwnerId() != player.getObjectId()))
{
client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
+ if (!targetItem.getItem().isAppearanceable())
+ {
+ client.sendPacket(SystemMessageId.THIS_ITEM_CANNOT_BE_MODIFIED_OR_RESTORED);
+ client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
+ return;
+ }
+
if ((targetItem.getItemLocation() != ItemLocation.INVENTORY) && (targetItem.getItemLocation() != ItemLocation.PAPERDOLL))
{
client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
@@ -91,8 +93,7 @@ public class RequestExTryToPutShapeShiftingTargetItem implements IClientIncoming
return;
}
- stone = inventory.getItemByObjectId(stone.getObjectId());
- if (stone == null)
+ if ((stone = inventory.getItemByObjectId(stone.getObjectId())) == null)
{
client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
@@ -107,158 +108,9 @@ public class RequestExTryToPutShapeShiftingTargetItem implements IClientIncoming
return;
}
- if (((appearanceStone.getType() != AppearanceType.RESTORE) && (targetItem.getVisualId() > 0)) || ((appearanceStone.getType() == AppearanceType.RESTORE) && (targetItem.getVisualId() == 0)))
+ if (!appearanceStone.checkConditions(player, targetItem))
{
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
-
- // TODO: Handle hair accessory!
- // if (!targetItem.isEtcItem() && (targetItem.getItem().getCrystalType() == CrystalType.NONE))
- {
- // client.sendPacket(SystemMessageId.YOU_CANNOT_MODIFY_OR_RESTORE_NOGRADE_ITEMS);
- // return;
- }
-
- if (!appearanceStone.getTargetTypes().contains(AppearanceTargetType.ACCESSORY)) // accessory tempfix
- {
- if (!appearanceStone.getCrystalTypes().isEmpty() && !appearanceStone.getCrystalTypes().contains(targetItem.getItem().getCrystalType()))
- {
- client.sendPacket(SystemMessageId.ITEM_GRADES_DO_NOT_MATCH);
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
-
- if (appearanceStone.getTargetTypes().isEmpty())
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
-
- if (!appearanceStone.getTargetTypes().contains(AppearanceTargetType.ALL))
- {
- if (targetItem.isWeapon() && !appearanceStone.getTargetTypes().contains(AppearanceTargetType.WEAPON))
- {
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
-
- }
- else if (targetItem.isArmor() && !appearanceStone.getTargetTypes().contains(AppearanceTargetType.ARMOR) && !appearanceStone.getTargetTypes().contains(AppearanceTargetType.ACCESSORY))
- {
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- else if (targetItem.isArmor() && !appearanceStone.getBodyParts().isEmpty() && !appearanceStone.getBodyParts().contains(targetItem.getItem().getBodyPart()))
- {
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
-
- if (appearanceStone.getWeaponType() != WeaponType.NONE)
- {
- if (!targetItem.isWeapon() || (targetItem.getItemType() != appearanceStone.getWeaponType()))
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
-
- switch (appearanceStone.getHandType())
- {
- case ONE_HANDED:
- {
- if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_R_HAND) != L2Item.SLOT_R_HAND)
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
- break;
- }
- case TWO_HANDED:
- {
- if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_LR_HAND) != L2Item.SLOT_LR_HAND)
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
- break;
- }
- }
-
- switch (appearanceStone.getMagicType())
- {
- case MAGICAL:
- {
- if (!targetItem.getItem().isMagicWeapon())
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
- break;
- }
- case PHYISICAL:
- {
- if (targetItem.getItem().isMagicWeapon())
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
- }
- }
- }
-
- if (appearanceStone.getArmorType() != ArmorType.NONE)
- {
- switch (appearanceStone.getArmorType())
- {
- case SHIELD:
- {
- if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SHIELD))
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
- break;
- }
- case SIGIL:
- {
- if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SIGIL))
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
- }
- }
- }
-
- if (targetItem.getOwnerId() != player.getObjectId())
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
+ player.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
return;
}
diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestShapeShiftingItem.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestShapeShiftingItem.java
index e39eb6b752..97d035b0f3 100644
--- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestShapeShiftingItem.java
+++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestShapeShiftingItem.java
@@ -22,14 +22,12 @@ import com.l2jmobius.gameserver.enums.InventorySlot;
import com.l2jmobius.gameserver.enums.ItemLocation;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.request.ShapeShiftingItemRequest;
+import com.l2jmobius.gameserver.model.holders.AppearanceHolder;
import com.l2jmobius.gameserver.model.itemcontainer.PcInventory;
import com.l2jmobius.gameserver.model.items.L2Item;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
-import com.l2jmobius.gameserver.model.items.appearance.AppearanceTargetType;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceType;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
-import com.l2jmobius.gameserver.model.items.type.ArmorType;
-import com.l2jmobius.gameserver.model.items.type.WeaponType;
import com.l2jmobius.gameserver.model.variables.ItemVariables;
import com.l2jmobius.gameserver.network.L2GameClient;
import com.l2jmobius.gameserver.network.SystemMessageId;
@@ -37,8 +35,6 @@ import com.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
import com.l2jmobius.gameserver.network.serverpackets.ExAdenaInvenCount;
import com.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
import com.l2jmobius.gameserver.network.serverpackets.InventoryUpdate;
-import com.l2jmobius.gameserver.network.serverpackets.SystemMessage;
-import com.l2jmobius.gameserver.network.serverpackets.appearance.ExPutShapeShiftingTargetItemResult;
import com.l2jmobius.gameserver.network.serverpackets.appearance.ExShapeShiftingResult;
/**
@@ -68,7 +64,7 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
if (player.isInStoreMode() || player.isInCraftMode() || player.isProcessingRequest() || player.isProcessingTransaction() || (request == null))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
client.sendPacket(SystemMessageId.YOU_CANNOT_USE_THIS_SYSTEM_DURING_TRADING_PRIVATE_STORE_AND_WORKSHOP_SETUP);
return;
}
@@ -79,36 +75,36 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
if ((targetItem == null) || (stone == null))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (stone.getOwnerId() != player.getObjectId())
+ if ((stone.getOwnerId() != player.getObjectId()) || (targetItem.getOwnerId() != player.getObjectId()))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
if (!targetItem.getItem().isAppearanceable())
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(SystemMessageId.THIS_ITEM_CANNOT_BE_MODIFIED_OR_RESTORED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
if ((targetItem.getItemLocation() != ItemLocation.INVENTORY) && (targetItem.getItemLocation() != ItemLocation.PAPERDOLL))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- stone = inventory.getItemByObjectId(stone.getObjectId());
- if (stone == null)
+ if ((stone = inventory.getItemByObjectId(stone.getObjectId())) == null)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
@@ -116,223 +112,100 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
final AppearanceStone appearanceStone = AppearanceItemData.getInstance().getStone(stone.getId());
if (appearanceStone == null)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (((appearanceStone.getType() != AppearanceType.RESTORE) && (targetItem.getVisualId() > 0)) || ((appearanceStone.getType() == AppearanceType.RESTORE) && (targetItem.getVisualId() == 0)))
+ if (!appearanceStone.checkConditions(player, targetItem))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- // TODO: Handle hair accessory!
- // if (!targetItem.isEtcItem() && (targetItem.getItem().getCrystalType() == CrystalType.NONE))
- {
- // client.sendPacket(ExShapeShiftingResult.FAILED);
- // player.removeRequest(ShapeShiftingItemRequest.class.getName());
- // return;
- }
-
- if (!appearanceStone.getTargetTypes().contains(AppearanceTargetType.ACCESSORY)) // accessory tempfix
- {
- if (!appearanceStone.getCrystalTypes().isEmpty() && !appearanceStone.getCrystalTypes().contains(targetItem.getItem().getCrystalType()))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
-
- if (appearanceStone.getTargetTypes().isEmpty())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
-
- if (!appearanceStone.getTargetTypes().contains(AppearanceTargetType.ALL))
- {
- if (targetItem.isWeapon() && !appearanceStone.getTargetTypes().contains(AppearanceTargetType.WEAPON))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
-
- }
- else if (targetItem.isArmor() && !appearanceStone.getTargetTypes().contains(AppearanceTargetType.ARMOR) && !appearanceStone.getTargetTypes().contains(AppearanceTargetType.ACCESSORY))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- else if (targetItem.isArmor() && !appearanceStone.getBodyParts().isEmpty() && !appearanceStone.getBodyParts().contains(targetItem.getItem().getBodyPart()))
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
-
- if (appearanceStone.getWeaponType() != WeaponType.NONE)
- {
- if (!targetItem.isWeapon() || (targetItem.getItemType() != appearanceStone.getWeaponType()))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
-
- switch (appearanceStone.getHandType())
- {
- case ONE_HANDED:
- {
- if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_R_HAND) != L2Item.SLOT_R_HAND)
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- case TWO_HANDED:
- {
- if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_LR_HAND) != L2Item.SLOT_LR_HAND)
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- }
-
- switch (appearanceStone.getMagicType())
- {
- case MAGICAL:
- {
- if (!targetItem.getItem().isMagicWeapon())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- case PHYISICAL:
- {
- if (targetItem.getItem().isMagicWeapon())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
- }
- }
-
- if (appearanceStone.getArmorType() != ArmorType.NONE)
- {
- switch (appearanceStone.getArmorType())
- {
- case SHIELD:
- {
- if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SHIELD))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- case SIGIL:
- {
- if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SIGIL))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
- }
- }
-
- final L2ItemInstance extracItem = request.getAppearanceExtractItem();
+ final L2ItemInstance extractItem = request.getAppearanceExtractItem();
int extracItemId = 0;
if ((appearanceStone.getType() != AppearanceType.RESTORE) && (appearanceStone.getType() != AppearanceType.FIXED))
{
- if (extracItem == null)
+ if (extractItem == null)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (!targetItem.getItem().isAppearanceable())
+ if (extractItem.getOwnerId() != player.getObjectId())
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if ((extracItem.getItemLocation() != ItemLocation.INVENTORY) && (extracItem.getItemLocation() != ItemLocation.PAPERDOLL))
+ if (!extractItem.getItem().isAppearanceable())
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (!extracItem.isEtcItem() && (targetItem.getItem().getCrystalType().ordinal() <= extracItem.getItem().getCrystalType().ordinal()))
+ if ((extractItem.getItemLocation() != ItemLocation.INVENTORY) && (extractItem.getItemLocation() != ItemLocation.PAPERDOLL))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (extracItem.getVisualId() > 0)
+ if (extractItem.getItem().getCrystalType().isGreater(targetItem.getItem().getCrystalType()))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (extracItem.getOwnerId() != player.getObjectId())
+ if (extractItem.getVisualId() > 0)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- extracItemId = extracItem.getId();
+
+ if ((extractItem.getItemType() != targetItem.getItemType()) || (extractItem.getId() == targetItem.getId()) || (extractItem.getObjectId() == targetItem.getObjectId()))
+ {
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
+ player.removeRequest(ShapeShiftingItemRequest.class);
+ return;
+ }
+
+ if ((extractItem.getItem().getBodyPart() != targetItem.getItem().getBodyPart()) && ((extractItem.getItem().getBodyPart() != L2Item.SLOT_FULL_ARMOR) || (targetItem.getItem().getBodyPart() != L2Item.SLOT_CHEST)))
+ {
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
+ player.removeRequest(ShapeShiftingItemRequest.class);
+ return;
+ }
+
+ extracItemId = extractItem.getId();
}
- if (targetItem.getOwnerId() != player.getObjectId())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
-
- final long cost = appearanceStone.getCost();
+ long cost = appearanceStone.getCost();
if (cost > player.getAdena())
{
client.sendPacket(SystemMessageId.YOU_CANNOT_MODIFY_AS_YOU_DO_NOT_HAVE_ENOUGH_ADENA);
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
if (stone.getCount() < 1L)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
if (appearanceStone.getType() == AppearanceType.NORMAL)
{
- if (inventory.destroyItem(getClass().getSimpleName(), extracItem, 1, player, this) == null)
+ if (inventory.destroyItem(getClass().getSimpleName(), extractItem, 1, player, this) == null)
{
client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
@@ -341,7 +214,7 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
}
inventory.destroyItem(getClass().getSimpleName(), stone, 1, player, this);
- player.reduceAdena(getClass().getSimpleName(), cost, extracItem, true);
+ player.reduceAdena(getClass().getSimpleName(), cost, extractItem, false);
switch (appearanceStone.getType())
{
@@ -353,18 +226,32 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
}
case NORMAL:
{
- targetItem.setVisualId(extracItem.getId());
+ targetItem.setVisualId(extractItem.getId());
break;
}
case BLESSED:
{
- targetItem.setVisualId(extracItem.getId());
+ targetItem.setVisualId(extractItem.getId());
break;
}
case FIXED:
{
- targetItem.setVisualId(appearanceStone.getVisualId());
- targetItem.getVariables().set(ItemVariables.VISUAL_APPEARANCE_STONE_ID, appearanceStone.getId());
+ if (appearanceStone.getVisualIds().isEmpty())
+ {
+ extracItemId = appearanceStone.getVisualId();
+ targetItem.setVisualId(appearanceStone.getVisualId());
+ targetItem.getVariables().set(ItemVariables.VISUAL_APPEARANCE_STONE_ID, appearanceStone.getId());
+ }
+ else
+ {
+ final AppearanceHolder holder = appearanceStone.findVisualChange(targetItem);
+ if (holder != null)
+ {
+ extracItemId = holder.getVisualId();
+ targetItem.setVisualId(holder.getVisualId());
+ targetItem.getVariables().set(ItemVariables.VISUAL_APPEARANCE_STONE_ID, appearanceStone.getId());
+ }
+ }
break;
}
}
@@ -376,17 +263,13 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
}
targetItem.getVariables().storeMe();
- if (appearanceStone.getCost() > 0)
- {
- client.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_SPENT_S1_ON_A_SUCCESSFUL_APPEARANCE_MODIFICATION).addLong(cost));
- }
- else
- {
- client.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.S1_S_APPEARANCE_MODIFICATION_HAS_FINISHED).addItemName(targetItem.getDisplayId()));
- }
final InventoryUpdate iu = new InventoryUpdate();
iu.addModifiedItem(targetItem);
+ if (extractItem != null)
+ {
+ iu.addModifiedItem(extractItem);
+ }
if (inventory.getItemByObjectId(stone.getObjectId()) == null)
{
iu.addRemovedItem(stone);
diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/serverpackets/appearance/ExShapeShiftingResult.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/serverpackets/appearance/ExShapeShiftingResult.java
index 66c2d83f24..ab35ba8f6a 100644
--- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/serverpackets/appearance/ExShapeShiftingResult.java
+++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/serverpackets/appearance/ExShapeShiftingResult.java
@@ -27,8 +27,10 @@ public class ExShapeShiftingResult implements IClientOutgoingPacket
{
public static int RESULT_FAILED = 0x00;
public static int RESULT_SUCCESS = 0x01;
+ public static int RESULT_CLOSE = 0x02;
public static ExShapeShiftingResult FAILED = new ExShapeShiftingResult(RESULT_FAILED, 0, 0);
+ public static ExShapeShiftingResult CLOSE = new ExShapeShiftingResult(RESULT_CLOSE, 0, 0);
private final int _result;
private final int _targetItemId;
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/AppearanceStones.xml b/L2J_Mobius_2.5_Underground/dist/game/data/AppearanceStones.xml
index 12622cdb03..e5772b991d 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/AppearanceStones.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/AppearanceStones.xml
@@ -1,6 +1,5 @@
-
R
@@ -16,7 +15,7 @@
-
+
R
R95
@@ -31,7 +30,7 @@
-
+
R
R95
@@ -46,6 +45,127 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -122,142 +242,9 @@
WEAPON
ARMOR
-
- R
- R95
- R99
- WEAPON
- ARMOR
-
-
- S
- S80
- WEAPON
- ARMOR
-
-
- WEAPON
- ARMOR
-
-
- WEAPON
- ARMOR
-
-
- WEAPON
- ARMOR
-
-
- WEAPON
- ARMOR
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- chest
- fullarmor
-
-
-
- chest
- fullarmor
-
-
-
-
-
- hair
- hair2
- hairall
-
-
-
- chest
- fullarmor
-
-
-
-
-
- hair
- hair2
- hairall
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- chest
- fullarmor
-
-
- chest
- fullarmor
-
-
-
- chest
- fullarmor
-
-
- chest
- fullarmor
-
+
+
chest
fullarmor
@@ -271,6 +258,16 @@
hairall
+
+
+ chest
+ fullarmor
+
+
+
+
+
+
chest
fullarmor
@@ -284,22 +281,7 @@
hairall
-
- chest
- fullarmor
-
-
-
-
-
-
- chest
- fullarmor
-
-
-
-
-
+
chest
fullarmor
@@ -308,21 +290,98 @@
-
+
+
+ chest
+ fullarmor
+
+
+
+
+
hair
hair2
hairall
-
+
+
+
+ chest
+ fullarmor
+
+
+
+
+
+
+
+ chest
+ fullarmor
+
+
+
+
+
+ hair
+ hair2
+ hairall
+
+
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
chest
fullarmor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
chest
fullarmor
-
+
+
+
+ chest
+ fullarmor
+
+
+
+
+ chest
+ fullarmor
+
+
+
chest
fullarmor
@@ -336,241 +395,3131 @@
hairall
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
chest
fullarmor
-
-
- chest
- fullarmor
-
-
-
- chest
- fullarmor
-
-
- hair
- hair2
- hairall
-
-
-
- chest
- fullarmor
-
-
-
- chest
- fullarmor
-
-
+
hair
hair2
hairall
-
+
+
chest
fullarmor
-
+
hair
hair2
hairall
-
+
+
+
+
+
+
+
+
+
chest
fullarmor
-
- hair
- hair2
- hairall
-
-
-
+
chest
fullarmor
-
-
+
chest
fullarmor
-
-
- hair
- hair2
- hairall
+
+ chest
+ fullarmor
-
-
-
-
-
-
- hair
- hair2
- hairall
-
-
-
-
-
-
-
- hair
- hair2
- hairall
-
-
-
-
-
-
-
- hair
- hair2
- hairall
-
-
-
-
-
-
-
- hair
- hair2
- hairall
-
-
-
-
-
-
-
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
chest
fullarmor
-
-
-
-
-
-
-
-
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+ chest
+ fullarmor
+
+
+
+
-
+
+ chest
+ fullarmor
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ chest
+ fullarmor
+
+
+
+
-
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
hair
@@ -582,57 +3531,83 @@
fullarmor
-
+
+ chest
+ fullarmor
+
+
+
+ chest
+ fullarmor
+
+
hair
hair2
hairall
-
+
+
+ chest
+ fullarmor
+
+
+ hair
+ hair2
+ hairall
+
+
+ chest
+ fullarmor
+
+
+ hair
+ hair2
+ hairall
+
+
+
+ chest
+ fullarmor
+
+
chest
fullarmor
-
- chest
-
-
- legs
-
-
- gloves
-
-
- feet
-
-
-
- chest
-
-
- legs
-
-
- gloves
-
-
- feet
-
-
-
- chest
-
-
- legs
-
-
- gloves
-
-
- feet
-
-
-
+
+
chest
fullarmor
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/24500-24599.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/24500-24599.xml
index 9c9899666b..12a9d23a84 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/24500-24599.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/24500-24599.xml
@@ -3,901 +3,1494 @@
-
-
-
-
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/24600-24699.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/24600-24699.xml
index b225a8893a..ba3daca2d5 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/24600-24699.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/24600-24699.xml
@@ -1,903 +1,1503 @@
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
-
+
+
+
+
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/24700-24799.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/24700-24799.xml
index 4f70423e6f..55c27d559a 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/24700-24799.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/24700-24799.xml
@@ -1,489 +1,852 @@
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
@@ -492,12 +855,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -506,12 +875,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -520,12 +895,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -534,12 +915,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -548,12 +935,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -562,12 +955,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -576,12 +975,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -590,12 +995,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -604,12 +1015,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -618,12 +1035,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -632,12 +1055,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -646,12 +1075,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -660,12 +1095,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -674,12 +1115,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -688,12 +1135,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -702,12 +1155,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -716,12 +1175,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -730,12 +1195,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -744,12 +1215,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -758,12 +1235,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -772,12 +1255,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -786,12 +1275,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -800,12 +1295,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -814,12 +1315,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -828,12 +1335,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -842,12 +1355,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -856,12 +1375,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -870,12 +1395,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -884,12 +1415,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -898,12 +1435,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -912,12 +1455,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -926,12 +1475,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -940,12 +1495,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -954,12 +1515,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -968,12 +1535,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -982,12 +1555,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -996,12 +1575,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1010,12 +1595,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1024,12 +1615,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1038,6 +1635,9 @@
-
+
+
+
+
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/24800-24899.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/24800-24899.xml
index d65611b93f..1e2d838a6f 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/24800-24899.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/24800-24899.xml
@@ -1,9 +1,12 @@
-
-
+
+
+
+
@@ -12,12 +15,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -26,12 +35,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -40,12 +55,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -54,12 +75,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -68,12 +95,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -82,12 +115,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -96,12 +135,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -110,12 +155,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -124,12 +175,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -138,12 +195,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -152,12 +215,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -166,12 +235,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -180,12 +255,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -194,12 +275,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -208,12 +295,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -222,12 +315,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -236,12 +335,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -250,12 +355,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -264,12 +375,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -278,12 +395,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -292,12 +415,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -306,12 +435,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -320,12 +455,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -334,12 +475,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -348,12 +495,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -362,12 +515,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -376,12 +535,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -390,12 +555,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -404,12 +575,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -418,12 +595,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -432,12 +615,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -446,12 +635,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -460,12 +655,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -474,12 +675,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -488,12 +695,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -502,12 +715,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -516,12 +735,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -530,12 +755,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -544,12 +775,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -558,12 +795,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -572,12 +815,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -586,12 +835,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -600,12 +855,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -614,12 +875,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -628,12 +895,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -642,12 +915,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -656,12 +935,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -670,12 +955,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -684,12 +975,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -698,12 +995,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -712,12 +1015,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -726,12 +1035,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -740,12 +1055,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -754,12 +1075,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -768,12 +1095,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -782,12 +1115,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -796,12 +1135,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -810,12 +1155,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -824,12 +1175,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -838,12 +1195,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -852,12 +1215,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -866,12 +1235,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -880,12 +1255,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -894,12 +1275,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -908,12 +1295,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -922,12 +1315,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -936,12 +1335,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -950,12 +1355,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -964,12 +1375,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -978,12 +1395,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -992,12 +1415,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1006,12 +1435,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1020,12 +1455,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1034,12 +1475,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1048,12 +1495,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1062,12 +1515,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1076,12 +1535,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1090,12 +1555,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1104,12 +1575,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1118,12 +1595,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1132,12 +1615,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1146,12 +1635,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1160,12 +1655,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1174,12 +1675,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1188,12 +1695,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1202,12 +1715,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1216,12 +1735,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1230,12 +1755,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1244,12 +1775,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1258,12 +1795,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1272,12 +1815,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1286,12 +1835,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1300,12 +1855,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1314,12 +1875,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1328,12 +1895,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1342,12 +1915,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1356,12 +1935,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1370,12 +1955,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1384,12 +1975,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -1398,6 +1995,9 @@
-
+
+
+
+
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/24900-24999.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/24900-24999.xml
index 3d89487936..d7e3917a4b 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/24900-24999.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/24900-24999.xml
@@ -1,9 +1,12 @@
-
-
+
+
+
+
@@ -12,12 +15,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -26,12 +35,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -40,12 +55,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -54,12 +75,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -68,12 +95,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -82,12 +115,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -96,12 +135,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -110,12 +155,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -124,12 +175,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -138,12 +195,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -152,12 +215,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -166,12 +235,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -180,12 +255,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -194,12 +275,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -208,12 +295,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -222,12 +315,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -236,12 +335,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -250,12 +355,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -264,12 +375,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -278,12 +395,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -292,12 +415,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -306,12 +435,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -320,12 +455,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -334,12 +475,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -348,12 +495,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -362,12 +515,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -376,12 +535,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -390,12 +555,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -404,12 +575,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -418,12 +595,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -432,12 +615,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -446,12 +635,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -460,12 +655,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -474,12 +675,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -488,12 +695,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -502,12 +715,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -516,12 +735,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -530,12 +755,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -544,12 +775,18 @@
-
+
+
+
+
-
-
+
+
+
+
@@ -558,726 +795,1149 @@
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25000-25099.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25000-25099.xml
index e0d278a56b..e18c48020b 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25000-25099.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25000-25099.xml
@@ -1,1043 +1,1923 @@
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25100-25199.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25100-25199.xml
index 16caeefe51..a237d7214d 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25100-25199.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25100-25199.xml
@@ -1,883 +1,1403 @@
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25200-25299.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25200-25299.xml
index b1b0edeeda..d791de3666 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25200-25299.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25200-25299.xml
@@ -1,903 +1,1403 @@
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25300-25399.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25300-25399.xml
index 056d7ad448..988443b130 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25300-25399.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25300-25399.xml
@@ -1,863 +1,1363 @@
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25400-25499.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25400-25499.xml
index c4d026cb79..8158697f15 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25400-25499.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25400-25499.xml
@@ -1,1283 +1,1863 @@
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25500-25599.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25500-25599.xml
index 850d4fde82..e2f9eabde4 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25500-25599.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25500-25599.xml
@@ -1,1403 +1,2003 @@
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
-
+
+
+
+
-
+
+
-
+
+
+
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25600-25699.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25600-25699.xml
index 0e30cc92c7..78368b6184 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25600-25699.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25600-25699.xml
@@ -1,8 +1,11 @@
-
-
+
+
+
+
@@ -10,12 +13,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -23,12 +33,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -36,12 +53,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -49,12 +73,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -62,12 +93,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -75,12 +113,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -88,12 +133,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -101,12 +153,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -114,12 +173,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -127,12 +193,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -140,12 +213,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -153,12 +233,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -166,12 +253,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -179,12 +273,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -192,12 +293,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -205,12 +313,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -218,12 +333,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -231,12 +353,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -244,12 +373,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -257,12 +393,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -270,12 +413,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -283,12 +433,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -296,12 +453,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -309,12 +473,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -322,12 +493,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -335,12 +513,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -348,12 +533,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -361,12 +553,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -374,12 +573,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -387,12 +593,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -400,12 +613,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -413,12 +633,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -426,12 +653,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -439,12 +673,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -452,12 +693,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -465,12 +713,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -478,12 +733,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -491,12 +753,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -504,12 +773,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -517,12 +793,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -530,12 +813,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -543,12 +833,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -556,12 +853,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -569,12 +873,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -582,12 +893,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -595,12 +913,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -608,12 +933,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -621,12 +953,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -634,12 +973,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -647,12 +993,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -660,12 +1013,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -673,12 +1033,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -686,12 +1053,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -699,12 +1073,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -712,12 +1093,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -725,12 +1113,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -738,12 +1133,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -751,12 +1153,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -764,12 +1173,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -777,12 +1193,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -790,12 +1213,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -803,12 +1233,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -816,12 +1253,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -829,12 +1273,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -842,12 +1293,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -855,12 +1313,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -868,12 +1333,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -881,12 +1353,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -894,12 +1373,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -907,12 +1393,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -920,12 +1413,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -933,12 +1433,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -946,12 +1453,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -959,12 +1473,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -972,12 +1493,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -985,12 +1513,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -998,12 +1533,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -1011,12 +1553,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -1024,12 +1573,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -1037,12 +1593,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -1050,12 +1613,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -1063,12 +1633,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -1076,12 +1653,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -1089,12 +1673,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -1102,12 +1693,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -1115,12 +1713,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -1128,12 +1733,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -1141,12 +1753,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -1154,12 +1773,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -1167,12 +1793,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -1180,12 +1813,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -1193,12 +1833,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -1206,12 +1853,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -1219,12 +1873,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -1232,12 +1893,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -1245,12 +1913,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -1258,12 +1933,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -1271,12 +1953,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -1284,12 +1973,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -1297,7 +1993,11 @@
+
+
-
+
+
+
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25700-25799.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25700-25799.xml
index a08a006b0b..5e63dc5467 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25700-25799.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/25700-25799.xml
@@ -1,8 +1,11 @@

-
-
+
+
+
+
@@ -10,12 +13,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -23,12 +33,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -36,12 +53,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -49,12 +73,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -62,12 +93,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -75,12 +113,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -88,12 +133,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -101,12 +153,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -114,12 +173,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -127,12 +193,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -140,12 +213,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -153,12 +233,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -166,12 +253,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -179,12 +273,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -192,12 +293,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -205,12 +313,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -218,12 +333,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -231,12 +353,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -244,12 +373,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -257,8 +393,12 @@
+
+
-
+
+
+
-
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26200-26299.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26200-26299.xml
index 53b832010e..40e3021f7f 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26200-26299.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26200-26299.xml
@@ -1452,6 +1452,9 @@
+
+
+
-
@@ -1460,6 +1463,9 @@
+
+
+
-
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26300-26399.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26300-26399.xml
index 7f1cf2ff7b..c01b874659 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26300-26399.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26300-26399.xml
@@ -635,6 +635,9 @@
+
+
+
-
@@ -644,6 +647,9 @@
+
+
+
-
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26500-26599.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26500-26599.xml
index 15c33043cb..2586162602 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26500-26599.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26500-26599.xml
@@ -1,853 +1,1252 @@
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26600-26699.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26600-26699.xml
index 2c3cacfe72..5f7af4b429 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26600-26699.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26600-26699.xml
@@ -4,6 +4,11 @@
+
+
+
+
+
@@ -11,6 +16,11 @@
+
+
+
+
+
@@ -18,6 +28,11 @@
+
+
+
+
+
@@ -25,6 +40,11 @@
+
+
+
+
+
@@ -32,6 +52,11 @@
+
+
+
+
+
@@ -39,6 +64,11 @@
+
+
+
+
+
@@ -46,6 +76,11 @@
+
+
+
+
+
@@ -53,6 +88,11 @@
+
+
+
+
+
@@ -60,6 +100,11 @@
+
+
+
+
+
@@ -67,6 +112,11 @@
+
+
+
+
+
@@ -74,6 +124,11 @@
+
+
+
+
+
@@ -81,6 +136,11 @@
+
+
+
+
+
@@ -88,6 +148,11 @@
+
+
+
+
+
@@ -95,6 +160,11 @@
+
+
+
+
+
@@ -102,6 +172,11 @@
+
+
+
+
+
@@ -109,6 +184,11 @@
+
+
+
+
+
@@ -116,6 +196,11 @@
+
+
+
+
+
@@ -123,6 +208,11 @@
+
+
+
+
+
@@ -130,6 +220,11 @@
+
+
+
+
+
@@ -137,6 +232,11 @@
+
+
+
+
+
@@ -144,6 +244,11 @@
+
+
+
+
+
@@ -151,6 +256,11 @@
+
+
+
+
+
@@ -158,6 +268,11 @@
+
+
+
+
+
@@ -165,6 +280,11 @@
+
+
+
+
+
@@ -172,6 +292,11 @@
+
+
+
+
+
@@ -179,6 +304,11 @@
+
+
+
+
+
@@ -186,6 +316,11 @@
+
+
+
+
+
@@ -193,6 +328,11 @@
+
+
+
+
+
@@ -200,6 +340,11 @@
+
+
+
+
+
@@ -207,6 +352,11 @@
+
+
+
+
+
@@ -214,6 +364,11 @@
+
+
+
+
+
@@ -221,6 +376,11 @@
+
+
+
+
+
@@ -228,6 +388,11 @@
+
+
+
+
+
@@ -235,6 +400,11 @@
+
+
+
+
+
@@ -242,6 +412,11 @@
+
+
+
+
+
@@ -249,6 +424,11 @@
+
+
+
+
+
@@ -256,6 +436,11 @@
+
+
+
+
+
@@ -263,6 +448,11 @@
+
+
+
+
+
@@ -270,6 +460,11 @@
+
+
+
+
+
@@ -277,6 +472,11 @@
+
+
+
+
+
@@ -284,6 +484,11 @@
+
+
+
+
+
@@ -291,6 +496,11 @@
+
+
+
+
+
@@ -298,6 +508,11 @@
+
+
+
+
+
@@ -305,6 +520,11 @@
+
+
+
+
+
@@ -312,6 +532,11 @@
+
+
+
+
+
@@ -319,6 +544,11 @@
+
+
+
+
+
@@ -326,6 +556,11 @@
+
+
+
+
+
@@ -333,6 +568,11 @@
+
+
+
+
+
@@ -340,6 +580,11 @@
+
+
+
+
+
@@ -347,6 +592,11 @@
+
+
+
+
+
@@ -354,6 +604,11 @@
+
+
+
+
+
@@ -361,6 +616,11 @@
+
+
+
+
+
@@ -368,6 +628,11 @@
+
+
+
+
+
@@ -375,6 +640,11 @@
+
+
+
+
+
@@ -382,6 +652,11 @@
+
+
+
+
+
@@ -389,6 +664,11 @@
+
+
+
+
+
@@ -396,6 +676,11 @@
+
+
+
+
+
@@ -403,6 +688,11 @@
+
+
+
+
+
@@ -410,6 +700,11 @@
+
+
+
+
+
@@ -417,6 +712,11 @@
+
+
+
+
+
@@ -424,6 +724,11 @@
+
+
+
+
+
@@ -431,6 +736,11 @@
+
+
+
+
+
@@ -438,6 +748,11 @@
+
+
+
+
+
@@ -445,6 +760,11 @@
+
+
+
+
+
@@ -452,6 +772,11 @@
+
+
+
+
+
@@ -459,6 +784,11 @@
+
+
+
+
+
@@ -466,6 +796,11 @@
+
+
+
+
+
@@ -473,6 +808,11 @@
+
+
+
+
+
@@ -480,6 +820,11 @@
+
+
+
+
+
@@ -487,6 +832,11 @@
+
+
+
+
+
@@ -494,6 +844,11 @@
+
+
+
+
+
@@ -501,6 +856,11 @@
+
+
+
+
+
@@ -508,6 +868,11 @@
+
+
+
+
+
@@ -515,6 +880,11 @@
+
+
+
+
+
@@ -522,6 +892,11 @@
+
+
+
+
+
@@ -529,6 +904,11 @@
+
+
+
+
+
@@ -536,6 +916,11 @@
+
+
+
+
+
@@ -543,6 +928,11 @@
+
+
+
+
+
@@ -550,6 +940,11 @@
+
+
+
+
+
@@ -557,6 +952,11 @@
+
+
+
+
+
@@ -564,6 +964,11 @@
+
+
+
+
+
@@ -571,6 +976,11 @@
+
+
+
+
+
@@ -578,6 +988,11 @@
+
+
+
+
+
@@ -585,6 +1000,11 @@
+
+
+
+
+
@@ -592,6 +1012,11 @@
+
+
+
+
+
@@ -599,6 +1024,11 @@
+
+
+
+
+
@@ -606,6 +1036,11 @@
+
+
+
+
+
@@ -613,6 +1048,11 @@
+
+
+
+
+
@@ -620,6 +1060,11 @@
+
+
+
+
+
@@ -627,6 +1072,11 @@
+
+
+
+
+
@@ -634,6 +1084,11 @@
+
+
+
+
+
@@ -641,6 +1096,11 @@
+
+
+
+
+
@@ -648,6 +1108,11 @@
+
+
+
+
+
@@ -655,6 +1120,11 @@
+
+
+
+
+
@@ -662,6 +1132,11 @@
+
+
+
+
+
@@ -669,6 +1144,11 @@
+
+
+
+
+
@@ -676,6 +1156,11 @@
+
+
+
+
+
@@ -683,6 +1168,11 @@
+
+
+
+
+
@@ -690,6 +1180,11 @@
+
+
+
+
+
@@ -697,7 +1192,12 @@
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26700-26799.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26700-26799.xml
index c4521f0366..148225b576 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26700-26799.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26700-26799.xml
@@ -4,6 +4,11 @@
+
+
+
+
+
@@ -11,6 +16,11 @@
+
+
+
+
+
@@ -18,6 +28,11 @@
+
+
+
+
+
@@ -25,6 +40,11 @@
+
+
+
+
+
@@ -32,6 +52,11 @@
+
+
+
+
+
@@ -39,6 +64,11 @@
+
+
+
+
+
@@ -46,6 +76,11 @@
+
+
+
+
+
@@ -53,6 +88,11 @@
+
+
+
+
+
@@ -60,6 +100,11 @@
+
+
+
+
+
@@ -67,6 +112,11 @@
+
+
+
+
+
@@ -74,6 +124,11 @@
+
+
+
+
+
@@ -81,6 +136,11 @@
+
+
+
+
+
@@ -88,6 +148,11 @@
+
+
+
+
+
@@ -95,6 +160,11 @@
+
+
+
+
+
@@ -102,6 +172,11 @@
+
+
+
+
+
@@ -109,6 +184,11 @@
+
+
+
+
+
@@ -116,6 +196,11 @@
+
+
+
+
+
@@ -123,6 +208,11 @@
+
+
+
+
+
@@ -130,6 +220,11 @@
+
+
+
+
+
@@ -137,6 +232,11 @@
+
+
+
+
+
@@ -144,6 +244,11 @@
+
+
+
+
+
@@ -151,6 +256,11 @@
+
+
+
+
+
@@ -158,6 +268,11 @@
+
+
+
+
+
@@ -165,6 +280,11 @@
+
+
+
+
+
@@ -172,6 +292,11 @@
+
+
+
+
+
@@ -179,6 +304,11 @@
+
+
+
+
+
@@ -186,6 +316,11 @@
+
+
+
+
+
@@ -193,6 +328,11 @@
+
+
+
+
+
@@ -200,6 +340,11 @@
+
+
+
+
+
@@ -207,6 +352,11 @@
+
+
+
+
+
@@ -214,6 +364,11 @@
+
+
+
+
+
@@ -221,6 +376,11 @@
+
+
+
+
+
@@ -228,6 +388,11 @@
+
+
+
+
+
@@ -235,6 +400,11 @@
+
+
+
+
+
@@ -242,6 +412,11 @@
+
+
+
+
+
@@ -249,6 +424,11 @@
+
+
+
+
+
@@ -256,6 +436,11 @@
+
+
+
+
+
@@ -263,6 +448,11 @@
+
+
+
+
+
@@ -270,6 +460,11 @@
+
+
+
+
+
@@ -277,6 +472,11 @@
+
+
+
+
+
@@ -284,6 +484,11 @@
+
+
+
+
+
@@ -291,6 +496,11 @@
+
+
+
+
+
@@ -298,6 +508,11 @@
+
+
+
+
+
@@ -305,6 +520,11 @@
+
+
+
+
+
@@ -312,6 +532,11 @@
+
+
+
+
+
@@ -319,6 +544,11 @@
+
+
+
+
+
@@ -326,6 +556,11 @@
+
+
+
+
+
@@ -333,6 +568,11 @@
+
+
+
+
+
@@ -340,6 +580,11 @@
+
+
+
+
+
@@ -347,6 +592,11 @@
+
+
+
+
+
@@ -354,6 +604,11 @@
+
+
+
+
+
@@ -361,6 +616,11 @@
+
+
+
+
+
@@ -368,6 +628,11 @@
+
+
+
+
+
@@ -375,6 +640,11 @@
+
+
+
+
+
@@ -382,6 +652,11 @@
+
+
+
+
+
@@ -389,6 +664,11 @@
+
+
+
+
+
@@ -396,6 +676,11 @@
+
+
+
+
+
@@ -403,6 +688,11 @@
+
+
+
+
+
@@ -410,6 +700,11 @@
+
+
+
+
+
@@ -417,6 +712,11 @@
+
+
+
+
+
@@ -424,6 +724,11 @@
+
+
+
+
+
@@ -431,6 +736,11 @@
+
+
+
+
+
@@ -438,6 +748,11 @@
+
+
+
+
+
@@ -445,6 +760,11 @@
+
+
+
+
+
@@ -452,6 +772,11 @@
+
+
+
+
+
@@ -459,6 +784,11 @@
+
+
+
+
+
@@ -466,6 +796,11 @@
+
+
+
+
+
@@ -473,6 +808,11 @@
+
+
+
+
+
@@ -480,6 +820,11 @@
+
+
+
+
+
@@ -487,6 +832,11 @@
+
+
+
+
+
@@ -494,6 +844,11 @@
+
+
+
+
+
@@ -501,6 +856,11 @@
+
+
+
+
+
@@ -508,6 +868,11 @@
+
+
+
+
+
@@ -515,6 +880,11 @@
+
+
+
+
+
@@ -522,6 +892,11 @@
+
+
+
+
+
@@ -529,6 +904,11 @@
+
+
+
+
+
@@ -536,6 +916,11 @@
+
+
+
+
+
@@ -543,6 +928,11 @@
+
+
+
+
+
@@ -550,6 +940,11 @@
+
+
+
+
+
@@ -557,6 +952,11 @@
+
+
+
+
+
@@ -564,6 +964,11 @@
+
+
+
+
+
@@ -571,6 +976,11 @@
+
+
+
+
+
@@ -578,6 +988,11 @@
+
+
+
+
+
@@ -585,6 +1000,11 @@
+
+
+
+
+
@@ -592,6 +1012,11 @@
+
+
+
+
+
@@ -599,6 +1024,11 @@
+
+
+
+
+
@@ -606,6 +1036,11 @@
+
+
+
+
+
@@ -613,6 +1048,11 @@
+
+
+
+
+
@@ -620,6 +1060,11 @@
+
+
+
+
+
@@ -627,6 +1072,11 @@
+
+
+
+
+
@@ -634,6 +1084,11 @@
+
+
+
+
+
@@ -641,6 +1096,11 @@
+
+
+
+
+
@@ -648,6 +1108,11 @@
+
+
+
+
+
@@ -655,6 +1120,11 @@
+
+
+
+
+
@@ -662,6 +1132,11 @@
+
+
+
+
+
@@ -669,6 +1144,11 @@
+
+
+
+
+
@@ -676,6 +1156,11 @@
+
+
+
+
+
@@ -683,6 +1168,11 @@
+
+
+
+
+
@@ -690,6 +1180,11 @@
+
+
+
+
+
@@ -697,7 +1192,12 @@
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26800-26899.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26800-26899.xml
index 11efb9fe37..069457ea24 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26800-26899.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26800-26899.xml
@@ -4,6 +4,11 @@
+
+
+
+
+
@@ -11,6 +16,11 @@
+
+
+
+
+
@@ -18,6 +28,11 @@
+
+
+
+
+
@@ -25,6 +40,11 @@
+
+
+
+
+
@@ -32,6 +52,11 @@
+
+
+
+
+
@@ -39,6 +64,11 @@
+
+
+
+
+
@@ -46,6 +76,11 @@
+
+
+
+
+
@@ -53,6 +88,11 @@
+
+
+
+
+
@@ -60,6 +100,11 @@
+
+
+
+
+
@@ -67,6 +112,11 @@
+
+
+
+
+
@@ -74,6 +124,11 @@
+
+
+
+
+
@@ -81,6 +136,11 @@
+
+
+
+
+
@@ -88,6 +148,11 @@
+
+
+
+
+
@@ -95,6 +160,11 @@
+
+
+
+
+
@@ -102,6 +172,11 @@
+
+
+
+
+
@@ -109,6 +184,11 @@
+
+
+
+
+
@@ -116,6 +196,11 @@
+
+
+
+
+
@@ -123,6 +208,11 @@
+
+
+
+
+
@@ -130,6 +220,11 @@
+
+
+
+
+
@@ -137,6 +232,11 @@
+
+
+
+
+
@@ -144,6 +244,11 @@
+
+
+
+
+
@@ -151,6 +256,11 @@
+
+
+
+
+
@@ -158,6 +268,11 @@
+
+
+
+
+
@@ -165,6 +280,11 @@
+
+
+
+
+
@@ -172,6 +292,11 @@
+
+
+
+
+
@@ -179,6 +304,11 @@
+
+
+
+
+
@@ -186,6 +316,11 @@
+
+
+
+
+
@@ -193,6 +328,11 @@
+
+
+
+
+
@@ -200,6 +340,11 @@
+
+
+
+
+
@@ -207,6 +352,11 @@
+
+
+
+
+
@@ -214,6 +364,11 @@
+
+
+
+
+
@@ -221,6 +376,11 @@
+
+
+
+
+
@@ -228,6 +388,11 @@
+
+
+
+
+
@@ -235,6 +400,11 @@
+
+
+
+
+
@@ -242,6 +412,11 @@
+
+
+
+
+
@@ -249,6 +424,11 @@
+
+
+
+
+
@@ -256,6 +436,11 @@
+
+
+
+
+
@@ -263,6 +448,11 @@
+
+
+
+
+
@@ -270,6 +460,11 @@
+
+
+
+
+
@@ -277,6 +472,11 @@
+
+
+
+
+
@@ -284,6 +484,11 @@
+
+
+
+
+
@@ -291,6 +496,11 @@
+
+
+
+
+
@@ -298,6 +508,11 @@
+
+
+
+
+
@@ -305,6 +520,11 @@
+
+
+
+
+
@@ -312,6 +532,11 @@
+
+
+
+
+
@@ -319,6 +544,11 @@
+
+
+
+
+
@@ -326,6 +556,11 @@
+
+
+
+
+
@@ -333,6 +568,11 @@
+
+
+
+
+
@@ -340,6 +580,11 @@
+
+
+
+
+
@@ -347,6 +592,11 @@
+
+
+
+
+
@@ -354,6 +604,11 @@
+
+
+
+
+
@@ -361,6 +616,11 @@
+
+
+
+
+
@@ -368,6 +628,11 @@
+
+
+
+
+
@@ -375,6 +640,11 @@
+
+
+
+
+
@@ -382,6 +652,11 @@
+
+
+
+
+
@@ -389,6 +664,11 @@
+
+
+
+
+
@@ -396,6 +676,11 @@
+
+
+
+
+
@@ -403,6 +688,11 @@
+
+
+
+
+
@@ -410,6 +700,11 @@
+
+
+
+
+
@@ -417,6 +712,11 @@
+
+
+
+
+
@@ -424,6 +724,11 @@
+
+
+
+
+
@@ -431,6 +736,11 @@
+
+
+
+
+
@@ -438,6 +748,11 @@
+
+
+
+
+
@@ -445,6 +760,11 @@
+
+
+
+
+
@@ -452,6 +772,11 @@
+
+
+
+
+
@@ -459,6 +784,11 @@
+
+
+
+
+
@@ -466,6 +796,11 @@
+
+
+
+
+
@@ -473,6 +808,11 @@
+
+
+
+
+
@@ -480,6 +820,11 @@
+
+
+
+
+
@@ -487,6 +832,11 @@
+
+
+
+
+
@@ -494,6 +844,11 @@
+
+
+
+
+
@@ -501,6 +856,11 @@
+
+
+
+
+
@@ -508,6 +868,11 @@
+
+
+
+
+
@@ -515,6 +880,11 @@
+
+
+
+
+
@@ -522,6 +892,11 @@
+
+
+
+
+
@@ -529,6 +904,11 @@
+
+
+
+
+
@@ -536,6 +916,11 @@
+
+
+
+
+
@@ -543,6 +928,11 @@
+
+
+
+
+
@@ -550,6 +940,11 @@
+
+
+
+
+
@@ -557,6 +952,11 @@
+
+
+
+
+
@@ -564,6 +964,11 @@
+
+
+
+
+
@@ -571,6 +976,11 @@
+
+
+
+
+
@@ -578,6 +988,11 @@
+
+
+
+
+
@@ -585,6 +1000,11 @@
+
+
+
+
+
@@ -592,6 +1012,11 @@
+
+
+
+
+
@@ -599,6 +1024,11 @@
+
+
+
+
+
@@ -606,6 +1036,11 @@
+
+
+
+
+
@@ -613,6 +1048,11 @@
+
+
+
+
+
@@ -620,6 +1060,11 @@
+
+
+
+
+
@@ -627,6 +1072,11 @@
+
+
+
+
+
@@ -634,6 +1084,11 @@
+
+
+
+
+
@@ -641,6 +1096,11 @@
+
+
+
+
+
@@ -648,6 +1108,11 @@
+
+
+
+
+
@@ -655,6 +1120,11 @@
+
+
+
+
+
@@ -662,6 +1132,11 @@
+
+
+
+
+
@@ -669,6 +1144,11 @@
+
+
+
+
+
@@ -676,6 +1156,11 @@
+
+
+
+
+
@@ -683,6 +1168,11 @@
+
+
+
+
+
@@ -690,6 +1180,11 @@
+
+
+
+
+
@@ -697,7 +1192,12 @@
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26900-26999.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26900-26999.xml
index b04d907df2..148fbf108a 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26900-26999.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/26900-26999.xml
@@ -4,6 +4,11 @@
+
+
+
+
+
@@ -11,6 +16,11 @@
+
+
+
+
+
@@ -18,6 +28,11 @@
+
+
+
+
+
@@ -25,6 +40,11 @@
+
+
+
+
+
@@ -32,6 +52,11 @@
+
+
+
+
+
@@ -39,6 +64,11 @@
+
+
+
+
+
@@ -46,6 +76,11 @@
+
+
+
+
+
@@ -53,6 +88,11 @@
+
+
+
+
+
@@ -60,6 +100,11 @@
+
+
+
+
+
@@ -67,6 +112,11 @@
+
+
+
+
+
@@ -74,6 +124,11 @@
+
+
+
+
+
@@ -81,6 +136,11 @@
+
+
+
+
+
@@ -88,6 +148,11 @@
+
+
+
+
+
@@ -95,6 +160,11 @@
+
+
+
+
+
@@ -102,6 +172,11 @@
+
+
+
+
+
@@ -109,6 +184,11 @@
+
+
+
+
+
@@ -116,6 +196,11 @@
+
+
+
+
+
@@ -123,6 +208,11 @@
+
+
+
+
+
@@ -130,6 +220,11 @@
+
+
+
+
+
@@ -137,6 +232,11 @@
+
+
+
+
+
@@ -144,6 +244,11 @@
+
+
+
+
+
@@ -151,6 +256,11 @@
+
+
+
+
+
@@ -158,6 +268,11 @@
+
+
+
+
+
@@ -165,6 +280,11 @@
+
+
+
+
+
@@ -172,6 +292,11 @@
+
+
+
+
+
@@ -179,6 +304,11 @@
+
+
+
+
+
@@ -186,6 +316,11 @@
+
+
+
+
+
@@ -193,6 +328,11 @@
+
+
+
+
+
@@ -200,6 +340,11 @@
+
+
+
+
+
@@ -207,6 +352,11 @@
+
+
+
+
+
@@ -214,6 +364,11 @@
+
+
+
+
+
@@ -221,6 +376,11 @@
+
+
+
+
+
@@ -228,6 +388,11 @@
+
+
+
+
+
@@ -235,6 +400,11 @@
+
+
+
+
+
@@ -242,6 +412,11 @@
+
+
+
+
+
@@ -249,6 +424,11 @@
+
+
+
+
+
@@ -256,6 +436,11 @@
+
+
+
+
+
@@ -263,6 +448,11 @@
+
+
+
+
+
@@ -270,6 +460,11 @@
+
+
+
+
+
@@ -277,6 +472,11 @@
+
+
+
+
+
@@ -284,6 +484,11 @@
+
+
+
+
+
@@ -291,6 +496,11 @@
+
+
+
+
+
@@ -298,6 +508,11 @@
+
+
+
+
+
@@ -305,6 +520,11 @@
+
+
+
+
+
@@ -312,6 +532,11 @@
+
+
+
+
+
@@ -319,6 +544,11 @@
+
+
+
+
+
@@ -326,6 +556,11 @@
+
+
+
+
+
@@ -333,6 +568,11 @@
+
+
+
+
+
@@ -340,6 +580,11 @@
+
+
+
+
+
@@ -347,6 +592,11 @@
+
+
+
+
+
@@ -354,6 +604,11 @@
+
+
+
+
+
@@ -361,6 +616,11 @@
+
+
+
+
+
@@ -368,6 +628,11 @@
+
+
+
+
+
@@ -375,6 +640,11 @@
+
+
+
+
+
@@ -382,6 +652,11 @@
+
+
+
+
+
@@ -389,6 +664,11 @@
+
+
+
+
+
@@ -396,6 +676,11 @@
+
+
+
+
+
@@ -403,6 +688,11 @@
+
+
+
+
+
@@ -410,6 +700,11 @@
+
+
+
+
+
@@ -417,6 +712,11 @@
+
+
+
+
+
@@ -424,6 +724,11 @@
+
+
+
+
+
@@ -431,6 +736,11 @@
+
+
+
+
+
@@ -438,6 +748,11 @@
+
+
+
+
+
@@ -445,6 +760,11 @@
+
+
+
+
+
@@ -452,6 +772,11 @@
+
+
+
+
+
@@ -459,6 +784,11 @@
+
+
+
+
+
@@ -466,6 +796,11 @@
+
+
+
+
+
@@ -473,6 +808,11 @@
+
+
+
+
+
@@ -480,6 +820,11 @@
+
+
+
+
+
@@ -487,6 +832,11 @@
+
+
+
+
+
@@ -494,6 +844,11 @@
+
+
+
+
+
@@ -501,6 +856,11 @@
+
+
+
+
+
@@ -508,6 +868,11 @@
+
+
+
+
+
@@ -515,6 +880,11 @@
+
+
+
+
+
@@ -522,6 +892,11 @@
+
+
+
+
+
@@ -529,6 +904,11 @@
+
+
+
+
+
@@ -536,6 +916,11 @@
+
+
+
+
+
@@ -543,6 +928,11 @@
+
+
+
+
+
@@ -550,6 +940,11 @@
+
+
+
+
+
@@ -557,6 +952,11 @@
+
+
+
+
+
@@ -564,6 +964,11 @@
+
+
+
+
+
@@ -571,6 +976,11 @@
+
+
+
+
+
@@ -578,6 +988,11 @@
+
+
+
+
+
@@ -585,6 +1000,11 @@
+
+
+
+
+
@@ -592,6 +1012,11 @@
+
+
+
+
+
@@ -599,6 +1024,11 @@
+
+
+
+
+
@@ -606,6 +1036,11 @@
+
+
+
+
+
@@ -613,6 +1048,11 @@
+
+
+
+
+
@@ -620,6 +1060,11 @@
+
+
+
+
+
@@ -627,6 +1072,11 @@
+
+
+
+
+
@@ -634,6 +1084,11 @@
+
+
+
+
+
@@ -641,6 +1096,11 @@
+
+
+
+
+
@@ -648,6 +1108,11 @@
+
+
+
+
+
@@ -655,6 +1120,11 @@
+
+
+
+
+
@@ -662,6 +1132,11 @@
+
+
+
+
+
@@ -669,6 +1144,11 @@
+
+
+
+
+
@@ -676,6 +1156,11 @@
+
+
+
+
+
@@ -683,6 +1168,11 @@
+
+
+
+
+
@@ -690,6 +1180,11 @@
+
+
+
+
+
@@ -697,7 +1192,12 @@
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/27000-27099.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/27000-27099.xml
index 7066005495..ad5238786f 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/27000-27099.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/27000-27099.xml
@@ -4,6 +4,11 @@
+
+
+
+
+
@@ -11,6 +16,11 @@
+
+
+
+
+
@@ -18,6 +28,11 @@
+
+
+
+
+
@@ -25,6 +40,11 @@
+
+
+
+
+
@@ -32,6 +52,11 @@
+
+
+
+
+
@@ -39,6 +64,11 @@
+
+
+
+
+
@@ -46,6 +76,11 @@
+
+
+
+
+
@@ -53,6 +88,11 @@
+
+
+
+
+
@@ -60,6 +100,11 @@
+
+
+
+
+
@@ -67,6 +112,11 @@
+
+
+
+
+
@@ -74,6 +124,11 @@
+
+
+
+
+
@@ -81,6 +136,11 @@
+
+
+
+
+
@@ -88,6 +148,11 @@
+
+
+
+
+
@@ -95,6 +160,11 @@
+
+
+
+
+
@@ -102,6 +172,11 @@
+
+
+
+
+
@@ -109,6 +184,11 @@
+
+
+
+
+
@@ -116,6 +196,11 @@
+
+
+
+
+
@@ -123,6 +208,11 @@
+
+
+
+
+
@@ -130,6 +220,11 @@
+
+
+
+
+
@@ -137,6 +232,11 @@
+
+
+
+
+
@@ -144,6 +244,11 @@
+
+
+
+
+
@@ -151,6 +256,11 @@
+
+
+
+
+
@@ -158,6 +268,11 @@
+
+
+
+
+
@@ -165,6 +280,11 @@
+
+
+
+
+
@@ -172,6 +292,11 @@
+
+
+
+
+
@@ -179,6 +304,11 @@
+
+
+
+
+
@@ -186,6 +316,11 @@
+
+
+
+
+
@@ -193,6 +328,11 @@
+
+
+
+
+
@@ -200,6 +340,11 @@
+
+
+
+
+
@@ -207,6 +352,11 @@
+
+
+
+
+
@@ -214,6 +364,11 @@
+
+
+
+
+
@@ -221,6 +376,11 @@
+
+
+
+
+
@@ -228,6 +388,11 @@
+
+
+
+
+
@@ -235,6 +400,11 @@
+
+
+
+
+
@@ -242,6 +412,11 @@
+
+
+
+
+
@@ -249,6 +424,11 @@
+
+
+
+
+
@@ -256,6 +436,11 @@
+
+
+
+
+
@@ -263,6 +448,11 @@
+
+
+
+
+
@@ -270,6 +460,11 @@
+
+
+
+
+
@@ -277,6 +472,11 @@
+
+
+
+
+
@@ -284,6 +484,11 @@
+
+
+
+
+
@@ -291,6 +496,11 @@
+
+
+
+
+
@@ -298,6 +508,11 @@
+
+
+
+
+
@@ -305,6 +520,11 @@
+
+
+
+
+
@@ -312,6 +532,11 @@
+
+
+
+
+
@@ -319,6 +544,11 @@
+
+
+
+
+
@@ -326,6 +556,11 @@
+
+
+
+
+
@@ -333,6 +568,11 @@
+
+
+
+
+
@@ -340,6 +580,11 @@
+
+
+
+
+
@@ -347,6 +592,11 @@
+
+
+
+
+
@@ -354,6 +604,11 @@
+
+
+
+
+
@@ -361,6 +616,11 @@
+
+
+
+
+
@@ -368,6 +628,11 @@
+
+
+
+
+
@@ -375,6 +640,11 @@
+
+
+
+
+
@@ -382,6 +652,11 @@
+
+
+
+
+
@@ -389,6 +664,11 @@
+
+
+
+
+
@@ -396,6 +676,11 @@
+
+
+
+
+
@@ -403,6 +688,11 @@
+
+
+
+
+
@@ -410,6 +700,11 @@
+
+
+
+
+
@@ -417,6 +712,11 @@
+
+
+
+
+
@@ -424,6 +724,11 @@
+
+
+
+
+
@@ -431,6 +736,11 @@
+
+
+
+
+
@@ -438,6 +748,11 @@
+
+
+
+
+
@@ -445,6 +760,11 @@
+
+
+
+
+
@@ -452,6 +772,11 @@
+
+
+
+
+
@@ -459,6 +784,11 @@
+
+
+
+
+
@@ -466,6 +796,11 @@
+
+
+
+
+
@@ -473,6 +808,11 @@
+
+
+
+
+
@@ -480,6 +820,11 @@
+
+
+
+
+
@@ -487,6 +832,11 @@
+
+
+
+
+
@@ -494,6 +844,11 @@
+
+
+
+
+
@@ -501,6 +856,11 @@
+
+
+
+
+
@@ -508,6 +868,11 @@
+
+
+
+
+
@@ -515,6 +880,11 @@
+
+
+
+
+
@@ -522,6 +892,11 @@
+
+
+
+
+
@@ -529,6 +904,11 @@
+
+
+
+
+
@@ -536,6 +916,11 @@
+
+
+
+
+
@@ -543,6 +928,11 @@
+
+
+
+
+
@@ -550,6 +940,11 @@
+
+
+
+
+
@@ -557,6 +952,11 @@
+
+
+
+
+
@@ -564,6 +964,11 @@
+
+
+
+
+
@@ -571,6 +976,11 @@
+
+
+
+
+
@@ -578,6 +988,11 @@
+
+
+
+
+
@@ -585,6 +1000,11 @@
+
+
+
+
+
@@ -592,6 +1012,11 @@
+
+
+
+
+
@@ -599,6 +1024,11 @@
+
+
+
+
+
@@ -606,6 +1036,11 @@
+
+
+
+
+
@@ -613,6 +1048,11 @@
+
+
+
+
+
@@ -620,6 +1060,11 @@
+
+
+
+
+
@@ -627,6 +1072,11 @@
+
+
+
+
+
@@ -634,6 +1084,11 @@
+
+
+
+
+
@@ -641,6 +1096,11 @@
+
+
+
+
+
@@ -648,6 +1108,11 @@
+
+
+
+
+
@@ -655,6 +1120,11 @@
+
+
+
+
+
@@ -662,6 +1132,11 @@
+
+
+
+
+
@@ -669,6 +1144,11 @@
+
+
+
+
+
@@ -676,6 +1156,11 @@
+
+
+
+
+
@@ -683,6 +1168,11 @@
+
+
+
+
+
@@ -690,6 +1180,11 @@
+
+
+
+
+
@@ -697,7 +1192,12 @@
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/27100-27199.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/27100-27199.xml
index 5132f4dfd5..9aa516a8f4 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/27100-27199.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/27100-27199.xml
@@ -1,703 +1,1203 @@
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/27200-27299.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/27200-27299.xml
index 6a4a88cfa4..d072574b23 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/27200-27299.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/27200-27299.xml
@@ -1,713 +1,1223 @@
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/27300-27399.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/27300-27399.xml
index 1f3ade0ad4..47a6b93870 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/27300-27399.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/27300-27399.xml
@@ -1,803 +1,1403 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/27400-27499.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/27400-27499.xml
index bdb7cdabd8..e5c3e83fae 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/27400-27499.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/27400-27499.xml
@@ -1,1091 +1,1445 @@
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/46100-46199.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/46100-46199.xml
index a3e58c01e6..ced3aa2271 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/46100-46199.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/46100-46199.xml
@@ -1130,5 +1130,8 @@
+
+
+
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/46200-46299.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/46200-46299.xml
index 5eb332e00d..a2ad4c4759 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/46200-46299.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/46200-46299.xml
@@ -7,7 +7,10 @@
-
+
+
+
+
-
@@ -16,6 +19,9 @@
+
+
+
-
@@ -23,7 +29,10 @@
-
+
+
+
+
-
@@ -953,7 +962,10 @@
-
+
+
+
+
-
@@ -971,6 +983,9 @@
+
+
+
-
@@ -1199,6 +1214,13 @@
+
+
+
+
+
+
+
-
@@ -1207,6 +1229,13 @@
+
+
+
+
+
+
+
-
@@ -1221,7 +1250,14 @@
-
+
+
+
+
+
+
+
+
-
@@ -1236,7 +1272,14 @@
-
+
+
+
+
+
+
+
+
-
@@ -1251,7 +1294,14 @@
-
+
+
+
+
+
+
+
+
-
@@ -1266,7 +1316,14 @@
-
+
+
+
+
+
+
+
+
-
@@ -1281,7 +1338,14 @@
-
+
+
+
+
+
+
+
+
-
@@ -1296,7 +1360,14 @@
-
+
+
+
+
+
+
+
+
-
@@ -1311,6 +1382,13 @@
-
+
+
+
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/46300-46399.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/46300-46399.xml
index e83dbafd9c..ccedf7a1c1 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/46300-46399.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/46300-46399.xml
@@ -13,7 +13,14 @@
-
+
+
+
+
+
+
+
+
-
@@ -28,7 +35,14 @@
-
+
+
+
+
+
+
+
+
-
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/46600-46699.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/46600-46699.xml
index 3ee9af43dd..e1866cd69a 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/46600-46699.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/items/46600-46699.xml
@@ -11,7 +11,7 @@
-
-
+
@@ -22,12 +22,12 @@
-
-
+
-
+
50.0
@@ -35,20 +35,26 @@
-
-
+
+
+
+
-
-
+
+
+
+
-
@@ -59,114 +65,187 @@
+
-
-
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
-
+
@@ -247,18 +326,28 @@
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
@@ -294,6 +383,7 @@
142.0
+ 58
-
@@ -313,6 +403,7 @@
107.0
+ 43
-
@@ -332,6 +423,7 @@
71.0
+ 29
-
@@ -351,6 +443,7 @@
161.0
+ 62
-
@@ -370,6 +463,7 @@
121.0
+ 46
-
@@ -389,6 +483,7 @@
80.0
+ 31
-
@@ -408,6 +503,7 @@
174.0
+ 65
-
@@ -427,6 +523,7 @@
130.0
+ 49
-
@@ -446,6 +543,7 @@
87.0
+ 33
-
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/xsd/AppearanceStones.xsd b/L2J_Mobius_2.5_Underground/dist/game/data/xsd/AppearanceStones.xsd
index d1543c273f..86f49f9a0e 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/xsd/AppearanceStones.xsd
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/xsd/AppearanceStones.xsd
@@ -95,6 +95,105 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -181,6 +280,9 @@
+
+
+
diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java
index b02157ee4d..dd15efb7ce 100644
--- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java
+++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java
@@ -22,13 +22,13 @@ import java.util.Map;
import java.util.logging.Logger;
import org.w3c.dom.Document;
-import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import com.l2jmobius.commons.util.IGameXmlReader;
import com.l2jmobius.gameserver.datatables.ItemTable;
import com.l2jmobius.gameserver.enums.Race;
import com.l2jmobius.gameserver.model.StatsSet;
+import com.l2jmobius.gameserver.model.holders.AppearanceHolder;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceTargetType;
import com.l2jmobius.gameserver.model.items.type.CrystalType;
@@ -75,9 +75,6 @@ public class AppearanceItemData implements IGameXmlReader
@Override
public void parseDocument(Document doc, File f)
{
- StatsSet set;
- Node att;
- NamedNodeMap attrs;
for (Node n = doc.getFirstChild(); n != null; n = n.getNextSibling())
{
if ("list".equalsIgnoreCase(n.getNodeName()))
@@ -86,15 +83,7 @@ public class AppearanceItemData implements IGameXmlReader
{
if ("appearance_stone".equalsIgnoreCase(d.getNodeName()))
{
- attrs = d.getAttributes();
- set = new StatsSet();
- for (int i = 0; i < attrs.getLength(); i++)
- {
- att = attrs.item(i);
- set.set(att.getNodeName(), att.getNodeValue());
- }
-
- final AppearanceStone stone = new AppearanceStone(set);
+ final AppearanceStone stone = new AppearanceStone(new StatsSet(parseAttributes(d)));
for (Node c = d.getFirstChild(); c != null; c = c.getNextSibling())
{
switch (c.getNodeName())
@@ -129,6 +118,10 @@ public class AppearanceItemData implements IGameXmlReader
stone.addRaceNot(raceNot);
break;
}
+ case "visual":
+ {
+ stone.addVisualId(new AppearanceHolder(new StatsSet(parseAttributes(c))));
+ }
}
}
if (ItemTable.getInstance().getTemplate(stone.getId()) != null)
@@ -145,6 +138,11 @@ public class AppearanceItemData implements IGameXmlReader
}
}
+ public int getLoadedElementsCount()
+ {
+ return _stones.size();
+ }
+
public AppearanceStone getStone(int stone)
{
return _stones.get(stone);
diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/holders/AppearanceHolder.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/holders/AppearanceHolder.java
new file mode 100644
index 0000000000..cb609618fd
--- /dev/null
+++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/holders/AppearanceHolder.java
@@ -0,0 +1,85 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package com.l2jmobius.gameserver.model.holders;
+
+import com.l2jmobius.gameserver.datatables.ItemTable;
+import com.l2jmobius.gameserver.model.StatsSet;
+import com.l2jmobius.gameserver.model.items.appearance.AppearanceHandType;
+import com.l2jmobius.gameserver.model.items.appearance.AppearanceMagicType;
+import com.l2jmobius.gameserver.model.items.appearance.AppearanceTargetType;
+import com.l2jmobius.gameserver.model.items.type.ArmorType;
+import com.l2jmobius.gameserver.model.items.type.WeaponType;
+
+/**
+ * @author Sdw
+ */
+public class AppearanceHolder
+{
+ private final int _visualId;
+ private final WeaponType _weaponType;
+ private final ArmorType _armorType;
+ private final AppearanceHandType _handType;
+ private final AppearanceMagicType _magicType;
+ private final AppearanceTargetType _targetType;
+ private final Integer _bodyPart;
+
+ public AppearanceHolder(StatsSet set)
+ {
+ _visualId = set.getInt("id", 0);
+ _weaponType = set.getEnum("weaponType", WeaponType.class, WeaponType.NONE);
+ _armorType = set.getEnum("armorType", ArmorType.class, ArmorType.NONE);
+ _handType = set.getEnum("handType", AppearanceHandType.class, AppearanceHandType.NONE);
+ _magicType = set.getEnum("magicType", AppearanceMagicType.class, AppearanceMagicType.NONE);
+ _targetType = set.getEnum("targetType", AppearanceTargetType.class, AppearanceTargetType.NONE);
+ _bodyPart = ItemTable.SLOTS.get(set.getString("bodyPart", "none"));
+ }
+
+ public WeaponType getWeaponType()
+ {
+ return _weaponType;
+ }
+
+ public ArmorType getArmorType()
+ {
+ return _armorType;
+ }
+
+ public AppearanceHandType getHandType()
+ {
+ return _handType;
+ }
+
+ public AppearanceMagicType getMagicType()
+ {
+ return _magicType;
+ }
+
+ public AppearanceTargetType getTargetType()
+ {
+ return _targetType;
+ }
+
+ public int getBodyPart()
+ {
+ return _bodyPart;
+ }
+
+ public int getVisualId()
+ {
+ return _visualId;
+ }
+}
diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/items/appearance/AppearanceStone.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/items/appearance/AppearanceStone.java
index c4610960aa..0f9a69fec3 100644
--- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/items/appearance/AppearanceStone.java
+++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/items/appearance/AppearanceStone.java
@@ -24,10 +24,14 @@ import java.util.List;
import com.l2jmobius.gameserver.datatables.ItemTable;
import com.l2jmobius.gameserver.enums.Race;
import com.l2jmobius.gameserver.model.StatsSet;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.holders.AppearanceHolder;
import com.l2jmobius.gameserver.model.items.L2Item;
+import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.model.items.type.ArmorType;
import com.l2jmobius.gameserver.model.items.type.CrystalType;
import com.l2jmobius.gameserver.model.items.type.WeaponType;
+import com.l2jmobius.gameserver.network.SystemMessageId;
/**
* @author UnAfraid
@@ -48,6 +52,7 @@ public class AppearanceStone
private List _bodyParts;
private List _races;
private List _racesNot;
+ private List _allVisualIds;
public AppearanceStone(StatsSet set)
{
@@ -61,15 +66,35 @@ public class AppearanceStone
_handType = set.getEnum("handType", AppearanceHandType.class, AppearanceHandType.NONE);
_magicType = set.getEnum("magicType", AppearanceMagicType.class, AppearanceMagicType.NONE);
- // No grade items cannot change appearance, because client doesn't have No-Grade restoration stones.
- final CrystalType crystalType = set.getEnum("crystalType", CrystalType.class, CrystalType.NONE);
- if (crystalType == CrystalType.NONE)
+ final AppearanceTargetType targetType = set.getEnum("targetType", AppearanceTargetType.class, AppearanceTargetType.NONE);
+ if (targetType != AppearanceTargetType.NONE)
{
- for (CrystalType cryType : CrystalType.values())
+ addTargetType(targetType);
+ }
+
+ // No grade items cannot change appearance, because client doesn't have No-Grade restoration stones.
+ final CrystalType crystalType = set.getEnum("grade", CrystalType.class, null);
+
+ // If no crystal type is defined, we must add all defaults.
+ if (crystalType == null)
+ {
+ switch (targetType)
{
- if ((cryType != CrystalType.NONE) && (cryType != CrystalType.EVENT))
+ case ACCESSORY:
+ case ALL:
{
- addCrystalType(cryType);
+ addCrystalType(CrystalType.NONE);
+ }
+ case WEAPON:
+ case ARMOR:
+ {
+ for (CrystalType cryType : CrystalType.values())
+ {
+ if ((cryType != CrystalType.NONE) && (cryType != CrystalType.EVENT))
+ {
+ addCrystalType(cryType);
+ }
+ }
}
}
}
@@ -78,12 +103,6 @@ public class AppearanceStone
addCrystalType(crystalType);
}
- final AppearanceTargetType targetType = set.getEnum("targetType", AppearanceTargetType.class, AppearanceTargetType.NONE);
- if (targetType != AppearanceTargetType.NONE)
- {
- addTargetType(targetType);
- }
-
final int bodyPart = ItemTable.SLOTS.get(set.getString("bodyPart", "none"));
if (bodyPart != L2Item.SLOT_NONE)
{
@@ -185,6 +204,20 @@ public class AppearanceStone
_bodyParts.add(part);
}
+ public void addVisualId(AppearanceHolder appearanceHolder)
+ {
+ if (_allVisualIds == null)
+ {
+ _allVisualIds = new ArrayList<>();
+ }
+ _allVisualIds.add(appearanceHolder);
+ }
+
+ public List getVisualIds()
+ {
+ return _allVisualIds != null ? _allVisualIds : Collections.emptyList();
+ }
+
public List getBodyParts()
{
return _bodyParts != null ? _bodyParts : Collections.emptyList();
@@ -217,4 +250,297 @@ public class AppearanceStone
{
return _racesNot != null ? _racesNot : Collections.emptyList();
}
+
+ /**
+ * @param player the actor requesting to use this appearance.
+ * @param targetItem the item to be modified with this appearance.
+ * @return {@code true} if the item is valid for appearance change, {@code false} otherwise.
+ */
+ public boolean checkConditions(L2PcInstance player, L2ItemInstance targetItem)
+ {
+ if (targetItem == null)
+ {
+ return false;
+ }
+
+ if (getTargetTypes().isEmpty())
+ {
+ return false;
+ }
+
+ if (targetItem.isEquipped() && (getRacesNot().contains(player.getRace()) || (!getRaces().isEmpty() && !getRaces().contains(player.getRace()))))
+ {
+ player.sendPacket(SystemMessageId.YOU_CANNOT_MODIFY_AN_EQUIPPED_ITEM_INTO_THE_APPEARANCE_OF_AN_UNEQUIPPABLE_ITEM_PLEASE_CHECK_RACE_GENDER_RESTRICTIONS_YOU_CAN_MODIFY_THE_APPEARANCE_IF_YOU_UNEQUIP_THE_ITEM);
+ return false;
+ }
+
+ switch (getType())
+ {
+ case RESTORE:
+ {
+ if (targetItem.getVisualId() == 0)
+ {
+ player.sendPacket(SystemMessageId.YOU_CANNOT_RESTORE_ITEMS_THAT_HAVE_NOT_BEEN_MODIFIED);
+ return false;
+ }
+
+ if ((targetItem.isWeapon() && !getTargetTypes().contains(AppearanceTargetType.WEAPON)) || (targetItem.isArmor() && !getTargetTypes().contains(AppearanceTargetType.ARMOR)) || (targetItem.isEtcItem() && !getTargetTypes().contains(AppearanceTargetType.ACCESSORY)))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+
+ if (((targetItem.getItem().getBodyPart() == L2Item.SLOT_HAIR) || (targetItem.getItem().getBodyPart() == L2Item.SLOT_HAIR2) || (targetItem.getItem().getBodyPart() == L2Item.SLOT_HAIRALL)) && !getTargetTypes().contains(AppearanceTargetType.ACCESSORY))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+
+ break;
+ }
+ default:
+ {
+ // Seems like in retail item with already changed appearance, can be changed again without being restored.
+
+ final AppearanceTargetType targetType = getTargetTypes().get(0);
+ switch (targetType)
+ {
+ case NONE:
+ {
+ return false;
+ }
+ case WEAPON:
+ {
+ if (!targetItem.isWeapon())
+ {
+ player.sendPacket(SystemMessageId.WEAPONS_ONLY);
+ return false;
+ }
+
+ if (targetItem.getItem().getCrystalType() == CrystalType.NONE)
+ {
+ player.sendPacket(SystemMessageId.YOU_CANNOT_MODIFY_OR_RESTORE_NO_GRADE_ITEMS);
+ return false;
+ }
+
+ break;
+ }
+ case ARMOR:
+ {
+ if (!targetItem.isArmor())
+ {
+ player.sendPacket(SystemMessageId.ARMOR_ONLY);
+ return false;
+ }
+
+ if (targetItem.getItem().getCrystalType() == CrystalType.NONE)
+ {
+ player.sendPacket(SystemMessageId.YOU_CANNOT_MODIFY_OR_RESTORE_NO_GRADE_ITEMS);
+ return false;
+ }
+
+ break;
+ }
+ case ACCESSORY:
+ {
+ if ((targetItem.getItem().getBodyPart() != L2Item.SLOT_HAIR) && (targetItem.getItem().getBodyPart() != L2Item.SLOT_HAIR2) && (targetItem.getItem().getBodyPart() != L2Item.SLOT_HAIRALL))
+ {
+ player.sendPacket(SystemMessageId.HAIR_ACCESSORIES_ONLY);
+ return false;
+ }
+ break;
+ }
+ case ALL:
+ {
+ if (!getCrystalTypes().isEmpty() && !getCrystalTypes().contains(targetItem.getItem().getCrystalType()))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+
+ if (findVisualChange(targetItem) == null)
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ return true;
+ }
+ }
+
+ break;
+ }
+ }
+
+ if (!getCrystalTypes().isEmpty() && !getCrystalTypes().contains(targetItem.getItem().getCrystalType()))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+
+ if (targetItem.isArmor() && !getBodyParts().isEmpty() && !getBodyParts().contains(targetItem.getItem().getBodyPart()))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+
+ if (getWeaponType() != WeaponType.NONE)
+ {
+ if (!targetItem.isWeapon() || (targetItem.getItemType() != getWeaponType()))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_CANNOT_BE_USED_AS_AN_APPEARANCE_WEAPON);
+ return false;
+ }
+
+ switch (getHandType())
+ {
+ case ONE_HANDED:
+ {
+ if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_R_HAND) != L2Item.SLOT_R_HAND)
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ break;
+ }
+ case TWO_HANDED:
+ {
+ if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_LR_HAND) != L2Item.SLOT_LR_HAND)
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ break;
+ }
+ }
+
+ switch (getMagicType())
+ {
+ case MAGICAL:
+ {
+ if (!targetItem.getItem().isMagicWeapon())
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ break;
+ }
+ case PHYISICAL:
+ {
+ if (targetItem.getItem().isMagicWeapon())
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ }
+ }
+ }
+
+ if (getArmorType() != ArmorType.NONE)
+ {
+ switch (getArmorType())
+ {
+ case SHIELD:
+ {
+ if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SHIELD))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ break;
+ }
+ case SIGIL:
+ {
+ if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SIGIL))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ }
+ }
+ }
+
+ return true;
+ }
+
+ public AppearanceHolder findVisualChange(L2ItemInstance targetItem)
+ {
+ for (AppearanceHolder holder : _allVisualIds)
+ {
+ if (targetItem.isArmor() && (holder.getBodyPart() != 0) && (targetItem.getItem().getBodyPart() != holder.getBodyPart()))
+ {
+ continue;
+ }
+
+ if (holder.getWeaponType() != WeaponType.NONE)
+ {
+ if (!targetItem.isWeapon() || (targetItem.getItemType() != holder.getWeaponType()))
+ {
+ continue;
+ }
+
+ switch (holder.getHandType())
+ {
+ case ONE_HANDED:
+ {
+ if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_R_HAND) != L2Item.SLOT_R_HAND)
+ {
+ continue;
+ }
+ break;
+ }
+ case TWO_HANDED:
+ {
+ if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_LR_HAND) != L2Item.SLOT_LR_HAND)
+ {
+ continue;
+ }
+ break;
+ }
+ }
+
+ switch (holder.getMagicType())
+ {
+ case MAGICAL:
+ {
+ if (!targetItem.getItem().isMagicWeapon())
+ {
+ continue;
+ }
+ break;
+ }
+ case PHYISICAL:
+ {
+ if (targetItem.getItem().isMagicWeapon())
+ {
+ continue;
+ }
+ }
+ }
+ }
+
+ if (holder.getArmorType() != ArmorType.NONE)
+ {
+ switch (holder.getArmorType())
+ {
+ case SHIELD:
+ {
+ if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SHIELD))
+ {
+ continue;
+ }
+ break;
+ }
+ case SIGIL:
+ {
+ if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SIGIL))
+ {
+ continue;
+ }
+ }
+ }
+ }
+ return holder;
+ }
+ return null;
+ }
}
diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingEnchantSupportItem.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingEnchantSupportItem.java
index 57062be3e6..b3f8a823c8 100644
--- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingEnchantSupportItem.java
+++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingEnchantSupportItem.java
@@ -26,13 +26,11 @@ import com.l2jmobius.gameserver.model.items.L2Item;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceType;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
-import com.l2jmobius.gameserver.model.items.type.ArmorType;
-import com.l2jmobius.gameserver.model.items.type.WeaponType;
import com.l2jmobius.gameserver.network.L2GameClient;
import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
import com.l2jmobius.gameserver.network.serverpackets.appearance.ExPutShapeShiftingExtractionItemResult;
-import com.l2jmobius.gameserver.network.serverpackets.appearance.ExShapeShiftingResult;
+import com.l2jmobius.gameserver.network.serverpackets.appearance.ExPutShapeShiftingTargetItemResult;
/**
* @author UnAfraid
@@ -63,175 +61,100 @@ public class RequestExTryToPutShapeShiftingEnchantSupportItem implements IClient
if (player.isInStoreMode() || player.isInCraftMode() || player.isProcessingRequest() || player.isProcessingTransaction() || (request == null))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
client.sendPacket(SystemMessageId.YOU_CANNOT_USE_THIS_SYSTEM_DURING_TRADING_PRIVATE_STORE_AND_WORKSHOP_SETUP);
return;
}
final PcInventory inventory = player.getInventory();
final L2ItemInstance targetItem = inventory.getItemByObjectId(_targetItemObjId);
- final L2ItemInstance extracItem = inventory.getItemByObjectId(_extracItemObjId);
+ final L2ItemInstance extractItem = inventory.getItemByObjectId(_extracItemObjId);
L2ItemInstance stone = request.getAppearanceStone();
- if ((targetItem == null) || (extracItem == null) || (stone == null))
+ if ((targetItem == null) || (extractItem == null) || (stone == null))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (!extracItem.getItem().isAppearanceable())
+ if ((stone.getOwnerId() != player.getObjectId()) || (targetItem.getOwnerId() != player.getObjectId()) || (extractItem.getOwnerId() != player.getObjectId()))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if ((extracItem.getItemLocation() != ItemLocation.INVENTORY) && (extracItem.getItemLocation() != ItemLocation.PAPERDOLL))
+ if (!extractItem.getItem().isAppearanceable())
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ client.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
+ return;
+ }
+
+ if ((extractItem.getItemLocation() != ItemLocation.INVENTORY) && (extractItem.getItemLocation() != ItemLocation.PAPERDOLL))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- stone = inventory.getItemByObjectId(stone.getObjectId());
- if (stone == null)
+ if ((stone = inventory.getItemByObjectId(stone.getObjectId())) == null)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
final AppearanceStone appearanceStone = AppearanceItemData.getInstance().getStone(stone.getId());
if (appearanceStone == null)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
if ((appearanceStone.getType() == AppearanceType.RESTORE) || (appearanceStone.getType() == AppearanceType.FIXED))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (extracItem.getVisualId() > 0)
+ if (extractItem.getVisualId() > 0)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
client.sendPacket(SystemMessageId.YOU_CANNOT_EXTRACT_FROM_A_MODIFIED_ITEM);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (appearanceStone.getWeaponType() != WeaponType.NONE)
+ if ((extractItem.getItemLocation() != ItemLocation.INVENTORY) && (extractItem.getItemLocation() != ItemLocation.PAPERDOLL))
{
- if (!targetItem.isWeapon() || (targetItem.getItemType() != appearanceStone.getWeaponType()))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
-
- if (appearanceStone.getWeaponType() != WeaponType.NONE)
- {
- if (!targetItem.isWeapon() || (targetItem.getItemType() != appearanceStone.getWeaponType()))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
-
- switch (appearanceStone.getHandType())
- {
- case ONE_HANDED:
- {
- if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_R_HAND) != L2Item.SLOT_R_HAND)
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- case TWO_HANDED:
- {
- if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_LR_HAND) != L2Item.SLOT_LR_HAND)
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- }
-
- switch (appearanceStone.getMagicType())
- {
- case MAGICAL:
- {
- if (!targetItem.getItem().isMagicWeapon())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- case PHYISICAL:
- {
- if (targetItem.getItem().isMagicWeapon())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
- }
- }
-
- if (appearanceStone.getArmorType() != ArmorType.NONE)
- {
- switch (appearanceStone.getArmorType())
- {
- case SHIELD:
- {
- if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SHIELD))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- case SIGIL:
- {
- if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SIGIL))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
- }
- }
-
- if (extracItem.getOwnerId() != player.getObjectId())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- request.setAppearanceExtractItem(extracItem);
+ if ((extractItem.getItemType() != targetItem.getItemType()) || (extractItem.getId() == targetItem.getId()) || (extractItem.getObjectId() == targetItem.getObjectId()))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ client.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
+ return;
+ }
+
+ if ((extractItem.getItem().getBodyPart() != targetItem.getItem().getBodyPart()) && ((extractItem.getItem().getBodyPart() != L2Item.SLOT_FULL_ARMOR) || (targetItem.getItem().getBodyPart() != L2Item.SLOT_CHEST)))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ client.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
+ return;
+ }
+
+ if (extractItem.getItem().getCrystalType().isGreater(targetItem.getItem().getCrystalType()))
+ {
+ client.sendPacket(SystemMessageId.YOU_CANNOT_EXTRACT_FROM_ITEMS_THAT_ARE_HIGHER_GRADE_THAN_ITEMS_TO_BE_MODIFIED);
+ player.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
+ return;
+ }
+
+ if (!appearanceStone.checkConditions(player, targetItem))
+ {
+ player.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
+ return;
+ }
+
+ request.setAppearanceExtractItem(extractItem);
client.sendPacket(ExPutShapeShiftingExtractionItemResult.SUCCESS);
}
}
diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingTargetItem.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingTargetItem.java
index a504a61d23..4fe4ef7d8c 100644
--- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingTargetItem.java
+++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingTargetItem.java
@@ -22,13 +22,8 @@ import com.l2jmobius.gameserver.enums.ItemLocation;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.request.ShapeShiftingItemRequest;
import com.l2jmobius.gameserver.model.itemcontainer.PcInventory;
-import com.l2jmobius.gameserver.model.items.L2Item;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
-import com.l2jmobius.gameserver.model.items.appearance.AppearanceTargetType;
-import com.l2jmobius.gameserver.model.items.appearance.AppearanceType;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
-import com.l2jmobius.gameserver.model.items.type.ArmorType;
-import com.l2jmobius.gameserver.model.items.type.WeaponType;
import com.l2jmobius.gameserver.network.L2GameClient;
import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
@@ -77,13 +72,20 @@ public class RequestExTryToPutShapeShiftingTargetItem implements IClientIncoming
return;
}
- if (!targetItem.getItem().isAppearanceable())
+ if ((stone.getOwnerId() != player.getObjectId()) || (targetItem.getOwnerId() != player.getObjectId()))
{
client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
+ if (!targetItem.getItem().isAppearanceable())
+ {
+ client.sendPacket(SystemMessageId.THIS_ITEM_CANNOT_BE_MODIFIED_OR_RESTORED);
+ client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
+ return;
+ }
+
if ((targetItem.getItemLocation() != ItemLocation.INVENTORY) && (targetItem.getItemLocation() != ItemLocation.PAPERDOLL))
{
client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
@@ -91,8 +93,7 @@ public class RequestExTryToPutShapeShiftingTargetItem implements IClientIncoming
return;
}
- stone = inventory.getItemByObjectId(stone.getObjectId());
- if (stone == null)
+ if ((stone = inventory.getItemByObjectId(stone.getObjectId())) == null)
{
client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
@@ -107,158 +108,9 @@ public class RequestExTryToPutShapeShiftingTargetItem implements IClientIncoming
return;
}
- if (((appearanceStone.getType() != AppearanceType.RESTORE) && (targetItem.getVisualId() > 0)) || ((appearanceStone.getType() == AppearanceType.RESTORE) && (targetItem.getVisualId() == 0)))
+ if (!appearanceStone.checkConditions(player, targetItem))
{
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
-
- // TODO: Handle hair accessory!
- // if (!targetItem.isEtcItem() && (targetItem.getItem().getCrystalType() == CrystalType.NONE))
- {
- // client.sendPacket(SystemMessageId.YOU_CANNOT_MODIFY_OR_RESTORE_NOGRADE_ITEMS);
- // return;
- }
-
- if (!appearanceStone.getTargetTypes().contains(AppearanceTargetType.ACCESSORY)) // accessory tempfix
- {
- if (!appearanceStone.getCrystalTypes().isEmpty() && !appearanceStone.getCrystalTypes().contains(targetItem.getItem().getCrystalType()))
- {
- client.sendPacket(SystemMessageId.ITEM_GRADES_DO_NOT_MATCH);
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
-
- if (appearanceStone.getTargetTypes().isEmpty())
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
-
- if (!appearanceStone.getTargetTypes().contains(AppearanceTargetType.ALL))
- {
- if (targetItem.isWeapon() && !appearanceStone.getTargetTypes().contains(AppearanceTargetType.WEAPON))
- {
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
-
- }
- else if (targetItem.isArmor() && !appearanceStone.getTargetTypes().contains(AppearanceTargetType.ARMOR) && !appearanceStone.getTargetTypes().contains(AppearanceTargetType.ACCESSORY))
- {
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- else if (targetItem.isArmor() && !appearanceStone.getBodyParts().isEmpty() && !appearanceStone.getBodyParts().contains(targetItem.getItem().getBodyPart()))
- {
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
-
- if (appearanceStone.getWeaponType() != WeaponType.NONE)
- {
- if (!targetItem.isWeapon() || (targetItem.getItemType() != appearanceStone.getWeaponType()))
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
-
- switch (appearanceStone.getHandType())
- {
- case ONE_HANDED:
- {
- if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_R_HAND) != L2Item.SLOT_R_HAND)
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
- break;
- }
- case TWO_HANDED:
- {
- if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_LR_HAND) != L2Item.SLOT_LR_HAND)
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
- break;
- }
- }
-
- switch (appearanceStone.getMagicType())
- {
- case MAGICAL:
- {
- if (!targetItem.getItem().isMagicWeapon())
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
- break;
- }
- case PHYISICAL:
- {
- if (targetItem.getItem().isMagicWeapon())
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
- }
- }
- }
-
- if (appearanceStone.getArmorType() != ArmorType.NONE)
- {
- switch (appearanceStone.getArmorType())
- {
- case SHIELD:
- {
- if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SHIELD))
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
- break;
- }
- case SIGIL:
- {
- if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SIGIL))
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
- }
- }
- }
-
- if (targetItem.getOwnerId() != player.getObjectId())
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
+ player.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
return;
}
diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestShapeShiftingItem.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestShapeShiftingItem.java
index e39eb6b752..97d035b0f3 100644
--- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestShapeShiftingItem.java
+++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestShapeShiftingItem.java
@@ -22,14 +22,12 @@ import com.l2jmobius.gameserver.enums.InventorySlot;
import com.l2jmobius.gameserver.enums.ItemLocation;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.request.ShapeShiftingItemRequest;
+import com.l2jmobius.gameserver.model.holders.AppearanceHolder;
import com.l2jmobius.gameserver.model.itemcontainer.PcInventory;
import com.l2jmobius.gameserver.model.items.L2Item;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
-import com.l2jmobius.gameserver.model.items.appearance.AppearanceTargetType;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceType;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
-import com.l2jmobius.gameserver.model.items.type.ArmorType;
-import com.l2jmobius.gameserver.model.items.type.WeaponType;
import com.l2jmobius.gameserver.model.variables.ItemVariables;
import com.l2jmobius.gameserver.network.L2GameClient;
import com.l2jmobius.gameserver.network.SystemMessageId;
@@ -37,8 +35,6 @@ import com.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
import com.l2jmobius.gameserver.network.serverpackets.ExAdenaInvenCount;
import com.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
import com.l2jmobius.gameserver.network.serverpackets.InventoryUpdate;
-import com.l2jmobius.gameserver.network.serverpackets.SystemMessage;
-import com.l2jmobius.gameserver.network.serverpackets.appearance.ExPutShapeShiftingTargetItemResult;
import com.l2jmobius.gameserver.network.serverpackets.appearance.ExShapeShiftingResult;
/**
@@ -68,7 +64,7 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
if (player.isInStoreMode() || player.isInCraftMode() || player.isProcessingRequest() || player.isProcessingTransaction() || (request == null))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
client.sendPacket(SystemMessageId.YOU_CANNOT_USE_THIS_SYSTEM_DURING_TRADING_PRIVATE_STORE_AND_WORKSHOP_SETUP);
return;
}
@@ -79,36 +75,36 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
if ((targetItem == null) || (stone == null))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (stone.getOwnerId() != player.getObjectId())
+ if ((stone.getOwnerId() != player.getObjectId()) || (targetItem.getOwnerId() != player.getObjectId()))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
if (!targetItem.getItem().isAppearanceable())
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(SystemMessageId.THIS_ITEM_CANNOT_BE_MODIFIED_OR_RESTORED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
if ((targetItem.getItemLocation() != ItemLocation.INVENTORY) && (targetItem.getItemLocation() != ItemLocation.PAPERDOLL))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- stone = inventory.getItemByObjectId(stone.getObjectId());
- if (stone == null)
+ if ((stone = inventory.getItemByObjectId(stone.getObjectId())) == null)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
@@ -116,223 +112,100 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
final AppearanceStone appearanceStone = AppearanceItemData.getInstance().getStone(stone.getId());
if (appearanceStone == null)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (((appearanceStone.getType() != AppearanceType.RESTORE) && (targetItem.getVisualId() > 0)) || ((appearanceStone.getType() == AppearanceType.RESTORE) && (targetItem.getVisualId() == 0)))
+ if (!appearanceStone.checkConditions(player, targetItem))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- // TODO: Handle hair accessory!
- // if (!targetItem.isEtcItem() && (targetItem.getItem().getCrystalType() == CrystalType.NONE))
- {
- // client.sendPacket(ExShapeShiftingResult.FAILED);
- // player.removeRequest(ShapeShiftingItemRequest.class.getName());
- // return;
- }
-
- if (!appearanceStone.getTargetTypes().contains(AppearanceTargetType.ACCESSORY)) // accessory tempfix
- {
- if (!appearanceStone.getCrystalTypes().isEmpty() && !appearanceStone.getCrystalTypes().contains(targetItem.getItem().getCrystalType()))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
-
- if (appearanceStone.getTargetTypes().isEmpty())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
-
- if (!appearanceStone.getTargetTypes().contains(AppearanceTargetType.ALL))
- {
- if (targetItem.isWeapon() && !appearanceStone.getTargetTypes().contains(AppearanceTargetType.WEAPON))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
-
- }
- else if (targetItem.isArmor() && !appearanceStone.getTargetTypes().contains(AppearanceTargetType.ARMOR) && !appearanceStone.getTargetTypes().contains(AppearanceTargetType.ACCESSORY))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- else if (targetItem.isArmor() && !appearanceStone.getBodyParts().isEmpty() && !appearanceStone.getBodyParts().contains(targetItem.getItem().getBodyPart()))
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
-
- if (appearanceStone.getWeaponType() != WeaponType.NONE)
- {
- if (!targetItem.isWeapon() || (targetItem.getItemType() != appearanceStone.getWeaponType()))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
-
- switch (appearanceStone.getHandType())
- {
- case ONE_HANDED:
- {
- if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_R_HAND) != L2Item.SLOT_R_HAND)
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- case TWO_HANDED:
- {
- if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_LR_HAND) != L2Item.SLOT_LR_HAND)
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- }
-
- switch (appearanceStone.getMagicType())
- {
- case MAGICAL:
- {
- if (!targetItem.getItem().isMagicWeapon())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- case PHYISICAL:
- {
- if (targetItem.getItem().isMagicWeapon())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
- }
- }
-
- if (appearanceStone.getArmorType() != ArmorType.NONE)
- {
- switch (appearanceStone.getArmorType())
- {
- case SHIELD:
- {
- if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SHIELD))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- case SIGIL:
- {
- if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SIGIL))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
- }
- }
-
- final L2ItemInstance extracItem = request.getAppearanceExtractItem();
+ final L2ItemInstance extractItem = request.getAppearanceExtractItem();
int extracItemId = 0;
if ((appearanceStone.getType() != AppearanceType.RESTORE) && (appearanceStone.getType() != AppearanceType.FIXED))
{
- if (extracItem == null)
+ if (extractItem == null)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (!targetItem.getItem().isAppearanceable())
+ if (extractItem.getOwnerId() != player.getObjectId())
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if ((extracItem.getItemLocation() != ItemLocation.INVENTORY) && (extracItem.getItemLocation() != ItemLocation.PAPERDOLL))
+ if (!extractItem.getItem().isAppearanceable())
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (!extracItem.isEtcItem() && (targetItem.getItem().getCrystalType().ordinal() <= extracItem.getItem().getCrystalType().ordinal()))
+ if ((extractItem.getItemLocation() != ItemLocation.INVENTORY) && (extractItem.getItemLocation() != ItemLocation.PAPERDOLL))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (extracItem.getVisualId() > 0)
+ if (extractItem.getItem().getCrystalType().isGreater(targetItem.getItem().getCrystalType()))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (extracItem.getOwnerId() != player.getObjectId())
+ if (extractItem.getVisualId() > 0)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- extracItemId = extracItem.getId();
+
+ if ((extractItem.getItemType() != targetItem.getItemType()) || (extractItem.getId() == targetItem.getId()) || (extractItem.getObjectId() == targetItem.getObjectId()))
+ {
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
+ player.removeRequest(ShapeShiftingItemRequest.class);
+ return;
+ }
+
+ if ((extractItem.getItem().getBodyPart() != targetItem.getItem().getBodyPart()) && ((extractItem.getItem().getBodyPart() != L2Item.SLOT_FULL_ARMOR) || (targetItem.getItem().getBodyPart() != L2Item.SLOT_CHEST)))
+ {
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
+ player.removeRequest(ShapeShiftingItemRequest.class);
+ return;
+ }
+
+ extracItemId = extractItem.getId();
}
- if (targetItem.getOwnerId() != player.getObjectId())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
-
- final long cost = appearanceStone.getCost();
+ long cost = appearanceStone.getCost();
if (cost > player.getAdena())
{
client.sendPacket(SystemMessageId.YOU_CANNOT_MODIFY_AS_YOU_DO_NOT_HAVE_ENOUGH_ADENA);
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
if (stone.getCount() < 1L)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
if (appearanceStone.getType() == AppearanceType.NORMAL)
{
- if (inventory.destroyItem(getClass().getSimpleName(), extracItem, 1, player, this) == null)
+ if (inventory.destroyItem(getClass().getSimpleName(), extractItem, 1, player, this) == null)
{
client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
@@ -341,7 +214,7 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
}
inventory.destroyItem(getClass().getSimpleName(), stone, 1, player, this);
- player.reduceAdena(getClass().getSimpleName(), cost, extracItem, true);
+ player.reduceAdena(getClass().getSimpleName(), cost, extractItem, false);
switch (appearanceStone.getType())
{
@@ -353,18 +226,32 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
}
case NORMAL:
{
- targetItem.setVisualId(extracItem.getId());
+ targetItem.setVisualId(extractItem.getId());
break;
}
case BLESSED:
{
- targetItem.setVisualId(extracItem.getId());
+ targetItem.setVisualId(extractItem.getId());
break;
}
case FIXED:
{
- targetItem.setVisualId(appearanceStone.getVisualId());
- targetItem.getVariables().set(ItemVariables.VISUAL_APPEARANCE_STONE_ID, appearanceStone.getId());
+ if (appearanceStone.getVisualIds().isEmpty())
+ {
+ extracItemId = appearanceStone.getVisualId();
+ targetItem.setVisualId(appearanceStone.getVisualId());
+ targetItem.getVariables().set(ItemVariables.VISUAL_APPEARANCE_STONE_ID, appearanceStone.getId());
+ }
+ else
+ {
+ final AppearanceHolder holder = appearanceStone.findVisualChange(targetItem);
+ if (holder != null)
+ {
+ extracItemId = holder.getVisualId();
+ targetItem.setVisualId(holder.getVisualId());
+ targetItem.getVariables().set(ItemVariables.VISUAL_APPEARANCE_STONE_ID, appearanceStone.getId());
+ }
+ }
break;
}
}
@@ -376,17 +263,13 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
}
targetItem.getVariables().storeMe();
- if (appearanceStone.getCost() > 0)
- {
- client.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_SPENT_S1_ON_A_SUCCESSFUL_APPEARANCE_MODIFICATION).addLong(cost));
- }
- else
- {
- client.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.S1_S_APPEARANCE_MODIFICATION_HAS_FINISHED).addItemName(targetItem.getDisplayId()));
- }
final InventoryUpdate iu = new InventoryUpdate();
iu.addModifiedItem(targetItem);
+ if (extractItem != null)
+ {
+ iu.addModifiedItem(extractItem);
+ }
if (inventory.getItemByObjectId(stone.getObjectId()) == null)
{
iu.addRemovedItem(stone);
diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/serverpackets/appearance/ExShapeShiftingResult.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/serverpackets/appearance/ExShapeShiftingResult.java
index 66c2d83f24..ab35ba8f6a 100644
--- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/serverpackets/appearance/ExShapeShiftingResult.java
+++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/serverpackets/appearance/ExShapeShiftingResult.java
@@ -27,8 +27,10 @@ public class ExShapeShiftingResult implements IClientOutgoingPacket
{
public static int RESULT_FAILED = 0x00;
public static int RESULT_SUCCESS = 0x01;
+ public static int RESULT_CLOSE = 0x02;
public static ExShapeShiftingResult FAILED = new ExShapeShiftingResult(RESULT_FAILED, 0, 0);
+ public static ExShapeShiftingResult CLOSE = new ExShapeShiftingResult(RESULT_CLOSE, 0, 0);
private final int _result;
private final int _targetItemId;
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/AppearanceStones.xml b/L2J_Mobius_3.0_Helios/dist/game/data/AppearanceStones.xml
index 12622cdb03..50b2296cfd 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/AppearanceStones.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/AppearanceStones.xml
@@ -1,6 +1,5 @@
-
R
@@ -16,7 +15,7 @@
-
+
R
R95
@@ -31,7 +30,7 @@
-
+
R
R95
@@ -46,6 +45,127 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -122,142 +242,9 @@
WEAPON
ARMOR
-
- R
- R95
- R99
- WEAPON
- ARMOR
-
-
- S
- S80
- WEAPON
- ARMOR
-
-
- WEAPON
- ARMOR
-
-
- WEAPON
- ARMOR
-
-
- WEAPON
- ARMOR
-
-
- WEAPON
- ARMOR
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- chest
- fullarmor
-
-
-
- chest
- fullarmor
-
-
-
-
-
- hair
- hair2
- hairall
-
-
-
- chest
- fullarmor
-
-
-
-
-
- hair
- hair2
- hairall
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- chest
- fullarmor
-
-
- chest
- fullarmor
-
-
-
- chest
- fullarmor
-
-
- chest
- fullarmor
-
+
+
chest
fullarmor
@@ -271,6 +258,16 @@
hairall
+
+
+ chest
+ fullarmor
+
+
+
+
+
+
chest
fullarmor
@@ -284,22 +281,7 @@
hairall
-
- chest
- fullarmor
-
-
-
-
-
-
- chest
- fullarmor
-
-
-
-
-
+
chest
fullarmor
@@ -308,21 +290,98 @@
-
+
+
+ chest
+ fullarmor
+
+
+
+
+
hair
hair2
hairall
-
+
+
+
+ chest
+ fullarmor
+
+
+
+
+
+
+
+ chest
+ fullarmor
+
+
+
+
+
+ hair
+ hair2
+ hairall
+
+
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
chest
fullarmor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
chest
fullarmor
-
+
+
+
+ chest
+ fullarmor
+
+
+
+
+ chest
+ fullarmor
+
+
+
chest
fullarmor
@@ -336,241 +395,3131 @@
hairall
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
chest
fullarmor
-
-
- chest
- fullarmor
-
-
-
- chest
- fullarmor
-
-
- hair
- hair2
- hairall
-
-
-
- chest
- fullarmor
-
-
-
- chest
- fullarmor
-
-
+
hair
hair2
hairall
-
+
+
chest
fullarmor
-
+
hair
hair2
hairall
-
+
+
+
+
+
+
+
+
+
chest
fullarmor
-
- hair
- hair2
- hairall
-
-
-
+
chest
fullarmor
-
-
+
chest
fullarmor
-
-
- hair
- hair2
- hairall
+
+ chest
+ fullarmor
-
-
-
-
-
-
- hair
- hair2
- hairall
-
-
-
-
-
-
-
- hair
- hair2
- hairall
-
-
-
-
-
-
-
- hair
- hair2
- hairall
-
-
-
-
-
-
-
- hair
- hair2
- hairall
-
-
-
-
-
-
-
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
chest
fullarmor
-
-
-
-
-
-
-
-
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+ chest
+ fullarmor
+
+
+
+
-
+
+ chest
+ fullarmor
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ chest
+ fullarmor
+
+
+
+
-
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
hair
@@ -582,57 +3531,123 @@
fullarmor
-
+
+ chest
+ fullarmor
+
+
+
+ chest
+ fullarmor
+
+
hair
hair2
hairall
-
+
+
+ chest
+ fullarmor
+
+
+ hair
+ hair2
+ hairall
+
+
+ chest
+ fullarmor
+
+
+ hair
+ hair2
+ hairall
+
+
+
+
+ chest
+ fullarmor
+
+
chest
fullarmor
-
- chest
-
-
- legs
-
-
- gloves
-
-
- feet
-
-
-
- chest
-
-
- legs
-
-
- gloves
-
-
- feet
-
-
-
- chest
-
-
- legs
-
-
- gloves
-
-
- feet
-
-
-
+
+
chest
fullarmor
+
+ chest
+ fullarmor
+
+
+
+ chest
+ fullarmor
+
+
+
+ chest
+ fullarmor
+
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+
+ chest
+ fullarmor
+
+
+
+ chest
+ fullarmor
+
+
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+ chest
+ fullarmor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/24500-24599.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/24500-24599.xml
index f3459153c6..12a9d23a84 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/24500-24599.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/24500-24599.xml
@@ -1,903 +1,1496 @@
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/24600-24699.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/24600-24699.xml
index fe2791d8f1..ba3daca2d5 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/24600-24699.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/24600-24699.xml
@@ -1,903 +1,1503 @@
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/24700-24799.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/24700-24799.xml
index f5ae57bfe5..55c27d559a 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/24700-24799.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/24700-24799.xml
@@ -1,1043 +1,1643 @@
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/24800-24899.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/24800-24899.xml
index ba6cbc31c4..1e2d838a6f 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/24800-24899.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/24800-24899.xml
@@ -1,1403 +1,2003 @@
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/24900-24999.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/24900-24999.xml
index 4f58d58006..d7e3917a4b 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/24900-24999.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/24900-24999.xml
@@ -1,1283 +1,1943 @@
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25000-25099.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25000-25099.xml
index bb21ec08d3..e18c48020b 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25000-25099.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25000-25099.xml
@@ -1,1043 +1,1923 @@
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25100-25199.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25100-25199.xml
index eb9a8b2614..a237d7214d 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25100-25199.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25100-25199.xml
@@ -1,883 +1,1403 @@
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25200-25299.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25200-25299.xml
index 9d3de57f80..d791de3666 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25200-25299.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25200-25299.xml
@@ -1,903 +1,1403 @@
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25300-25399.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25300-25399.xml
index ab378bbc73..988443b130 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25300-25399.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25300-25399.xml
@@ -1,863 +1,1363 @@
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25400-25499.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25400-25499.xml
index 795d48e42b..8158697f15 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25400-25499.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25400-25499.xml
@@ -1,1283 +1,1863 @@
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25500-25599.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25500-25599.xml
index e1704b61ff..e2f9eabde4 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25500-25599.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25500-25599.xml
@@ -1,1403 +1,2003 @@
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25600-25699.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25600-25699.xml
index 48e53b2cab..78368b6184 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25600-25699.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25600-25699.xml
@@ -1,1303 +1,2003 @@
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25700-25799.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25700-25799.xml
index a08a006b0b..5e63dc5467 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25700-25799.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/25700-25799.xml
@@ -1,8 +1,11 @@

-
-
+
+
+
+
@@ -10,12 +13,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -23,12 +33,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -36,12 +53,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -49,12 +73,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -62,12 +93,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -75,12 +113,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -88,12 +133,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -101,12 +153,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -114,12 +173,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -127,12 +193,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -140,12 +213,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -153,12 +233,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -166,12 +253,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -179,12 +273,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -192,12 +293,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -205,12 +313,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -218,12 +333,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -231,12 +353,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -244,12 +373,19 @@
+
+
-
+
+
+
-
-
+
+
+
+
@@ -257,8 +393,12 @@
+
+
-
+
+
+
-
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26200-26299.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26200-26299.xml
index 2d9cc4402c..9ff16786c4 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26200-26299.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26200-26299.xml
@@ -1452,6 +1452,9 @@
+
+
+
-
@@ -1460,6 +1463,9 @@
+
+
+
-
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26300-26399.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26300-26399.xml
index 39fd8f2305..00e36b1e37 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26300-26399.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26300-26399.xml
@@ -635,6 +635,9 @@
+
+
+
-
@@ -644,6 +647,9 @@
+
+
+
-
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26500-26599.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26500-26599.xml
index ed62b9690b..2586162602 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26500-26599.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26500-26599.xml
@@ -187,6 +187,7 @@
+
-
@@ -201,6 +202,7 @@
+
-
@@ -224,6 +226,7 @@
+
-
@@ -232,6 +235,7 @@
+
-
@@ -240,6 +244,7 @@
+
-
@@ -248,6 +253,7 @@
+
-
@@ -256,6 +262,7 @@
+
-
@@ -294,6 +301,7 @@
+
-
@@ -303,11 +311,17 @@
+
-
+
+
+
+
+
@@ -315,6 +329,11 @@
+
+
+
+
+
@@ -322,6 +341,11 @@
+
+
+
+
+
@@ -329,6 +353,11 @@
+
+
+
+
+
@@ -336,6 +365,11 @@
+
+
+
+
+
@@ -343,6 +377,11 @@
+
+
+
+
+
@@ -350,6 +389,11 @@
+
+
+
+
+
@@ -357,6 +401,11 @@
+
+
+
+
+
@@ -364,6 +413,11 @@
+
+
+
+
+
@@ -371,6 +425,11 @@
+
+
+
+
+
@@ -378,6 +437,11 @@
+
+
+
+
+
@@ -385,6 +449,11 @@
+
+
+
+
+
@@ -392,6 +461,11 @@
+
+
+
+
+
@@ -399,6 +473,11 @@
+
+
+
+
+
@@ -406,6 +485,11 @@
+
+
+
+
+
@@ -413,6 +497,11 @@
+
+
+
+
+
@@ -420,6 +509,11 @@
+
+
+
+
+
@@ -427,6 +521,11 @@
+
+
+
+
+
@@ -434,6 +533,11 @@
+
+
+
+
+
@@ -441,6 +545,11 @@
+
+
+
+
+
@@ -448,6 +557,11 @@
+
+
+
+
+
@@ -455,6 +569,11 @@
+
+
+
+
+
@@ -462,6 +581,11 @@
+
+
+
+
+
@@ -469,6 +593,11 @@
+
+
+
+
+
@@ -476,6 +605,11 @@
+
+
+
+
+
@@ -483,6 +617,11 @@
+
+
+
+
+
@@ -490,6 +629,11 @@
+
+
+
+
+
@@ -497,6 +641,11 @@
+
+
+
+
+
@@ -504,6 +653,11 @@
+
+
+
+
+
@@ -511,6 +665,11 @@
+
+
+
+
+
@@ -518,6 +677,11 @@
+
+
+
+
+
@@ -525,6 +689,11 @@
+
+
+
+
+
@@ -532,6 +701,11 @@
+
+
+
+
+
@@ -539,6 +713,11 @@
+
+
+
+
+
@@ -546,6 +725,11 @@
+
+
+
+
+
@@ -553,6 +737,11 @@
+
+
+
+
+
@@ -560,6 +749,11 @@
+
+
+
+
+
@@ -567,6 +761,11 @@
+
+
+
+
+
@@ -574,6 +773,11 @@
+
+
+
+
+
@@ -581,6 +785,11 @@
+
+
+
+
+
@@ -588,6 +797,11 @@
+
+
+
+
+
@@ -595,6 +809,11 @@
+
+
+
+
+
@@ -602,6 +821,11 @@
+
+
+
+
+
@@ -609,6 +833,11 @@
+
+
+
+
+
@@ -616,6 +845,11 @@
+
+
+
+
+
@@ -623,6 +857,11 @@
+
+
+
+
+
@@ -630,6 +869,11 @@
+
+
+
+
+
@@ -637,6 +881,11 @@
+
+
+
+
+
@@ -644,6 +893,11 @@
+
+
+
+
+
@@ -651,6 +905,11 @@
+
+
+
+
+
@@ -658,6 +917,11 @@
+
+
+
+
+
@@ -665,6 +929,11 @@
+
+
+
+
+
@@ -672,6 +941,11 @@
+
+
+
+
+
@@ -679,6 +953,11 @@
+
+
+
+
+
@@ -686,6 +965,11 @@
+
+
+
+
+
@@ -693,6 +977,11 @@
+
+
+
+
+
@@ -700,6 +989,11 @@
+
+
+
+
+
@@ -707,6 +1001,11 @@
+
+
+
+
+
@@ -714,6 +1013,11 @@
+
+
+
+
+
@@ -721,6 +1025,11 @@
+
+
+
+
+
@@ -728,6 +1037,11 @@
+
+
+
+
+
@@ -735,6 +1049,11 @@
+
+
+
+
+
@@ -742,6 +1061,11 @@
+
+
+
+
+
@@ -749,6 +1073,11 @@
+
+
+
+
+
@@ -756,6 +1085,11 @@
+
+
+
+
+
@@ -763,6 +1097,11 @@
+
+
+
+
+
@@ -770,6 +1109,11 @@
+
+
+
+
+
@@ -777,6 +1121,11 @@
+
+
+
+
+
@@ -784,6 +1133,11 @@
+
+
+
+
+
@@ -791,6 +1145,11 @@
+
+
+
+
+
@@ -798,6 +1157,11 @@
+
+
+
+
+
@@ -805,6 +1169,11 @@
+
+
+
+
+
@@ -812,6 +1181,11 @@
+
+
+
+
+
@@ -819,6 +1193,11 @@
+
+
+
+
+
@@ -826,6 +1205,11 @@
+
+
+
+
+
@@ -833,6 +1217,11 @@
+
+
+
+
+
@@ -840,6 +1229,11 @@
+
+
+
+
+
@@ -847,7 +1241,12 @@
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26600-26699.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26600-26699.xml
index 98b90e5288..5f7af4b429 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26600-26699.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26600-26699.xml
@@ -1,703 +1,1203 @@
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26700-26799.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26700-26799.xml
index f947384636..148225b576 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26700-26799.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26700-26799.xml
@@ -1,703 +1,1203 @@
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26800-26899.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26800-26899.xml
index caafa85b1b..069457ea24 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26800-26899.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26800-26899.xml
@@ -1,703 +1,1203 @@
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26900-26999.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26900-26999.xml
index b1a3571503..148fbf108a 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26900-26999.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/26900-26999.xml
@@ -1,703 +1,1203 @@
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/27000-27099.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/27000-27099.xml
index 61d0b78858..ad5238786f 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/27000-27099.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/27000-27099.xml
@@ -1,703 +1,1203 @@
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/27100-27199.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/27100-27199.xml
index 5132f4dfd5..9aa516a8f4 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/27100-27199.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/27100-27199.xml
@@ -1,703 +1,1203 @@
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/27200-27299.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/27200-27299.xml
index 6a4a88cfa4..d072574b23 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/27200-27299.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/27200-27299.xml
@@ -1,713 +1,1223 @@
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/27300-27399.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/27300-27399.xml
index 67afc4e31c..47a6b93870 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/27300-27399.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/27300-27399.xml
@@ -1,803 +1,1403 @@
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/27400-27499.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/27400-27499.xml
index 2f54bb5345..e5c3e83fae 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/27400-27499.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/27400-27499.xml
@@ -1,468 +1,816 @@

-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
+
+
-
@@ -471,12 +819,12 @@
-
+
-
-
+
+
-
@@ -485,11 +833,11 @@
-
+
-
+
-
@@ -499,11 +847,11 @@
-
+
-
+
-
@@ -513,11 +861,11 @@
-
+
-
+
-
@@ -527,11 +875,11 @@
-
+
-
+
-
@@ -541,11 +889,11 @@
-
+
-
+
-
@@ -555,11 +903,11 @@
-
+
-
+
-
@@ -569,11 +917,11 @@
-
+
-
+
-
@@ -583,11 +931,11 @@
-
+
-
+
-
@@ -597,12 +945,11 @@
-
-
+
-
+
-
@@ -612,11 +959,11 @@
-
+
-
+
-
@@ -626,11 +973,11 @@
-
+
-
+
-
@@ -640,6 +987,7 @@
+
-
@@ -906,6 +1254,7 @@
+
-
@@ -917,6 +1266,7 @@
+
-
@@ -928,6 +1278,7 @@
+
-
@@ -939,6 +1290,7 @@
+
-
@@ -950,6 +1302,7 @@
+
-
@@ -961,6 +1314,7 @@
+
-
@@ -1088,4 +1442,4 @@
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/46100-46199.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/46100-46199.xml
index 64af762b84..d48355fb67 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/46100-46199.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/46100-46199.xml
@@ -1130,5 +1130,8 @@
+
+
+
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/46200-46299.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/46200-46299.xml
index 48bdb90cb0..9af7aef750 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/46200-46299.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/46200-46299.xml
@@ -7,7 +7,10 @@
-
+
+
+
+
-
@@ -16,6 +19,9 @@
+
+
+
-
@@ -23,7 +29,10 @@
-
+
+
+
+
-
@@ -953,7 +962,10 @@
-
+
+
+
+
-
@@ -971,6 +983,9 @@
+
+
+
-
@@ -1199,6 +1214,13 @@
+
+
+
+
+
+
+
-
@@ -1207,6 +1229,13 @@
+
+
+
+
+
+
+
-
@@ -1221,7 +1250,14 @@
-
+
+
+
+
+
+
+
+
-
@@ -1236,7 +1272,14 @@
-
+
+
+
+
+
+
+
+
-
@@ -1251,7 +1294,14 @@
-
+
+
+
+
+
+
+
+
-
@@ -1266,7 +1316,14 @@
-
+
+
+
+
+
+
+
+
-
@@ -1281,7 +1338,14 @@
-
+
+
+
+
+
+
+
+
-
@@ -1296,7 +1360,14 @@
-
+
+
+
+
+
+
+
+
-
@@ -1311,6 +1382,13 @@
-
+
+
+
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/46300-46399.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/46300-46399.xml
index 3ee5348451..194cb5b184 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/46300-46399.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/46300-46399.xml
@@ -13,7 +13,14 @@
-
+
+
+
+
+
+
+
+
-
@@ -28,7 +35,14 @@
-
+
+
+
+
+
+
+
+
-
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/46600-46699.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/46600-46699.xml
index f7c7af32b0..ffeaae4c89 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/46600-46699.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/46600-46699.xml
@@ -27,7 +27,7 @@
-
+
50.0
@@ -41,6 +41,9 @@
+
+
+
-
@@ -49,6 +52,9 @@
+
+
+
-
@@ -59,111 +65,184 @@
+
-
+
+
- -
+
-
+
+
+
+
+
-
+
+
+
+
+
-
+
+
+
+
+
-
+
+
+
+
+
- -
+
-
+
+
+
+
+
-
+
+
+
+
+
-
+
+
+
+
+
-
+
+
+
+
+
-
+
+
+
+
+
-
+
+
+
+
+
-
+
+
+
+
+
-
+
+
+
+
+
-
+
+
+
+
+
-
+
+
+
+
+
-
@@ -249,16 +328,26 @@
-
+
+
+
+
+
-
+
+
+
+
+
-
@@ -294,6 +383,7 @@
142.0
+ 58
-
@@ -313,6 +403,7 @@
107.0
+ 43
-
@@ -332,6 +423,7 @@
71.0
+ 29
-
@@ -351,6 +443,7 @@
161.0
+ 62
-
@@ -370,6 +463,7 @@
121.0
+ 46
-
@@ -389,6 +483,7 @@
80.0
+ 31
-
@@ -408,6 +503,7 @@
174.0
+ 65
-
@@ -427,6 +523,7 @@
130.0
+ 49
-
@@ -446,6 +543,7 @@
87.0
+ 33
-
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/47300-47399.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/47300-47399.xml
index 7c891e8403..e5fa2203b6 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/47300-47399.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/47300-47399.xml
@@ -967,33 +967,45 @@
- -
+
-
-
-
+
+
+
+
+
- -
+
-
-
-
+
+
+
+
+
- -
+
-
-
-
+
+
+
+
+
- -
+
-
-
-
+
+
+
+
+
-
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/47400-47499.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/47400-47499.xml
index 328444e779..cf4b1c5765 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/47400-47499.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/items/47400-47499.xml
@@ -629,33 +629,45 @@
- -
+
-
-
-
+
+
+
+
+
- -
+
-
-
-
+
+
+
+
+
- -
+
-
-
-
+
+
+
+
+
- -
+
-
-
-
+
+
+
+
+
-
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/xsd/AppearanceStones.xsd b/L2J_Mobius_3.0_Helios/dist/game/data/xsd/AppearanceStones.xsd
index d1543c273f..86f49f9a0e 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/xsd/AppearanceStones.xsd
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/xsd/AppearanceStones.xsd
@@ -95,6 +95,105 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -181,6 +280,9 @@
+
+
+
diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java
index b02157ee4d..dd15efb7ce 100644
--- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java
+++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java
@@ -22,13 +22,13 @@ import java.util.Map;
import java.util.logging.Logger;
import org.w3c.dom.Document;
-import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import com.l2jmobius.commons.util.IGameXmlReader;
import com.l2jmobius.gameserver.datatables.ItemTable;
import com.l2jmobius.gameserver.enums.Race;
import com.l2jmobius.gameserver.model.StatsSet;
+import com.l2jmobius.gameserver.model.holders.AppearanceHolder;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceTargetType;
import com.l2jmobius.gameserver.model.items.type.CrystalType;
@@ -75,9 +75,6 @@ public class AppearanceItemData implements IGameXmlReader
@Override
public void parseDocument(Document doc, File f)
{
- StatsSet set;
- Node att;
- NamedNodeMap attrs;
for (Node n = doc.getFirstChild(); n != null; n = n.getNextSibling())
{
if ("list".equalsIgnoreCase(n.getNodeName()))
@@ -86,15 +83,7 @@ public class AppearanceItemData implements IGameXmlReader
{
if ("appearance_stone".equalsIgnoreCase(d.getNodeName()))
{
- attrs = d.getAttributes();
- set = new StatsSet();
- for (int i = 0; i < attrs.getLength(); i++)
- {
- att = attrs.item(i);
- set.set(att.getNodeName(), att.getNodeValue());
- }
-
- final AppearanceStone stone = new AppearanceStone(set);
+ final AppearanceStone stone = new AppearanceStone(new StatsSet(parseAttributes(d)));
for (Node c = d.getFirstChild(); c != null; c = c.getNextSibling())
{
switch (c.getNodeName())
@@ -129,6 +118,10 @@ public class AppearanceItemData implements IGameXmlReader
stone.addRaceNot(raceNot);
break;
}
+ case "visual":
+ {
+ stone.addVisualId(new AppearanceHolder(new StatsSet(parseAttributes(c))));
+ }
}
}
if (ItemTable.getInstance().getTemplate(stone.getId()) != null)
@@ -145,6 +138,11 @@ public class AppearanceItemData implements IGameXmlReader
}
}
+ public int getLoadedElementsCount()
+ {
+ return _stones.size();
+ }
+
public AppearanceStone getStone(int stone)
{
return _stones.get(stone);
diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/holders/AppearanceHolder.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/holders/AppearanceHolder.java
new file mode 100644
index 0000000000..7f4dc2a68d
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/holders/AppearanceHolder.java
@@ -0,0 +1,85 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package com.l2jmobius.gameserver.model.holders;
+
+import com.l2jmobius.gameserver.datatables.ItemTable;
+import com.l2jmobius.gameserver.model.StatsSet;
+import com.l2jmobius.gameserver.model.items.appearance.AppearanceHandType;
+import com.l2jmobius.gameserver.model.items.appearance.AppearanceMagicType;
+import com.l2jmobius.gameserver.model.items.appearance.AppearanceTargetType;
+import com.l2jmobius.gameserver.model.items.type.ArmorType;
+import com.l2jmobius.gameserver.model.items.type.WeaponType;
+
+/**
+ * @author Sdw
+ */
+public class AppearanceHolder
+{
+ private final int _visualId;
+ private final WeaponType _weaponType;
+ private final ArmorType _armorType;
+ private final AppearanceHandType _handType;
+ private final AppearanceMagicType _magicType;
+ private final AppearanceTargetType _targetType;
+ private final Integer _bodyPart;
+
+ public AppearanceHolder(StatsSet set)
+ {
+ _visualId = set.getInt("id", 0);
+ _weaponType = set.getEnum("weaponType", WeaponType.class, WeaponType.NONE);
+ _armorType = set.getEnum("armorType", ArmorType.class, ArmorType.NONE);
+ _handType = set.getEnum("handType", AppearanceHandType.class, AppearanceHandType.NONE);
+ _magicType = set.getEnum("magicType", AppearanceMagicType.class, AppearanceMagicType.NONE);
+ _targetType = set.getEnum("targetType", AppearanceTargetType.class, AppearanceTargetType.NONE);
+ _bodyPart = ItemTable.SLOTS.get(set.getString("bodyPart", "none"));
+ }
+
+ public WeaponType getWeaponType()
+ {
+ return _weaponType;
+ }
+
+ public ArmorType getArmorType()
+ {
+ return _armorType;
+ }
+
+ public AppearanceHandType getHandType()
+ {
+ return _handType;
+ }
+
+ public AppearanceMagicType getMagicType()
+ {
+ return _magicType;
+ }
+
+ public AppearanceTargetType getTargetType()
+ {
+ return _targetType;
+ }
+
+ public int getBodyPart()
+ {
+ return _bodyPart;
+ }
+
+ public int getVisualId()
+ {
+ return _visualId;
+ }
+}
diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/items/appearance/AppearanceStone.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/items/appearance/AppearanceStone.java
index c4610960aa..0f9a69fec3 100644
--- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/items/appearance/AppearanceStone.java
+++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/items/appearance/AppearanceStone.java
@@ -24,10 +24,14 @@ import java.util.List;
import com.l2jmobius.gameserver.datatables.ItemTable;
import com.l2jmobius.gameserver.enums.Race;
import com.l2jmobius.gameserver.model.StatsSet;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.holders.AppearanceHolder;
import com.l2jmobius.gameserver.model.items.L2Item;
+import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.model.items.type.ArmorType;
import com.l2jmobius.gameserver.model.items.type.CrystalType;
import com.l2jmobius.gameserver.model.items.type.WeaponType;
+import com.l2jmobius.gameserver.network.SystemMessageId;
/**
* @author UnAfraid
@@ -48,6 +52,7 @@ public class AppearanceStone
private List _bodyParts;
private List _races;
private List _racesNot;
+ private List _allVisualIds;
public AppearanceStone(StatsSet set)
{
@@ -61,15 +66,35 @@ public class AppearanceStone
_handType = set.getEnum("handType", AppearanceHandType.class, AppearanceHandType.NONE);
_magicType = set.getEnum("magicType", AppearanceMagicType.class, AppearanceMagicType.NONE);
- // No grade items cannot change appearance, because client doesn't have No-Grade restoration stones.
- final CrystalType crystalType = set.getEnum("crystalType", CrystalType.class, CrystalType.NONE);
- if (crystalType == CrystalType.NONE)
+ final AppearanceTargetType targetType = set.getEnum("targetType", AppearanceTargetType.class, AppearanceTargetType.NONE);
+ if (targetType != AppearanceTargetType.NONE)
{
- for (CrystalType cryType : CrystalType.values())
+ addTargetType(targetType);
+ }
+
+ // No grade items cannot change appearance, because client doesn't have No-Grade restoration stones.
+ final CrystalType crystalType = set.getEnum("grade", CrystalType.class, null);
+
+ // If no crystal type is defined, we must add all defaults.
+ if (crystalType == null)
+ {
+ switch (targetType)
{
- if ((cryType != CrystalType.NONE) && (cryType != CrystalType.EVENT))
+ case ACCESSORY:
+ case ALL:
{
- addCrystalType(cryType);
+ addCrystalType(CrystalType.NONE);
+ }
+ case WEAPON:
+ case ARMOR:
+ {
+ for (CrystalType cryType : CrystalType.values())
+ {
+ if ((cryType != CrystalType.NONE) && (cryType != CrystalType.EVENT))
+ {
+ addCrystalType(cryType);
+ }
+ }
}
}
}
@@ -78,12 +103,6 @@ public class AppearanceStone
addCrystalType(crystalType);
}
- final AppearanceTargetType targetType = set.getEnum("targetType", AppearanceTargetType.class, AppearanceTargetType.NONE);
- if (targetType != AppearanceTargetType.NONE)
- {
- addTargetType(targetType);
- }
-
final int bodyPart = ItemTable.SLOTS.get(set.getString("bodyPart", "none"));
if (bodyPart != L2Item.SLOT_NONE)
{
@@ -185,6 +204,20 @@ public class AppearanceStone
_bodyParts.add(part);
}
+ public void addVisualId(AppearanceHolder appearanceHolder)
+ {
+ if (_allVisualIds == null)
+ {
+ _allVisualIds = new ArrayList<>();
+ }
+ _allVisualIds.add(appearanceHolder);
+ }
+
+ public List getVisualIds()
+ {
+ return _allVisualIds != null ? _allVisualIds : Collections.emptyList();
+ }
+
public List getBodyParts()
{
return _bodyParts != null ? _bodyParts : Collections.emptyList();
@@ -217,4 +250,297 @@ public class AppearanceStone
{
return _racesNot != null ? _racesNot : Collections.emptyList();
}
+
+ /**
+ * @param player the actor requesting to use this appearance.
+ * @param targetItem the item to be modified with this appearance.
+ * @return {@code true} if the item is valid for appearance change, {@code false} otherwise.
+ */
+ public boolean checkConditions(L2PcInstance player, L2ItemInstance targetItem)
+ {
+ if (targetItem == null)
+ {
+ return false;
+ }
+
+ if (getTargetTypes().isEmpty())
+ {
+ return false;
+ }
+
+ if (targetItem.isEquipped() && (getRacesNot().contains(player.getRace()) || (!getRaces().isEmpty() && !getRaces().contains(player.getRace()))))
+ {
+ player.sendPacket(SystemMessageId.YOU_CANNOT_MODIFY_AN_EQUIPPED_ITEM_INTO_THE_APPEARANCE_OF_AN_UNEQUIPPABLE_ITEM_PLEASE_CHECK_RACE_GENDER_RESTRICTIONS_YOU_CAN_MODIFY_THE_APPEARANCE_IF_YOU_UNEQUIP_THE_ITEM);
+ return false;
+ }
+
+ switch (getType())
+ {
+ case RESTORE:
+ {
+ if (targetItem.getVisualId() == 0)
+ {
+ player.sendPacket(SystemMessageId.YOU_CANNOT_RESTORE_ITEMS_THAT_HAVE_NOT_BEEN_MODIFIED);
+ return false;
+ }
+
+ if ((targetItem.isWeapon() && !getTargetTypes().contains(AppearanceTargetType.WEAPON)) || (targetItem.isArmor() && !getTargetTypes().contains(AppearanceTargetType.ARMOR)) || (targetItem.isEtcItem() && !getTargetTypes().contains(AppearanceTargetType.ACCESSORY)))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+
+ if (((targetItem.getItem().getBodyPart() == L2Item.SLOT_HAIR) || (targetItem.getItem().getBodyPart() == L2Item.SLOT_HAIR2) || (targetItem.getItem().getBodyPart() == L2Item.SLOT_HAIRALL)) && !getTargetTypes().contains(AppearanceTargetType.ACCESSORY))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+
+ break;
+ }
+ default:
+ {
+ // Seems like in retail item with already changed appearance, can be changed again without being restored.
+
+ final AppearanceTargetType targetType = getTargetTypes().get(0);
+ switch (targetType)
+ {
+ case NONE:
+ {
+ return false;
+ }
+ case WEAPON:
+ {
+ if (!targetItem.isWeapon())
+ {
+ player.sendPacket(SystemMessageId.WEAPONS_ONLY);
+ return false;
+ }
+
+ if (targetItem.getItem().getCrystalType() == CrystalType.NONE)
+ {
+ player.sendPacket(SystemMessageId.YOU_CANNOT_MODIFY_OR_RESTORE_NO_GRADE_ITEMS);
+ return false;
+ }
+
+ break;
+ }
+ case ARMOR:
+ {
+ if (!targetItem.isArmor())
+ {
+ player.sendPacket(SystemMessageId.ARMOR_ONLY);
+ return false;
+ }
+
+ if (targetItem.getItem().getCrystalType() == CrystalType.NONE)
+ {
+ player.sendPacket(SystemMessageId.YOU_CANNOT_MODIFY_OR_RESTORE_NO_GRADE_ITEMS);
+ return false;
+ }
+
+ break;
+ }
+ case ACCESSORY:
+ {
+ if ((targetItem.getItem().getBodyPart() != L2Item.SLOT_HAIR) && (targetItem.getItem().getBodyPart() != L2Item.SLOT_HAIR2) && (targetItem.getItem().getBodyPart() != L2Item.SLOT_HAIRALL))
+ {
+ player.sendPacket(SystemMessageId.HAIR_ACCESSORIES_ONLY);
+ return false;
+ }
+ break;
+ }
+ case ALL:
+ {
+ if (!getCrystalTypes().isEmpty() && !getCrystalTypes().contains(targetItem.getItem().getCrystalType()))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+
+ if (findVisualChange(targetItem) == null)
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ return true;
+ }
+ }
+
+ break;
+ }
+ }
+
+ if (!getCrystalTypes().isEmpty() && !getCrystalTypes().contains(targetItem.getItem().getCrystalType()))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+
+ if (targetItem.isArmor() && !getBodyParts().isEmpty() && !getBodyParts().contains(targetItem.getItem().getBodyPart()))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+
+ if (getWeaponType() != WeaponType.NONE)
+ {
+ if (!targetItem.isWeapon() || (targetItem.getItemType() != getWeaponType()))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_CANNOT_BE_USED_AS_AN_APPEARANCE_WEAPON);
+ return false;
+ }
+
+ switch (getHandType())
+ {
+ case ONE_HANDED:
+ {
+ if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_R_HAND) != L2Item.SLOT_R_HAND)
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ break;
+ }
+ case TWO_HANDED:
+ {
+ if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_LR_HAND) != L2Item.SLOT_LR_HAND)
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ break;
+ }
+ }
+
+ switch (getMagicType())
+ {
+ case MAGICAL:
+ {
+ if (!targetItem.getItem().isMagicWeapon())
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ break;
+ }
+ case PHYISICAL:
+ {
+ if (targetItem.getItem().isMagicWeapon())
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ }
+ }
+ }
+
+ if (getArmorType() != ArmorType.NONE)
+ {
+ switch (getArmorType())
+ {
+ case SHIELD:
+ {
+ if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SHIELD))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ break;
+ }
+ case SIGIL:
+ {
+ if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SIGIL))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ }
+ }
+ }
+
+ return true;
+ }
+
+ public AppearanceHolder findVisualChange(L2ItemInstance targetItem)
+ {
+ for (AppearanceHolder holder : _allVisualIds)
+ {
+ if (targetItem.isArmor() && (holder.getBodyPart() != 0) && (targetItem.getItem().getBodyPart() != holder.getBodyPart()))
+ {
+ continue;
+ }
+
+ if (holder.getWeaponType() != WeaponType.NONE)
+ {
+ if (!targetItem.isWeapon() || (targetItem.getItemType() != holder.getWeaponType()))
+ {
+ continue;
+ }
+
+ switch (holder.getHandType())
+ {
+ case ONE_HANDED:
+ {
+ if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_R_HAND) != L2Item.SLOT_R_HAND)
+ {
+ continue;
+ }
+ break;
+ }
+ case TWO_HANDED:
+ {
+ if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_LR_HAND) != L2Item.SLOT_LR_HAND)
+ {
+ continue;
+ }
+ break;
+ }
+ }
+
+ switch (holder.getMagicType())
+ {
+ case MAGICAL:
+ {
+ if (!targetItem.getItem().isMagicWeapon())
+ {
+ continue;
+ }
+ break;
+ }
+ case PHYISICAL:
+ {
+ if (targetItem.getItem().isMagicWeapon())
+ {
+ continue;
+ }
+ }
+ }
+ }
+
+ if (holder.getArmorType() != ArmorType.NONE)
+ {
+ switch (holder.getArmorType())
+ {
+ case SHIELD:
+ {
+ if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SHIELD))
+ {
+ continue;
+ }
+ break;
+ }
+ case SIGIL:
+ {
+ if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SIGIL))
+ {
+ continue;
+ }
+ }
+ }
+ }
+ return holder;
+ }
+ return null;
+ }
}
diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingEnchantSupportItem.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingEnchantSupportItem.java
index 57062be3e6..b3f8a823c8 100644
--- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingEnchantSupportItem.java
+++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingEnchantSupportItem.java
@@ -26,13 +26,11 @@ import com.l2jmobius.gameserver.model.items.L2Item;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceType;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
-import com.l2jmobius.gameserver.model.items.type.ArmorType;
-import com.l2jmobius.gameserver.model.items.type.WeaponType;
import com.l2jmobius.gameserver.network.L2GameClient;
import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
import com.l2jmobius.gameserver.network.serverpackets.appearance.ExPutShapeShiftingExtractionItemResult;
-import com.l2jmobius.gameserver.network.serverpackets.appearance.ExShapeShiftingResult;
+import com.l2jmobius.gameserver.network.serverpackets.appearance.ExPutShapeShiftingTargetItemResult;
/**
* @author UnAfraid
@@ -63,175 +61,100 @@ public class RequestExTryToPutShapeShiftingEnchantSupportItem implements IClient
if (player.isInStoreMode() || player.isInCraftMode() || player.isProcessingRequest() || player.isProcessingTransaction() || (request == null))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
client.sendPacket(SystemMessageId.YOU_CANNOT_USE_THIS_SYSTEM_DURING_TRADING_PRIVATE_STORE_AND_WORKSHOP_SETUP);
return;
}
final PcInventory inventory = player.getInventory();
final L2ItemInstance targetItem = inventory.getItemByObjectId(_targetItemObjId);
- final L2ItemInstance extracItem = inventory.getItemByObjectId(_extracItemObjId);
+ final L2ItemInstance extractItem = inventory.getItemByObjectId(_extracItemObjId);
L2ItemInstance stone = request.getAppearanceStone();
- if ((targetItem == null) || (extracItem == null) || (stone == null))
+ if ((targetItem == null) || (extractItem == null) || (stone == null))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (!extracItem.getItem().isAppearanceable())
+ if ((stone.getOwnerId() != player.getObjectId()) || (targetItem.getOwnerId() != player.getObjectId()) || (extractItem.getOwnerId() != player.getObjectId()))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if ((extracItem.getItemLocation() != ItemLocation.INVENTORY) && (extracItem.getItemLocation() != ItemLocation.PAPERDOLL))
+ if (!extractItem.getItem().isAppearanceable())
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ client.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
+ return;
+ }
+
+ if ((extractItem.getItemLocation() != ItemLocation.INVENTORY) && (extractItem.getItemLocation() != ItemLocation.PAPERDOLL))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- stone = inventory.getItemByObjectId(stone.getObjectId());
- if (stone == null)
+ if ((stone = inventory.getItemByObjectId(stone.getObjectId())) == null)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
final AppearanceStone appearanceStone = AppearanceItemData.getInstance().getStone(stone.getId());
if (appearanceStone == null)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
if ((appearanceStone.getType() == AppearanceType.RESTORE) || (appearanceStone.getType() == AppearanceType.FIXED))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (extracItem.getVisualId() > 0)
+ if (extractItem.getVisualId() > 0)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
client.sendPacket(SystemMessageId.YOU_CANNOT_EXTRACT_FROM_A_MODIFIED_ITEM);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (appearanceStone.getWeaponType() != WeaponType.NONE)
+ if ((extractItem.getItemLocation() != ItemLocation.INVENTORY) && (extractItem.getItemLocation() != ItemLocation.PAPERDOLL))
{
- if (!targetItem.isWeapon() || (targetItem.getItemType() != appearanceStone.getWeaponType()))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
-
- if (appearanceStone.getWeaponType() != WeaponType.NONE)
- {
- if (!targetItem.isWeapon() || (targetItem.getItemType() != appearanceStone.getWeaponType()))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
-
- switch (appearanceStone.getHandType())
- {
- case ONE_HANDED:
- {
- if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_R_HAND) != L2Item.SLOT_R_HAND)
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- case TWO_HANDED:
- {
- if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_LR_HAND) != L2Item.SLOT_LR_HAND)
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- }
-
- switch (appearanceStone.getMagicType())
- {
- case MAGICAL:
- {
- if (!targetItem.getItem().isMagicWeapon())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- case PHYISICAL:
- {
- if (targetItem.getItem().isMagicWeapon())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
- }
- }
-
- if (appearanceStone.getArmorType() != ArmorType.NONE)
- {
- switch (appearanceStone.getArmorType())
- {
- case SHIELD:
- {
- if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SHIELD))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- case SIGIL:
- {
- if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SIGIL))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
- }
- }
-
- if (extracItem.getOwnerId() != player.getObjectId())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- request.setAppearanceExtractItem(extracItem);
+ if ((extractItem.getItemType() != targetItem.getItemType()) || (extractItem.getId() == targetItem.getId()) || (extractItem.getObjectId() == targetItem.getObjectId()))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ client.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
+ return;
+ }
+
+ if ((extractItem.getItem().getBodyPart() != targetItem.getItem().getBodyPart()) && ((extractItem.getItem().getBodyPart() != L2Item.SLOT_FULL_ARMOR) || (targetItem.getItem().getBodyPart() != L2Item.SLOT_CHEST)))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ client.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
+ return;
+ }
+
+ if (extractItem.getItem().getCrystalType().isGreater(targetItem.getItem().getCrystalType()))
+ {
+ client.sendPacket(SystemMessageId.YOU_CANNOT_EXTRACT_FROM_ITEMS_THAT_ARE_HIGHER_GRADE_THAN_ITEMS_TO_BE_MODIFIED);
+ player.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
+ return;
+ }
+
+ if (!appearanceStone.checkConditions(player, targetItem))
+ {
+ player.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
+ return;
+ }
+
+ request.setAppearanceExtractItem(extractItem);
client.sendPacket(ExPutShapeShiftingExtractionItemResult.SUCCESS);
}
}
diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingTargetItem.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingTargetItem.java
index a504a61d23..4fe4ef7d8c 100644
--- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingTargetItem.java
+++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingTargetItem.java
@@ -22,13 +22,8 @@ import com.l2jmobius.gameserver.enums.ItemLocation;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.request.ShapeShiftingItemRequest;
import com.l2jmobius.gameserver.model.itemcontainer.PcInventory;
-import com.l2jmobius.gameserver.model.items.L2Item;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
-import com.l2jmobius.gameserver.model.items.appearance.AppearanceTargetType;
-import com.l2jmobius.gameserver.model.items.appearance.AppearanceType;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
-import com.l2jmobius.gameserver.model.items.type.ArmorType;
-import com.l2jmobius.gameserver.model.items.type.WeaponType;
import com.l2jmobius.gameserver.network.L2GameClient;
import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
@@ -77,13 +72,20 @@ public class RequestExTryToPutShapeShiftingTargetItem implements IClientIncoming
return;
}
- if (!targetItem.getItem().isAppearanceable())
+ if ((stone.getOwnerId() != player.getObjectId()) || (targetItem.getOwnerId() != player.getObjectId()))
{
client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
+ if (!targetItem.getItem().isAppearanceable())
+ {
+ client.sendPacket(SystemMessageId.THIS_ITEM_CANNOT_BE_MODIFIED_OR_RESTORED);
+ client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
+ return;
+ }
+
if ((targetItem.getItemLocation() != ItemLocation.INVENTORY) && (targetItem.getItemLocation() != ItemLocation.PAPERDOLL))
{
client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
@@ -91,8 +93,7 @@ public class RequestExTryToPutShapeShiftingTargetItem implements IClientIncoming
return;
}
- stone = inventory.getItemByObjectId(stone.getObjectId());
- if (stone == null)
+ if ((stone = inventory.getItemByObjectId(stone.getObjectId())) == null)
{
client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
@@ -107,158 +108,9 @@ public class RequestExTryToPutShapeShiftingTargetItem implements IClientIncoming
return;
}
- if (((appearanceStone.getType() != AppearanceType.RESTORE) && (targetItem.getVisualId() > 0)) || ((appearanceStone.getType() == AppearanceType.RESTORE) && (targetItem.getVisualId() == 0)))
+ if (!appearanceStone.checkConditions(player, targetItem))
{
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
-
- // TODO: Handle hair accessory!
- // if (!targetItem.isEtcItem() && (targetItem.getItem().getCrystalType() == CrystalType.NONE))
- {
- // client.sendPacket(SystemMessageId.YOU_CANNOT_MODIFY_OR_RESTORE_NOGRADE_ITEMS);
- // return;
- }
-
- if (!appearanceStone.getTargetTypes().contains(AppearanceTargetType.ACCESSORY)) // accessory tempfix
- {
- if (!appearanceStone.getCrystalTypes().isEmpty() && !appearanceStone.getCrystalTypes().contains(targetItem.getItem().getCrystalType()))
- {
- client.sendPacket(SystemMessageId.ITEM_GRADES_DO_NOT_MATCH);
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
-
- if (appearanceStone.getTargetTypes().isEmpty())
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
-
- if (!appearanceStone.getTargetTypes().contains(AppearanceTargetType.ALL))
- {
- if (targetItem.isWeapon() && !appearanceStone.getTargetTypes().contains(AppearanceTargetType.WEAPON))
- {
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
-
- }
- else if (targetItem.isArmor() && !appearanceStone.getTargetTypes().contains(AppearanceTargetType.ARMOR) && !appearanceStone.getTargetTypes().contains(AppearanceTargetType.ACCESSORY))
- {
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- else if (targetItem.isArmor() && !appearanceStone.getBodyParts().isEmpty() && !appearanceStone.getBodyParts().contains(targetItem.getItem().getBodyPart()))
- {
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
-
- if (appearanceStone.getWeaponType() != WeaponType.NONE)
- {
- if (!targetItem.isWeapon() || (targetItem.getItemType() != appearanceStone.getWeaponType()))
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
-
- switch (appearanceStone.getHandType())
- {
- case ONE_HANDED:
- {
- if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_R_HAND) != L2Item.SLOT_R_HAND)
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
- break;
- }
- case TWO_HANDED:
- {
- if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_LR_HAND) != L2Item.SLOT_LR_HAND)
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
- break;
- }
- }
-
- switch (appearanceStone.getMagicType())
- {
- case MAGICAL:
- {
- if (!targetItem.getItem().isMagicWeapon())
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
- break;
- }
- case PHYISICAL:
- {
- if (targetItem.getItem().isMagicWeapon())
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
- }
- }
- }
-
- if (appearanceStone.getArmorType() != ArmorType.NONE)
- {
- switch (appearanceStone.getArmorType())
- {
- case SHIELD:
- {
- if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SHIELD))
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
- break;
- }
- case SIGIL:
- {
- if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SIGIL))
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
- }
- }
- }
-
- if (targetItem.getOwnerId() != player.getObjectId())
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
+ player.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
return;
}
diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestShapeShiftingItem.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestShapeShiftingItem.java
index e39eb6b752..97d035b0f3 100644
--- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestShapeShiftingItem.java
+++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestShapeShiftingItem.java
@@ -22,14 +22,12 @@ import com.l2jmobius.gameserver.enums.InventorySlot;
import com.l2jmobius.gameserver.enums.ItemLocation;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.request.ShapeShiftingItemRequest;
+import com.l2jmobius.gameserver.model.holders.AppearanceHolder;
import com.l2jmobius.gameserver.model.itemcontainer.PcInventory;
import com.l2jmobius.gameserver.model.items.L2Item;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
-import com.l2jmobius.gameserver.model.items.appearance.AppearanceTargetType;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceType;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
-import com.l2jmobius.gameserver.model.items.type.ArmorType;
-import com.l2jmobius.gameserver.model.items.type.WeaponType;
import com.l2jmobius.gameserver.model.variables.ItemVariables;
import com.l2jmobius.gameserver.network.L2GameClient;
import com.l2jmobius.gameserver.network.SystemMessageId;
@@ -37,8 +35,6 @@ import com.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
import com.l2jmobius.gameserver.network.serverpackets.ExAdenaInvenCount;
import com.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
import com.l2jmobius.gameserver.network.serverpackets.InventoryUpdate;
-import com.l2jmobius.gameserver.network.serverpackets.SystemMessage;
-import com.l2jmobius.gameserver.network.serverpackets.appearance.ExPutShapeShiftingTargetItemResult;
import com.l2jmobius.gameserver.network.serverpackets.appearance.ExShapeShiftingResult;
/**
@@ -68,7 +64,7 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
if (player.isInStoreMode() || player.isInCraftMode() || player.isProcessingRequest() || player.isProcessingTransaction() || (request == null))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
client.sendPacket(SystemMessageId.YOU_CANNOT_USE_THIS_SYSTEM_DURING_TRADING_PRIVATE_STORE_AND_WORKSHOP_SETUP);
return;
}
@@ -79,36 +75,36 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
if ((targetItem == null) || (stone == null))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (stone.getOwnerId() != player.getObjectId())
+ if ((stone.getOwnerId() != player.getObjectId()) || (targetItem.getOwnerId() != player.getObjectId()))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
if (!targetItem.getItem().isAppearanceable())
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(SystemMessageId.THIS_ITEM_CANNOT_BE_MODIFIED_OR_RESTORED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
if ((targetItem.getItemLocation() != ItemLocation.INVENTORY) && (targetItem.getItemLocation() != ItemLocation.PAPERDOLL))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- stone = inventory.getItemByObjectId(stone.getObjectId());
- if (stone == null)
+ if ((stone = inventory.getItemByObjectId(stone.getObjectId())) == null)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
@@ -116,223 +112,100 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
final AppearanceStone appearanceStone = AppearanceItemData.getInstance().getStone(stone.getId());
if (appearanceStone == null)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (((appearanceStone.getType() != AppearanceType.RESTORE) && (targetItem.getVisualId() > 0)) || ((appearanceStone.getType() == AppearanceType.RESTORE) && (targetItem.getVisualId() == 0)))
+ if (!appearanceStone.checkConditions(player, targetItem))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- // TODO: Handle hair accessory!
- // if (!targetItem.isEtcItem() && (targetItem.getItem().getCrystalType() == CrystalType.NONE))
- {
- // client.sendPacket(ExShapeShiftingResult.FAILED);
- // player.removeRequest(ShapeShiftingItemRequest.class.getName());
- // return;
- }
-
- if (!appearanceStone.getTargetTypes().contains(AppearanceTargetType.ACCESSORY)) // accessory tempfix
- {
- if (!appearanceStone.getCrystalTypes().isEmpty() && !appearanceStone.getCrystalTypes().contains(targetItem.getItem().getCrystalType()))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
-
- if (appearanceStone.getTargetTypes().isEmpty())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
-
- if (!appearanceStone.getTargetTypes().contains(AppearanceTargetType.ALL))
- {
- if (targetItem.isWeapon() && !appearanceStone.getTargetTypes().contains(AppearanceTargetType.WEAPON))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
-
- }
- else if (targetItem.isArmor() && !appearanceStone.getTargetTypes().contains(AppearanceTargetType.ARMOR) && !appearanceStone.getTargetTypes().contains(AppearanceTargetType.ACCESSORY))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- else if (targetItem.isArmor() && !appearanceStone.getBodyParts().isEmpty() && !appearanceStone.getBodyParts().contains(targetItem.getItem().getBodyPart()))
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
-
- if (appearanceStone.getWeaponType() != WeaponType.NONE)
- {
- if (!targetItem.isWeapon() || (targetItem.getItemType() != appearanceStone.getWeaponType()))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
-
- switch (appearanceStone.getHandType())
- {
- case ONE_HANDED:
- {
- if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_R_HAND) != L2Item.SLOT_R_HAND)
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- case TWO_HANDED:
- {
- if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_LR_HAND) != L2Item.SLOT_LR_HAND)
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- }
-
- switch (appearanceStone.getMagicType())
- {
- case MAGICAL:
- {
- if (!targetItem.getItem().isMagicWeapon())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- case PHYISICAL:
- {
- if (targetItem.getItem().isMagicWeapon())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
- }
- }
-
- if (appearanceStone.getArmorType() != ArmorType.NONE)
- {
- switch (appearanceStone.getArmorType())
- {
- case SHIELD:
- {
- if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SHIELD))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- case SIGIL:
- {
- if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SIGIL))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
- }
- }
-
- final L2ItemInstance extracItem = request.getAppearanceExtractItem();
+ final L2ItemInstance extractItem = request.getAppearanceExtractItem();
int extracItemId = 0;
if ((appearanceStone.getType() != AppearanceType.RESTORE) && (appearanceStone.getType() != AppearanceType.FIXED))
{
- if (extracItem == null)
+ if (extractItem == null)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (!targetItem.getItem().isAppearanceable())
+ if (extractItem.getOwnerId() != player.getObjectId())
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if ((extracItem.getItemLocation() != ItemLocation.INVENTORY) && (extracItem.getItemLocation() != ItemLocation.PAPERDOLL))
+ if (!extractItem.getItem().isAppearanceable())
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (!extracItem.isEtcItem() && (targetItem.getItem().getCrystalType().ordinal() <= extracItem.getItem().getCrystalType().ordinal()))
+ if ((extractItem.getItemLocation() != ItemLocation.INVENTORY) && (extractItem.getItemLocation() != ItemLocation.PAPERDOLL))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (extracItem.getVisualId() > 0)
+ if (extractItem.getItem().getCrystalType().isGreater(targetItem.getItem().getCrystalType()))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (extracItem.getOwnerId() != player.getObjectId())
+ if (extractItem.getVisualId() > 0)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- extracItemId = extracItem.getId();
+
+ if ((extractItem.getItemType() != targetItem.getItemType()) || (extractItem.getId() == targetItem.getId()) || (extractItem.getObjectId() == targetItem.getObjectId()))
+ {
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
+ player.removeRequest(ShapeShiftingItemRequest.class);
+ return;
+ }
+
+ if ((extractItem.getItem().getBodyPart() != targetItem.getItem().getBodyPart()) && ((extractItem.getItem().getBodyPart() != L2Item.SLOT_FULL_ARMOR) || (targetItem.getItem().getBodyPart() != L2Item.SLOT_CHEST)))
+ {
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
+ player.removeRequest(ShapeShiftingItemRequest.class);
+ return;
+ }
+
+ extracItemId = extractItem.getId();
}
- if (targetItem.getOwnerId() != player.getObjectId())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
-
- final long cost = appearanceStone.getCost();
+ long cost = appearanceStone.getCost();
if (cost > player.getAdena())
{
client.sendPacket(SystemMessageId.YOU_CANNOT_MODIFY_AS_YOU_DO_NOT_HAVE_ENOUGH_ADENA);
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
if (stone.getCount() < 1L)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
if (appearanceStone.getType() == AppearanceType.NORMAL)
{
- if (inventory.destroyItem(getClass().getSimpleName(), extracItem, 1, player, this) == null)
+ if (inventory.destroyItem(getClass().getSimpleName(), extractItem, 1, player, this) == null)
{
client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
@@ -341,7 +214,7 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
}
inventory.destroyItem(getClass().getSimpleName(), stone, 1, player, this);
- player.reduceAdena(getClass().getSimpleName(), cost, extracItem, true);
+ player.reduceAdena(getClass().getSimpleName(), cost, extractItem, false);
switch (appearanceStone.getType())
{
@@ -353,18 +226,32 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
}
case NORMAL:
{
- targetItem.setVisualId(extracItem.getId());
+ targetItem.setVisualId(extractItem.getId());
break;
}
case BLESSED:
{
- targetItem.setVisualId(extracItem.getId());
+ targetItem.setVisualId(extractItem.getId());
break;
}
case FIXED:
{
- targetItem.setVisualId(appearanceStone.getVisualId());
- targetItem.getVariables().set(ItemVariables.VISUAL_APPEARANCE_STONE_ID, appearanceStone.getId());
+ if (appearanceStone.getVisualIds().isEmpty())
+ {
+ extracItemId = appearanceStone.getVisualId();
+ targetItem.setVisualId(appearanceStone.getVisualId());
+ targetItem.getVariables().set(ItemVariables.VISUAL_APPEARANCE_STONE_ID, appearanceStone.getId());
+ }
+ else
+ {
+ final AppearanceHolder holder = appearanceStone.findVisualChange(targetItem);
+ if (holder != null)
+ {
+ extracItemId = holder.getVisualId();
+ targetItem.setVisualId(holder.getVisualId());
+ targetItem.getVariables().set(ItemVariables.VISUAL_APPEARANCE_STONE_ID, appearanceStone.getId());
+ }
+ }
break;
}
}
@@ -376,17 +263,13 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
}
targetItem.getVariables().storeMe();
- if (appearanceStone.getCost() > 0)
- {
- client.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_SPENT_S1_ON_A_SUCCESSFUL_APPEARANCE_MODIFICATION).addLong(cost));
- }
- else
- {
- client.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.S1_S_APPEARANCE_MODIFICATION_HAS_FINISHED).addItemName(targetItem.getDisplayId()));
- }
final InventoryUpdate iu = new InventoryUpdate();
iu.addModifiedItem(targetItem);
+ if (extractItem != null)
+ {
+ iu.addModifiedItem(extractItem);
+ }
if (inventory.getItemByObjectId(stone.getObjectId()) == null)
{
iu.addRemovedItem(stone);
diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/serverpackets/appearance/ExShapeShiftingResult.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/serverpackets/appearance/ExShapeShiftingResult.java
index 66c2d83f24..ab35ba8f6a 100644
--- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/serverpackets/appearance/ExShapeShiftingResult.java
+++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/serverpackets/appearance/ExShapeShiftingResult.java
@@ -27,8 +27,10 @@ public class ExShapeShiftingResult implements IClientOutgoingPacket
{
public static int RESULT_FAILED = 0x00;
public static int RESULT_SUCCESS = 0x01;
+ public static int RESULT_CLOSE = 0x02;
public static ExShapeShiftingResult FAILED = new ExShapeShiftingResult(RESULT_FAILED, 0, 0);
+ public static ExShapeShiftingResult CLOSE = new ExShapeShiftingResult(RESULT_CLOSE, 0, 0);
private final int _result;
private final int _targetItemId;
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/items/26500-26599.xml b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/items/26500-26599.xml
index d394410003..2586162602 100644
--- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/items/26500-26599.xml
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/items/26500-26599.xml
@@ -228,7 +228,7 @@
- -
+
-
@@ -237,7 +237,7 @@
- -
+
-
@@ -246,7 +246,7 @@
- -
+
-
@@ -255,7 +255,7 @@
- -
+
-
@@ -264,14 +264,14 @@
- -
+
-
- -
+
-
@@ -282,7 +282,7 @@
- -
+
-
@@ -293,7 +293,7 @@
- -
+
-
@@ -303,7 +303,7 @@
- -
+
-
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/items/27400-27499.xml b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/items/27400-27499.xml
index 221a3b944c..e5c3e83fae 100644
--- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/items/27400-27499.xml
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/items/27400-27499.xml
@@ -812,7 +812,7 @@
- -
+
-
@@ -826,7 +826,7 @@
- -
+
-
@@ -840,7 +840,7 @@
- -
+
-
@@ -854,7 +854,7 @@
- -
+
-
@@ -868,7 +868,7 @@
- -
+
-
@@ -882,7 +882,7 @@
- -
+
-
@@ -896,7 +896,7 @@
- -
+
-
@@ -910,7 +910,7 @@
- -
+
-
@@ -924,7 +924,7 @@
- -
+
-
@@ -938,7 +938,7 @@
- -
+
-
@@ -952,7 +952,7 @@
- -
+
-
@@ -966,7 +966,7 @@
- -
+
-
@@ -980,7 +980,7 @@
- -
+
-
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/items/46500-46599.xml b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/items/46500-46599.xml
index b35568e3ba..d7bf2f9849 100644
--- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/items/46500-46599.xml
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/items/46500-46599.xml
@@ -672,7 +672,7 @@
- -
+
-
@@ -742,7 +742,7 @@
- -
+
-
@@ -771,7 +771,7 @@
- -
+
-
@@ -782,7 +782,7 @@
- -
+
-
@@ -793,7 +793,7 @@
- -
+
-
@@ -804,7 +804,7 @@
- -
+
-
@@ -826,7 +826,7 @@
- -
+
-
@@ -837,7 +837,7 @@
- -
+
-
@@ -848,7 +848,7 @@
- -
+
-
@@ -859,7 +859,7 @@
- -
+
-
@@ -881,7 +881,7 @@
- -
+
-
@@ -892,7 +892,7 @@
- -
+
-
@@ -903,7 +903,7 @@
- -
+
-
@@ -914,7 +914,7 @@
- -
+
-
@@ -925,7 +925,7 @@
- -
+
-
@@ -992,7 +992,7 @@
- -
+
-
@@ -1002,7 +1002,7 @@
400.0
- -
+
-
@@ -1012,7 +1012,7 @@
400.0
- -
+
-
@@ -1022,7 +1022,7 @@
400.0
- -
+
-
@@ -1032,7 +1032,7 @@
400.0
- -
+
-
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/xsd/AppearanceStones.xsd b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/xsd/AppearanceStones.xsd
index d1543c273f..86f49f9a0e 100644
--- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/xsd/AppearanceStones.xsd
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/xsd/AppearanceStones.xsd
@@ -95,6 +95,105 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -181,6 +280,9 @@
+
+
+
diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java
index b02157ee4d..dd15efb7ce 100644
--- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java
+++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java
@@ -22,13 +22,13 @@ import java.util.Map;
import java.util.logging.Logger;
import org.w3c.dom.Document;
-import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import com.l2jmobius.commons.util.IGameXmlReader;
import com.l2jmobius.gameserver.datatables.ItemTable;
import com.l2jmobius.gameserver.enums.Race;
import com.l2jmobius.gameserver.model.StatsSet;
+import com.l2jmobius.gameserver.model.holders.AppearanceHolder;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceTargetType;
import com.l2jmobius.gameserver.model.items.type.CrystalType;
@@ -75,9 +75,6 @@ public class AppearanceItemData implements IGameXmlReader
@Override
public void parseDocument(Document doc, File f)
{
- StatsSet set;
- Node att;
- NamedNodeMap attrs;
for (Node n = doc.getFirstChild(); n != null; n = n.getNextSibling())
{
if ("list".equalsIgnoreCase(n.getNodeName()))
@@ -86,15 +83,7 @@ public class AppearanceItemData implements IGameXmlReader
{
if ("appearance_stone".equalsIgnoreCase(d.getNodeName()))
{
- attrs = d.getAttributes();
- set = new StatsSet();
- for (int i = 0; i < attrs.getLength(); i++)
- {
- att = attrs.item(i);
- set.set(att.getNodeName(), att.getNodeValue());
- }
-
- final AppearanceStone stone = new AppearanceStone(set);
+ final AppearanceStone stone = new AppearanceStone(new StatsSet(parseAttributes(d)));
for (Node c = d.getFirstChild(); c != null; c = c.getNextSibling())
{
switch (c.getNodeName())
@@ -129,6 +118,10 @@ public class AppearanceItemData implements IGameXmlReader
stone.addRaceNot(raceNot);
break;
}
+ case "visual":
+ {
+ stone.addVisualId(new AppearanceHolder(new StatsSet(parseAttributes(c))));
+ }
}
}
if (ItemTable.getInstance().getTemplate(stone.getId()) != null)
@@ -145,6 +138,11 @@ public class AppearanceItemData implements IGameXmlReader
}
}
+ public int getLoadedElementsCount()
+ {
+ return _stones.size();
+ }
+
public AppearanceStone getStone(int stone)
{
return _stones.get(stone);
diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/holders/AppearanceHolder.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/holders/AppearanceHolder.java
new file mode 100644
index 0000000000..cb609618fd
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/holders/AppearanceHolder.java
@@ -0,0 +1,85 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package com.l2jmobius.gameserver.model.holders;
+
+import com.l2jmobius.gameserver.datatables.ItemTable;
+import com.l2jmobius.gameserver.model.StatsSet;
+import com.l2jmobius.gameserver.model.items.appearance.AppearanceHandType;
+import com.l2jmobius.gameserver.model.items.appearance.AppearanceMagicType;
+import com.l2jmobius.gameserver.model.items.appearance.AppearanceTargetType;
+import com.l2jmobius.gameserver.model.items.type.ArmorType;
+import com.l2jmobius.gameserver.model.items.type.WeaponType;
+
+/**
+ * @author Sdw
+ */
+public class AppearanceHolder
+{
+ private final int _visualId;
+ private final WeaponType _weaponType;
+ private final ArmorType _armorType;
+ private final AppearanceHandType _handType;
+ private final AppearanceMagicType _magicType;
+ private final AppearanceTargetType _targetType;
+ private final Integer _bodyPart;
+
+ public AppearanceHolder(StatsSet set)
+ {
+ _visualId = set.getInt("id", 0);
+ _weaponType = set.getEnum("weaponType", WeaponType.class, WeaponType.NONE);
+ _armorType = set.getEnum("armorType", ArmorType.class, ArmorType.NONE);
+ _handType = set.getEnum("handType", AppearanceHandType.class, AppearanceHandType.NONE);
+ _magicType = set.getEnum("magicType", AppearanceMagicType.class, AppearanceMagicType.NONE);
+ _targetType = set.getEnum("targetType", AppearanceTargetType.class, AppearanceTargetType.NONE);
+ _bodyPart = ItemTable.SLOTS.get(set.getString("bodyPart", "none"));
+ }
+
+ public WeaponType getWeaponType()
+ {
+ return _weaponType;
+ }
+
+ public ArmorType getArmorType()
+ {
+ return _armorType;
+ }
+
+ public AppearanceHandType getHandType()
+ {
+ return _handType;
+ }
+
+ public AppearanceMagicType getMagicType()
+ {
+ return _magicType;
+ }
+
+ public AppearanceTargetType getTargetType()
+ {
+ return _targetType;
+ }
+
+ public int getBodyPart()
+ {
+ return _bodyPart;
+ }
+
+ public int getVisualId()
+ {
+ return _visualId;
+ }
+}
diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/items/appearance/AppearanceStone.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/items/appearance/AppearanceStone.java
index c4610960aa..0f9a69fec3 100644
--- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/items/appearance/AppearanceStone.java
+++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/items/appearance/AppearanceStone.java
@@ -24,10 +24,14 @@ import java.util.List;
import com.l2jmobius.gameserver.datatables.ItemTable;
import com.l2jmobius.gameserver.enums.Race;
import com.l2jmobius.gameserver.model.StatsSet;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.holders.AppearanceHolder;
import com.l2jmobius.gameserver.model.items.L2Item;
+import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.model.items.type.ArmorType;
import com.l2jmobius.gameserver.model.items.type.CrystalType;
import com.l2jmobius.gameserver.model.items.type.WeaponType;
+import com.l2jmobius.gameserver.network.SystemMessageId;
/**
* @author UnAfraid
@@ -48,6 +52,7 @@ public class AppearanceStone
private List _bodyParts;
private List _races;
private List _racesNot;
+ private List _allVisualIds;
public AppearanceStone(StatsSet set)
{
@@ -61,15 +66,35 @@ public class AppearanceStone
_handType = set.getEnum("handType", AppearanceHandType.class, AppearanceHandType.NONE);
_magicType = set.getEnum("magicType", AppearanceMagicType.class, AppearanceMagicType.NONE);
- // No grade items cannot change appearance, because client doesn't have No-Grade restoration stones.
- final CrystalType crystalType = set.getEnum("crystalType", CrystalType.class, CrystalType.NONE);
- if (crystalType == CrystalType.NONE)
+ final AppearanceTargetType targetType = set.getEnum("targetType", AppearanceTargetType.class, AppearanceTargetType.NONE);
+ if (targetType != AppearanceTargetType.NONE)
{
- for (CrystalType cryType : CrystalType.values())
+ addTargetType(targetType);
+ }
+
+ // No grade items cannot change appearance, because client doesn't have No-Grade restoration stones.
+ final CrystalType crystalType = set.getEnum("grade", CrystalType.class, null);
+
+ // If no crystal type is defined, we must add all defaults.
+ if (crystalType == null)
+ {
+ switch (targetType)
{
- if ((cryType != CrystalType.NONE) && (cryType != CrystalType.EVENT))
+ case ACCESSORY:
+ case ALL:
{
- addCrystalType(cryType);
+ addCrystalType(CrystalType.NONE);
+ }
+ case WEAPON:
+ case ARMOR:
+ {
+ for (CrystalType cryType : CrystalType.values())
+ {
+ if ((cryType != CrystalType.NONE) && (cryType != CrystalType.EVENT))
+ {
+ addCrystalType(cryType);
+ }
+ }
}
}
}
@@ -78,12 +103,6 @@ public class AppearanceStone
addCrystalType(crystalType);
}
- final AppearanceTargetType targetType = set.getEnum("targetType", AppearanceTargetType.class, AppearanceTargetType.NONE);
- if (targetType != AppearanceTargetType.NONE)
- {
- addTargetType(targetType);
- }
-
final int bodyPart = ItemTable.SLOTS.get(set.getString("bodyPart", "none"));
if (bodyPart != L2Item.SLOT_NONE)
{
@@ -185,6 +204,20 @@ public class AppearanceStone
_bodyParts.add(part);
}
+ public void addVisualId(AppearanceHolder appearanceHolder)
+ {
+ if (_allVisualIds == null)
+ {
+ _allVisualIds = new ArrayList<>();
+ }
+ _allVisualIds.add(appearanceHolder);
+ }
+
+ public List getVisualIds()
+ {
+ return _allVisualIds != null ? _allVisualIds : Collections.emptyList();
+ }
+
public List getBodyParts()
{
return _bodyParts != null ? _bodyParts : Collections.emptyList();
@@ -217,4 +250,297 @@ public class AppearanceStone
{
return _racesNot != null ? _racesNot : Collections.emptyList();
}
+
+ /**
+ * @param player the actor requesting to use this appearance.
+ * @param targetItem the item to be modified with this appearance.
+ * @return {@code true} if the item is valid for appearance change, {@code false} otherwise.
+ */
+ public boolean checkConditions(L2PcInstance player, L2ItemInstance targetItem)
+ {
+ if (targetItem == null)
+ {
+ return false;
+ }
+
+ if (getTargetTypes().isEmpty())
+ {
+ return false;
+ }
+
+ if (targetItem.isEquipped() && (getRacesNot().contains(player.getRace()) || (!getRaces().isEmpty() && !getRaces().contains(player.getRace()))))
+ {
+ player.sendPacket(SystemMessageId.YOU_CANNOT_MODIFY_AN_EQUIPPED_ITEM_INTO_THE_APPEARANCE_OF_AN_UNEQUIPPABLE_ITEM_PLEASE_CHECK_RACE_GENDER_RESTRICTIONS_YOU_CAN_MODIFY_THE_APPEARANCE_IF_YOU_UNEQUIP_THE_ITEM);
+ return false;
+ }
+
+ switch (getType())
+ {
+ case RESTORE:
+ {
+ if (targetItem.getVisualId() == 0)
+ {
+ player.sendPacket(SystemMessageId.YOU_CANNOT_RESTORE_ITEMS_THAT_HAVE_NOT_BEEN_MODIFIED);
+ return false;
+ }
+
+ if ((targetItem.isWeapon() && !getTargetTypes().contains(AppearanceTargetType.WEAPON)) || (targetItem.isArmor() && !getTargetTypes().contains(AppearanceTargetType.ARMOR)) || (targetItem.isEtcItem() && !getTargetTypes().contains(AppearanceTargetType.ACCESSORY)))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+
+ if (((targetItem.getItem().getBodyPart() == L2Item.SLOT_HAIR) || (targetItem.getItem().getBodyPart() == L2Item.SLOT_HAIR2) || (targetItem.getItem().getBodyPart() == L2Item.SLOT_HAIRALL)) && !getTargetTypes().contains(AppearanceTargetType.ACCESSORY))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+
+ break;
+ }
+ default:
+ {
+ // Seems like in retail item with already changed appearance, can be changed again without being restored.
+
+ final AppearanceTargetType targetType = getTargetTypes().get(0);
+ switch (targetType)
+ {
+ case NONE:
+ {
+ return false;
+ }
+ case WEAPON:
+ {
+ if (!targetItem.isWeapon())
+ {
+ player.sendPacket(SystemMessageId.WEAPONS_ONLY);
+ return false;
+ }
+
+ if (targetItem.getItem().getCrystalType() == CrystalType.NONE)
+ {
+ player.sendPacket(SystemMessageId.YOU_CANNOT_MODIFY_OR_RESTORE_NO_GRADE_ITEMS);
+ return false;
+ }
+
+ break;
+ }
+ case ARMOR:
+ {
+ if (!targetItem.isArmor())
+ {
+ player.sendPacket(SystemMessageId.ARMOR_ONLY);
+ return false;
+ }
+
+ if (targetItem.getItem().getCrystalType() == CrystalType.NONE)
+ {
+ player.sendPacket(SystemMessageId.YOU_CANNOT_MODIFY_OR_RESTORE_NO_GRADE_ITEMS);
+ return false;
+ }
+
+ break;
+ }
+ case ACCESSORY:
+ {
+ if ((targetItem.getItem().getBodyPart() != L2Item.SLOT_HAIR) && (targetItem.getItem().getBodyPart() != L2Item.SLOT_HAIR2) && (targetItem.getItem().getBodyPart() != L2Item.SLOT_HAIRALL))
+ {
+ player.sendPacket(SystemMessageId.HAIR_ACCESSORIES_ONLY);
+ return false;
+ }
+ break;
+ }
+ case ALL:
+ {
+ if (!getCrystalTypes().isEmpty() && !getCrystalTypes().contains(targetItem.getItem().getCrystalType()))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+
+ if (findVisualChange(targetItem) == null)
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ return true;
+ }
+ }
+
+ break;
+ }
+ }
+
+ if (!getCrystalTypes().isEmpty() && !getCrystalTypes().contains(targetItem.getItem().getCrystalType()))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+
+ if (targetItem.isArmor() && !getBodyParts().isEmpty() && !getBodyParts().contains(targetItem.getItem().getBodyPart()))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+
+ if (getWeaponType() != WeaponType.NONE)
+ {
+ if (!targetItem.isWeapon() || (targetItem.getItemType() != getWeaponType()))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_CANNOT_BE_USED_AS_AN_APPEARANCE_WEAPON);
+ return false;
+ }
+
+ switch (getHandType())
+ {
+ case ONE_HANDED:
+ {
+ if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_R_HAND) != L2Item.SLOT_R_HAND)
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ break;
+ }
+ case TWO_HANDED:
+ {
+ if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_LR_HAND) != L2Item.SLOT_LR_HAND)
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ break;
+ }
+ }
+
+ switch (getMagicType())
+ {
+ case MAGICAL:
+ {
+ if (!targetItem.getItem().isMagicWeapon())
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ break;
+ }
+ case PHYISICAL:
+ {
+ if (targetItem.getItem().isMagicWeapon())
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ }
+ }
+ }
+
+ if (getArmorType() != ArmorType.NONE)
+ {
+ switch (getArmorType())
+ {
+ case SHIELD:
+ {
+ if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SHIELD))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ break;
+ }
+ case SIGIL:
+ {
+ if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SIGIL))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ return false;
+ }
+ }
+ }
+ }
+
+ return true;
+ }
+
+ public AppearanceHolder findVisualChange(L2ItemInstance targetItem)
+ {
+ for (AppearanceHolder holder : _allVisualIds)
+ {
+ if (targetItem.isArmor() && (holder.getBodyPart() != 0) && (targetItem.getItem().getBodyPart() != holder.getBodyPart()))
+ {
+ continue;
+ }
+
+ if (holder.getWeaponType() != WeaponType.NONE)
+ {
+ if (!targetItem.isWeapon() || (targetItem.getItemType() != holder.getWeaponType()))
+ {
+ continue;
+ }
+
+ switch (holder.getHandType())
+ {
+ case ONE_HANDED:
+ {
+ if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_R_HAND) != L2Item.SLOT_R_HAND)
+ {
+ continue;
+ }
+ break;
+ }
+ case TWO_HANDED:
+ {
+ if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_LR_HAND) != L2Item.SLOT_LR_HAND)
+ {
+ continue;
+ }
+ break;
+ }
+ }
+
+ switch (holder.getMagicType())
+ {
+ case MAGICAL:
+ {
+ if (!targetItem.getItem().isMagicWeapon())
+ {
+ continue;
+ }
+ break;
+ }
+ case PHYISICAL:
+ {
+ if (targetItem.getItem().isMagicWeapon())
+ {
+ continue;
+ }
+ }
+ }
+ }
+
+ if (holder.getArmorType() != ArmorType.NONE)
+ {
+ switch (holder.getArmorType())
+ {
+ case SHIELD:
+ {
+ if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SHIELD))
+ {
+ continue;
+ }
+ break;
+ }
+ case SIGIL:
+ {
+ if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SIGIL))
+ {
+ continue;
+ }
+ }
+ }
+ }
+ return holder;
+ }
+ return null;
+ }
}
diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingEnchantSupportItem.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingEnchantSupportItem.java
index 57062be3e6..b3f8a823c8 100644
--- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingEnchantSupportItem.java
+++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingEnchantSupportItem.java
@@ -26,13 +26,11 @@ import com.l2jmobius.gameserver.model.items.L2Item;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceType;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
-import com.l2jmobius.gameserver.model.items.type.ArmorType;
-import com.l2jmobius.gameserver.model.items.type.WeaponType;
import com.l2jmobius.gameserver.network.L2GameClient;
import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
import com.l2jmobius.gameserver.network.serverpackets.appearance.ExPutShapeShiftingExtractionItemResult;
-import com.l2jmobius.gameserver.network.serverpackets.appearance.ExShapeShiftingResult;
+import com.l2jmobius.gameserver.network.serverpackets.appearance.ExPutShapeShiftingTargetItemResult;
/**
* @author UnAfraid
@@ -63,175 +61,100 @@ public class RequestExTryToPutShapeShiftingEnchantSupportItem implements IClient
if (player.isInStoreMode() || player.isInCraftMode() || player.isProcessingRequest() || player.isProcessingTransaction() || (request == null))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
client.sendPacket(SystemMessageId.YOU_CANNOT_USE_THIS_SYSTEM_DURING_TRADING_PRIVATE_STORE_AND_WORKSHOP_SETUP);
return;
}
final PcInventory inventory = player.getInventory();
final L2ItemInstance targetItem = inventory.getItemByObjectId(_targetItemObjId);
- final L2ItemInstance extracItem = inventory.getItemByObjectId(_extracItemObjId);
+ final L2ItemInstance extractItem = inventory.getItemByObjectId(_extracItemObjId);
L2ItemInstance stone = request.getAppearanceStone();
- if ((targetItem == null) || (extracItem == null) || (stone == null))
+ if ((targetItem == null) || (extractItem == null) || (stone == null))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (!extracItem.getItem().isAppearanceable())
+ if ((stone.getOwnerId() != player.getObjectId()) || (targetItem.getOwnerId() != player.getObjectId()) || (extractItem.getOwnerId() != player.getObjectId()))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if ((extracItem.getItemLocation() != ItemLocation.INVENTORY) && (extracItem.getItemLocation() != ItemLocation.PAPERDOLL))
+ if (!extractItem.getItem().isAppearanceable())
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ client.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
+ return;
+ }
+
+ if ((extractItem.getItemLocation() != ItemLocation.INVENTORY) && (extractItem.getItemLocation() != ItemLocation.PAPERDOLL))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- stone = inventory.getItemByObjectId(stone.getObjectId());
- if (stone == null)
+ if ((stone = inventory.getItemByObjectId(stone.getObjectId())) == null)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
final AppearanceStone appearanceStone = AppearanceItemData.getInstance().getStone(stone.getId());
if (appearanceStone == null)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
if ((appearanceStone.getType() == AppearanceType.RESTORE) || (appearanceStone.getType() == AppearanceType.FIXED))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (extracItem.getVisualId() > 0)
+ if (extractItem.getVisualId() > 0)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
client.sendPacket(SystemMessageId.YOU_CANNOT_EXTRACT_FROM_A_MODIFIED_ITEM);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (appearanceStone.getWeaponType() != WeaponType.NONE)
+ if ((extractItem.getItemLocation() != ItemLocation.INVENTORY) && (extractItem.getItemLocation() != ItemLocation.PAPERDOLL))
{
- if (!targetItem.isWeapon() || (targetItem.getItemType() != appearanceStone.getWeaponType()))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
-
- if (appearanceStone.getWeaponType() != WeaponType.NONE)
- {
- if (!targetItem.isWeapon() || (targetItem.getItemType() != appearanceStone.getWeaponType()))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
-
- switch (appearanceStone.getHandType())
- {
- case ONE_HANDED:
- {
- if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_R_HAND) != L2Item.SLOT_R_HAND)
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- case TWO_HANDED:
- {
- if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_LR_HAND) != L2Item.SLOT_LR_HAND)
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- }
-
- switch (appearanceStone.getMagicType())
- {
- case MAGICAL:
- {
- if (!targetItem.getItem().isMagicWeapon())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- case PHYISICAL:
- {
- if (targetItem.getItem().isMagicWeapon())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
- }
- }
-
- if (appearanceStone.getArmorType() != ArmorType.NONE)
- {
- switch (appearanceStone.getArmorType())
- {
- case SHIELD:
- {
- if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SHIELD))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- case SIGIL:
- {
- if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SIGIL))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
- }
- }
-
- if (extracItem.getOwnerId() != player.getObjectId())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- request.setAppearanceExtractItem(extracItem);
+ if ((extractItem.getItemType() != targetItem.getItemType()) || (extractItem.getId() == targetItem.getId()) || (extractItem.getObjectId() == targetItem.getObjectId()))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ client.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
+ return;
+ }
+
+ if ((extractItem.getItem().getBodyPart() != targetItem.getItem().getBodyPart()) && ((extractItem.getItem().getBodyPart() != L2Item.SLOT_FULL_ARMOR) || (targetItem.getItem().getBodyPart() != L2Item.SLOT_CHEST)))
+ {
+ player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
+ client.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
+ return;
+ }
+
+ if (extractItem.getItem().getCrystalType().isGreater(targetItem.getItem().getCrystalType()))
+ {
+ client.sendPacket(SystemMessageId.YOU_CANNOT_EXTRACT_FROM_ITEMS_THAT_ARE_HIGHER_GRADE_THAN_ITEMS_TO_BE_MODIFIED);
+ player.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
+ return;
+ }
+
+ if (!appearanceStone.checkConditions(player, targetItem))
+ {
+ player.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
+ return;
+ }
+
+ request.setAppearanceExtractItem(extractItem);
client.sendPacket(ExPutShapeShiftingExtractionItemResult.SUCCESS);
}
}
diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingTargetItem.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingTargetItem.java
index a504a61d23..4fe4ef7d8c 100644
--- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingTargetItem.java
+++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestExTryToPutShapeShiftingTargetItem.java
@@ -22,13 +22,8 @@ import com.l2jmobius.gameserver.enums.ItemLocation;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.request.ShapeShiftingItemRequest;
import com.l2jmobius.gameserver.model.itemcontainer.PcInventory;
-import com.l2jmobius.gameserver.model.items.L2Item;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
-import com.l2jmobius.gameserver.model.items.appearance.AppearanceTargetType;
-import com.l2jmobius.gameserver.model.items.appearance.AppearanceType;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
-import com.l2jmobius.gameserver.model.items.type.ArmorType;
-import com.l2jmobius.gameserver.model.items.type.WeaponType;
import com.l2jmobius.gameserver.network.L2GameClient;
import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
@@ -77,13 +72,20 @@ public class RequestExTryToPutShapeShiftingTargetItem implements IClientIncoming
return;
}
- if (!targetItem.getItem().isAppearanceable())
+ if ((stone.getOwnerId() != player.getObjectId()) || (targetItem.getOwnerId() != player.getObjectId()))
{
client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
+ if (!targetItem.getItem().isAppearanceable())
+ {
+ client.sendPacket(SystemMessageId.THIS_ITEM_CANNOT_BE_MODIFIED_OR_RESTORED);
+ client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
+ return;
+ }
+
if ((targetItem.getItemLocation() != ItemLocation.INVENTORY) && (targetItem.getItemLocation() != ItemLocation.PAPERDOLL))
{
client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
@@ -91,8 +93,7 @@ public class RequestExTryToPutShapeShiftingTargetItem implements IClientIncoming
return;
}
- stone = inventory.getItemByObjectId(stone.getObjectId());
- if (stone == null)
+ if ((stone = inventory.getItemByObjectId(stone.getObjectId())) == null)
{
client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
@@ -107,158 +108,9 @@ public class RequestExTryToPutShapeShiftingTargetItem implements IClientIncoming
return;
}
- if (((appearanceStone.getType() != AppearanceType.RESTORE) && (targetItem.getVisualId() > 0)) || ((appearanceStone.getType() == AppearanceType.RESTORE) && (targetItem.getVisualId() == 0)))
+ if (!appearanceStone.checkConditions(player, targetItem))
{
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
-
- // TODO: Handle hair accessory!
- // if (!targetItem.isEtcItem() && (targetItem.getItem().getCrystalType() == CrystalType.NONE))
- {
- // client.sendPacket(SystemMessageId.YOU_CANNOT_MODIFY_OR_RESTORE_NOGRADE_ITEMS);
- // return;
- }
-
- if (!appearanceStone.getTargetTypes().contains(AppearanceTargetType.ACCESSORY)) // accessory tempfix
- {
- if (!appearanceStone.getCrystalTypes().isEmpty() && !appearanceStone.getCrystalTypes().contains(targetItem.getItem().getCrystalType()))
- {
- client.sendPacket(SystemMessageId.ITEM_GRADES_DO_NOT_MATCH);
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
-
- if (appearanceStone.getTargetTypes().isEmpty())
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
-
- if (!appearanceStone.getTargetTypes().contains(AppearanceTargetType.ALL))
- {
- if (targetItem.isWeapon() && !appearanceStone.getTargetTypes().contains(AppearanceTargetType.WEAPON))
- {
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
-
- }
- else if (targetItem.isArmor() && !appearanceStone.getTargetTypes().contains(AppearanceTargetType.ARMOR) && !appearanceStone.getTargetTypes().contains(AppearanceTargetType.ACCESSORY))
- {
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- else if (targetItem.isArmor() && !appearanceStone.getBodyParts().isEmpty() && !appearanceStone.getBodyParts().contains(targetItem.getItem().getBodyPart()))
- {
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
-
- if (appearanceStone.getWeaponType() != WeaponType.NONE)
- {
- if (!targetItem.isWeapon() || (targetItem.getItemType() != appearanceStone.getWeaponType()))
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
-
- switch (appearanceStone.getHandType())
- {
- case ONE_HANDED:
- {
- if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_R_HAND) != L2Item.SLOT_R_HAND)
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
- break;
- }
- case TWO_HANDED:
- {
- if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_LR_HAND) != L2Item.SLOT_LR_HAND)
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
- break;
- }
- }
-
- switch (appearanceStone.getMagicType())
- {
- case MAGICAL:
- {
- if (!targetItem.getItem().isMagicWeapon())
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
- break;
- }
- case PHYISICAL:
- {
- if (targetItem.getItem().isMagicWeapon())
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
- }
- }
- }
-
- if (appearanceStone.getArmorType() != ArmorType.NONE)
- {
- switch (appearanceStone.getArmorType())
- {
- case SHIELD:
- {
- if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SHIELD))
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
- break;
- }
- case SIGIL:
- {
- if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SIGIL))
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- client.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
- return;
- }
- }
- }
- }
-
- if (targetItem.getOwnerId() != player.getObjectId())
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
+ player.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
return;
}
diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestShapeShiftingItem.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestShapeShiftingItem.java
index e39eb6b752..97d035b0f3 100644
--- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestShapeShiftingItem.java
+++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/appearance/RequestShapeShiftingItem.java
@@ -22,14 +22,12 @@ import com.l2jmobius.gameserver.enums.InventorySlot;
import com.l2jmobius.gameserver.enums.ItemLocation;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.request.ShapeShiftingItemRequest;
+import com.l2jmobius.gameserver.model.holders.AppearanceHolder;
import com.l2jmobius.gameserver.model.itemcontainer.PcInventory;
import com.l2jmobius.gameserver.model.items.L2Item;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
-import com.l2jmobius.gameserver.model.items.appearance.AppearanceTargetType;
import com.l2jmobius.gameserver.model.items.appearance.AppearanceType;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
-import com.l2jmobius.gameserver.model.items.type.ArmorType;
-import com.l2jmobius.gameserver.model.items.type.WeaponType;
import com.l2jmobius.gameserver.model.variables.ItemVariables;
import com.l2jmobius.gameserver.network.L2GameClient;
import com.l2jmobius.gameserver.network.SystemMessageId;
@@ -37,8 +35,6 @@ import com.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
import com.l2jmobius.gameserver.network.serverpackets.ExAdenaInvenCount;
import com.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
import com.l2jmobius.gameserver.network.serverpackets.InventoryUpdate;
-import com.l2jmobius.gameserver.network.serverpackets.SystemMessage;
-import com.l2jmobius.gameserver.network.serverpackets.appearance.ExPutShapeShiftingTargetItemResult;
import com.l2jmobius.gameserver.network.serverpackets.appearance.ExShapeShiftingResult;
/**
@@ -68,7 +64,7 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
if (player.isInStoreMode() || player.isInCraftMode() || player.isProcessingRequest() || player.isProcessingTransaction() || (request == null))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
client.sendPacket(SystemMessageId.YOU_CANNOT_USE_THIS_SYSTEM_DURING_TRADING_PRIVATE_STORE_AND_WORKSHOP_SETUP);
return;
}
@@ -79,36 +75,36 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
if ((targetItem == null) || (stone == null))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (stone.getOwnerId() != player.getObjectId())
+ if ((stone.getOwnerId() != player.getObjectId()) || (targetItem.getOwnerId() != player.getObjectId()))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
if (!targetItem.getItem().isAppearanceable())
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(SystemMessageId.THIS_ITEM_CANNOT_BE_MODIFIED_OR_RESTORED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
if ((targetItem.getItemLocation() != ItemLocation.INVENTORY) && (targetItem.getItemLocation() != ItemLocation.PAPERDOLL))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- stone = inventory.getItemByObjectId(stone.getObjectId());
- if (stone == null)
+ if ((stone = inventory.getItemByObjectId(stone.getObjectId())) == null)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
@@ -116,223 +112,100 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
final AppearanceStone appearanceStone = AppearanceItemData.getInstance().getStone(stone.getId());
if (appearanceStone == null)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (((appearanceStone.getType() != AppearanceType.RESTORE) && (targetItem.getVisualId() > 0)) || ((appearanceStone.getType() == AppearanceType.RESTORE) && (targetItem.getVisualId() == 0)))
+ if (!appearanceStone.checkConditions(player, targetItem))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- // TODO: Handle hair accessory!
- // if (!targetItem.isEtcItem() && (targetItem.getItem().getCrystalType() == CrystalType.NONE))
- {
- // client.sendPacket(ExShapeShiftingResult.FAILED);
- // player.removeRequest(ShapeShiftingItemRequest.class.getName());
- // return;
- }
-
- if (!appearanceStone.getTargetTypes().contains(AppearanceTargetType.ACCESSORY)) // accessory tempfix
- {
- if (!appearanceStone.getCrystalTypes().isEmpty() && !appearanceStone.getCrystalTypes().contains(targetItem.getItem().getCrystalType()))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
-
- if (appearanceStone.getTargetTypes().isEmpty())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
-
- if (!appearanceStone.getTargetTypes().contains(AppearanceTargetType.ALL))
- {
- if (targetItem.isWeapon() && !appearanceStone.getTargetTypes().contains(AppearanceTargetType.WEAPON))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
-
- }
- else if (targetItem.isArmor() && !appearanceStone.getTargetTypes().contains(AppearanceTargetType.ARMOR) && !appearanceStone.getTargetTypes().contains(AppearanceTargetType.ACCESSORY))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- else if (targetItem.isArmor() && !appearanceStone.getBodyParts().isEmpty() && !appearanceStone.getBodyParts().contains(targetItem.getItem().getBodyPart()))
- {
- client.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
-
- if (appearanceStone.getWeaponType() != WeaponType.NONE)
- {
- if (!targetItem.isWeapon() || (targetItem.getItemType() != appearanceStone.getWeaponType()))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
-
- switch (appearanceStone.getHandType())
- {
- case ONE_HANDED:
- {
- if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_R_HAND) != L2Item.SLOT_R_HAND)
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- case TWO_HANDED:
- {
- if ((targetItem.getItem().getBodyPart() & L2Item.SLOT_LR_HAND) != L2Item.SLOT_LR_HAND)
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- }
-
- switch (appearanceStone.getMagicType())
- {
- case MAGICAL:
- {
- if (!targetItem.getItem().isMagicWeapon())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- case PHYISICAL:
- {
- if (targetItem.getItem().isMagicWeapon())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
- }
- }
-
- if (appearanceStone.getArmorType() != ArmorType.NONE)
- {
- switch (appearanceStone.getArmorType())
- {
- case SHIELD:
- {
- if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SHIELD))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- break;
- }
- case SIGIL:
- {
- if (!targetItem.isArmor() || (targetItem.getItemType() != ArmorType.SIGIL))
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
- }
- }
- }
-
- final L2ItemInstance extracItem = request.getAppearanceExtractItem();
+ final L2ItemInstance extractItem = request.getAppearanceExtractItem();
int extracItemId = 0;
if ((appearanceStone.getType() != AppearanceType.RESTORE) && (appearanceStone.getType() != AppearanceType.FIXED))
{
- if (extracItem == null)
+ if (extractItem == null)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (!targetItem.getItem().isAppearanceable())
+ if (extractItem.getOwnerId() != player.getObjectId())
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if ((extracItem.getItemLocation() != ItemLocation.INVENTORY) && (extracItem.getItemLocation() != ItemLocation.PAPERDOLL))
+ if (!extractItem.getItem().isAppearanceable())
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (!extracItem.isEtcItem() && (targetItem.getItem().getCrystalType().ordinal() <= extracItem.getItem().getCrystalType().ordinal()))
+ if ((extractItem.getItemLocation() != ItemLocation.INVENTORY) && (extractItem.getItemLocation() != ItemLocation.PAPERDOLL))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (extracItem.getVisualId() > 0)
+ if (extractItem.getItem().getCrystalType().isGreater(targetItem.getItem().getCrystalType()))
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- if (extracItem.getOwnerId() != player.getObjectId())
+ if (extractItem.getVisualId() > 0)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
- extracItemId = extracItem.getId();
+
+ if ((extractItem.getItemType() != targetItem.getItemType()) || (extractItem.getId() == targetItem.getId()) || (extractItem.getObjectId() == targetItem.getObjectId()))
+ {
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
+ player.removeRequest(ShapeShiftingItemRequest.class);
+ return;
+ }
+
+ if ((extractItem.getItem().getBodyPart() != targetItem.getItem().getBodyPart()) && ((extractItem.getItem().getBodyPart() != L2Item.SLOT_FULL_ARMOR) || (targetItem.getItem().getBodyPart() != L2Item.SLOT_CHEST)))
+ {
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
+ player.removeRequest(ShapeShiftingItemRequest.class);
+ return;
+ }
+
+ extracItemId = extractItem.getId();
}
- if (targetItem.getOwnerId() != player.getObjectId())
- {
- client.sendPacket(ExShapeShiftingResult.FAILED);
- player.removeRequest(ShapeShiftingItemRequest.class);
- return;
- }
-
- final long cost = appearanceStone.getCost();
+ long cost = appearanceStone.getCost();
if (cost > player.getAdena())
{
client.sendPacket(SystemMessageId.YOU_CANNOT_MODIFY_AS_YOU_DO_NOT_HAVE_ENOUGH_ADENA);
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
if (stone.getCount() < 1L)
{
- client.sendPacket(ExShapeShiftingResult.FAILED);
+ client.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
return;
}
if (appearanceStone.getType() == AppearanceType.NORMAL)
{
- if (inventory.destroyItem(getClass().getSimpleName(), extracItem, 1, player, this) == null)
+ if (inventory.destroyItem(getClass().getSimpleName(), extractItem, 1, player, this) == null)
{
client.sendPacket(ExShapeShiftingResult.FAILED);
player.removeRequest(ShapeShiftingItemRequest.class);
@@ -341,7 +214,7 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
}
inventory.destroyItem(getClass().getSimpleName(), stone, 1, player, this);
- player.reduceAdena(getClass().getSimpleName(), cost, extracItem, true);
+ player.reduceAdena(getClass().getSimpleName(), cost, extractItem, false);
switch (appearanceStone.getType())
{
@@ -353,18 +226,32 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
}
case NORMAL:
{
- targetItem.setVisualId(extracItem.getId());
+ targetItem.setVisualId(extractItem.getId());
break;
}
case BLESSED:
{
- targetItem.setVisualId(extracItem.getId());
+ targetItem.setVisualId(extractItem.getId());
break;
}
case FIXED:
{
- targetItem.setVisualId(appearanceStone.getVisualId());
- targetItem.getVariables().set(ItemVariables.VISUAL_APPEARANCE_STONE_ID, appearanceStone.getId());
+ if (appearanceStone.getVisualIds().isEmpty())
+ {
+ extracItemId = appearanceStone.getVisualId();
+ targetItem.setVisualId(appearanceStone.getVisualId());
+ targetItem.getVariables().set(ItemVariables.VISUAL_APPEARANCE_STONE_ID, appearanceStone.getId());
+ }
+ else
+ {
+ final AppearanceHolder holder = appearanceStone.findVisualChange(targetItem);
+ if (holder != null)
+ {
+ extracItemId = holder.getVisualId();
+ targetItem.setVisualId(holder.getVisualId());
+ targetItem.getVariables().set(ItemVariables.VISUAL_APPEARANCE_STONE_ID, appearanceStone.getId());
+ }
+ }
break;
}
}
@@ -376,17 +263,13 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
}
targetItem.getVariables().storeMe();
- if (appearanceStone.getCost() > 0)
- {
- client.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_SPENT_S1_ON_A_SUCCESSFUL_APPEARANCE_MODIFICATION).addLong(cost));
- }
- else
- {
- client.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.S1_S_APPEARANCE_MODIFICATION_HAS_FINISHED).addItemName(targetItem.getDisplayId()));
- }
final InventoryUpdate iu = new InventoryUpdate();
iu.addModifiedItem(targetItem);
+ if (extractItem != null)
+ {
+ iu.addModifiedItem(extractItem);
+ }
if (inventory.getItemByObjectId(stone.getObjectId()) == null)
{
iu.addRemovedItem(stone);
diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/serverpackets/appearance/ExShapeShiftingResult.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/serverpackets/appearance/ExShapeShiftingResult.java
index 66c2d83f24..ab35ba8f6a 100644
--- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/serverpackets/appearance/ExShapeShiftingResult.java
+++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/serverpackets/appearance/ExShapeShiftingResult.java
@@ -27,8 +27,10 @@ public class ExShapeShiftingResult implements IClientOutgoingPacket
{
public static int RESULT_FAILED = 0x00;
public static int RESULT_SUCCESS = 0x01;
+ public static int RESULT_CLOSE = 0x02;
public static ExShapeShiftingResult FAILED = new ExShapeShiftingResult(RESULT_FAILED, 0, 0);
+ public static ExShapeShiftingResult CLOSE = new ExShapeShiftingResult(RESULT_CLOSE, 0, 0);
private final int _result;
private final int _targetItemId;