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;