From 55986857d0df78276f6060513cec8fb2d42725a5 Mon Sep 17 00:00:00 2001
From: Zoey76 <zoey_76@msn.com>
Date: Fri, 24 Dec 2021 20:52:02 -0300
Subject: [PATCH] Updating skills

Snipe (313)
Sharpshooting (521)
Fire Armor (579)
Clan Gate (3632)
Wild Defense (4711)
Ultimate Guard (5503)

Removed custom effect ImmobileBuff.
---
 .../handlers/EffectMasterHandler.java         |  2 -
 .../effecthandlers/custom/ImmobileBuff.java   | 49 ------------
 .../data/stats/skills/00300-00399.xml         | 70 ++++++++++++------
 .../data/stats/skills/00500-00599.xml         | 74 +++++++++++++------
 .../data/stats/skills/03600-03699.xml         |  7 +-
 .../data/stats/skills/04700-04799.xml         |  2 +-
 .../data/stats/skills/05500-05599.xml         | 19 +++--
 src/main/resources/data/xsd/skills.xsd        |  1 -
 8 files changed, 117 insertions(+), 107 deletions(-)
 delete mode 100644 src/main/java/com/l2jserver/datapack/handlers/effecthandlers/custom/ImmobileBuff.java

diff --git a/src/main/java/com/l2jserver/datapack/handlers/EffectMasterHandler.java b/src/main/java/com/l2jserver/datapack/handlers/EffectMasterHandler.java
index 34e1ef1a40..cca57a9786 100644
--- a/src/main/java/com/l2jserver/datapack/handlers/EffectMasterHandler.java
+++ b/src/main/java/com/l2jserver/datapack/handlers/EffectMasterHandler.java
@@ -34,7 +34,6 @@ import com.l2jserver.datapack.handlers.effecthandlers.custom.Debuff;
 import com.l2jserver.datapack.handlers.effecthandlers.custom.Detection;
 import com.l2jserver.datapack.handlers.effecthandlers.custom.Flag;
 import com.l2jserver.datapack.handlers.effecthandlers.custom.Grow;
-import com.l2jserver.datapack.handlers.effecthandlers.custom.ImmobileBuff;
 import com.l2jserver.datapack.handlers.effecthandlers.custom.Mute;
 import com.l2jserver.datapack.handlers.effecthandlers.custom.OpenChest;
 import com.l2jserver.datapack.handlers.effecthandlers.custom.OpenDoor;
@@ -171,7 +170,6 @@ public final class EffectMasterHandler {
 		Hp.class,
 		HpDrain.class,
 		HpPerMax.class,
-		ImmobileBuff.class,
 		InstantAgathionEnergy.class,
 		InstantBetray.class,
 		InstantCallTargetParty.class,
diff --git a/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/custom/ImmobileBuff.java b/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/custom/ImmobileBuff.java
deleted file mode 100644
index 1aeafc44e5..0000000000
--- a/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/custom/ImmobileBuff.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright © 2004-2021 L2J DataPack
- * 
- * This file is part of L2J DataPack.
- * 
- * L2J DataPack 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.
- * 
- * L2J DataPack 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 <http://www.gnu.org/licenses/>.
- */
-package com.l2jserver.datapack.handlers.effecthandlers.custom;
-
-import com.l2jserver.gameserver.model.StatsSet;
-import com.l2jserver.gameserver.model.conditions.Condition;
-import com.l2jserver.gameserver.model.effects.L2EffectType;
-import com.l2jserver.gameserver.model.skills.BuffInfo;
-
-/**
- * Immobile Buff effect implementation.
- * @author mkizub
- */
-public final class ImmobileBuff extends Buff {
-	public ImmobileBuff(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) {
-		super(attachCond, applyCond, set, params);
-	}
-	
-	@Override
-	public L2EffectType getEffectType() {
-		return L2EffectType.BUFF;
-	}
-	
-	@Override
-	public void onExit(BuffInfo info) {
-		info.getEffected().setIsImmobilized(false);
-	}
-	
-	@Override
-	public void onStart(BuffInfo info) {
-		info.getEffected().setIsImmobilized(true);
-	}
-}
diff --git a/src/main/resources/data/stats/skills/00300-00399.xml b/src/main/resources/data/stats/skills/00300-00399.xml
index e363f15848..393e8bb8fb 100644
--- a/src/main/resources/data/stats/skills/00300-00399.xml
+++ b/src/main/resources/data/stats/skills/00300-00399.xml
@@ -485,6 +485,7 @@
 		</enchant2Effects>
 	</skill>
 	<skill id="313" levels="8" name="Snipe" enchantGroup1="1" enchantGroup2="1">
+		<!-- High Five Confirmed -->
 		<table name="#abnormalLvl"> 1 2 3 4 5 6 7 8 </table>
 		<table name="#accCombat"> 3 3 4 4 5 5 6 6 </table>
 		<table name="#effectPoint"> 566 582 597 611 624 635 646 655 </table>
@@ -492,15 +493,16 @@
 		<table name="#mpConsume2"> 28 29 30 31 32 33 34 34 </table>
 		<table name="#pAtk"> 124 134 145 155 166 177 188 199 </table>
 		<table name="#pAtkRange"> 50 50 100 100 150 150 200 200 </table>
-		<table name="#ench1abnormalLvl"> 9 9 9 9 10 10 10 10 10 11 11 11 11 11 12 12 12 12 12 13 13 13 13 13 14 14 14 14 14 15 </table>
-		<table name="#ench1pAtk"> 202 204 206 208 210 212 214 216 218 220 222 224 226 228 230 232 234 236 238 240 242 244 246 248 250 252 254 256 258 260 </table>
-		<table name="#ench2decreasePenalty"> 0.07 0.08 0.1 0.11 0.13 0.14 0.16 0.17 0.19 0.2 0.22 0.23 0.25 0.26 0.28 0.29 0.31 0.32 0.34 0.35 0.37 0.38 0.4 0.41 0.43 0.44 0.46 0.47 0.49 0.50 </table>
-		<table name="#ench2MpConsume2"> 33 33 32 32 32 31 31 30 30 29 29 28 28 28 27 27 26 26 25 25 25 24 24 23 23 22 22 21 20 20 </table>
 		<table name="#enchMagicLvl"> 76 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 81 82 82 82 83 83 83 84 84 84 85 85 85 </table>
+		<table name="#ench1AbnormalLvl"> 9 9 9 9 10 10 10 10 10 11 11 11 11 11 12 12 12 12 12 13 13 13 13 13 14 14 14 14 14 15 </table>
+		<table name="#ench1pAtk"> 202 204 206 208 210 212 214 216 218 220 222 224 226 228 230 232 234 236 238 240 242 244 246 248 250 252 254 256 258 260 </table>
+		<table name="#ench2runSpd"> 0.07 0.08 0.1 0.11 0.13 0.14 0.16 0.17 0.19 0.2 0.22 0.23 0.25 0.26 0.28 0.29 0.31 0.32 0.34 0.35 0.37 0.38 0.4 0.41 0.43 0.44 0.46 0.47 0.49 0.5 </table>
 		<set name="abnormalLvl" val="#abnormalLvl" />
 		<set name="abnormalTime" val="120" />
 		<set name="abnormalType" val="SNIPE" />
+		<set name="affectScope" val="SINGLE" />
 		<set name="effectPoint" val="#effectPoint" />
+		<set name="hitCancelTime" val="500" />
 		<set name="hitTime" val="2000" />
 		<set name="icon" val="icon.skill0313" />
 		<set name="magicLvl" val="#magicLvl" />
@@ -509,59 +511,81 @@
 		<set name="reuseDelay" val="75000" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="SELF" />
+		<enchant1 name="abnormalLvl" val="#ench1AbnormalLvl" />
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
 		<enchant2 name="magicLvl" val="#enchMagicLvl" />
-		<enchant2 name="mpConsume2" val="#ench2MpConsume2" />
 		<cond msgId="113" addName="1">
 			<using kind="BOW" />
 		</cond>
 		<effects>
-			<effect name="ImmobileBuff">
-				<add stat="pAtk" val="#pAtk">
-					<using kind="BOW" />
-				</add>
-				<add stat="accCombat" val="#accCombat">
+			<effect name="Buff">
+				<add stat="pAtkRange" val="#pAtkRange">
 					<using kind="BOW" />
 				</add>
+			</effect>
+			<effect name="Root" />
+			<effect name="Buff">
 				<mul stat="critRate" val="1.2">
 					<using kind="BOW" />
 				</mul>
-				<add stat="pAtkRange" val="#pAtkRange">
+			</effect>
+			<effect name="Buff">
+				<add stat="accCombat" val="#accCombat">
 					<using kind="BOW" />
 				</add>
 			</effect>
-		</effects>
-		<enchant1Effects>
-			<effect name="ImmobileBuff">
-				<add stat="pAtk" val="#ench1pAtk">
+			<effect name="Buff">
+				<add stat="pAtk" val="#pAtk">
 					<using kind="BOW" />
 				</add>
-				<add stat="accCombat" val="6">
+			</effect>
+		</effects>
+		<enchant1Effects>
+			<effect name="Buff">
+				<add stat="pAtkRange" val="200">
 					<using kind="BOW" />
 				</add>
+			</effect>
+			<effect name="Root" />
+			<effect name="Buff">
 				<mul stat="critRate" val="1.2">
 					<using kind="BOW" />
 				</mul>
-				<add stat="pAtkRange" val="200">
+			</effect>
+			<effect name="Buff">
+				<add stat="accCombat" val="6">
 					<using kind="BOW" />
 				</add>
 			</effect>
-		</enchant1Effects>
-		<enchant2Effects>
 			<effect name="Buff">
-				<add stat="pAtk" val="199">
+				<add stat="pAtk" val="#ench1pAtk">
 					<using kind="BOW" />
 				</add>
-				<add stat="accCombat" val="6">
+			</effect>
+		</enchant1Effects>
+		<enchant2Effects>
+			<effect name="Buff">
+				<add stat="pAtkRange" val="200">
 					<using kind="BOW" />
 				</add>
+			</effect>
+			<effect name="Buff">
 				<mul stat="critRate" val="1.2">
 					<using kind="BOW" />
 				</mul>
-				<add stat="pAtkRange" val="200">
+			</effect>
+			<effect name="Buff">
+				<add stat="accCombat" val="6">
 					<using kind="BOW" />
 				</add>
-				<mul stat="runSpd" val="#ench2decreasePenalty" />
+			</effect>
+			<effect name="Buff">
+				<add stat="pAtk" val="199">
+					<using kind="BOW" />
+				</add>
+			</effect>
+			<effect name="Buff">
+				<mul stat="runSpd" val="#ench2runSpd" />
 			</effect>
 		</enchant2Effects>
 	</skill>
diff --git a/src/main/resources/data/stats/skills/00500-00599.xml b/src/main/resources/data/stats/skills/00500-00599.xml
index 1e7e5eaea1..77ed3b3eaf 100644
--- a/src/main/resources/data/stats/skills/00500-00599.xml
+++ b/src/main/resources/data/stats/skills/00500-00599.xml
@@ -964,23 +964,25 @@
 		</effects>
 	</skill>
 	<skill id="521" levels="8" name="Sharpshooting" enchantGroup1="1" enchantGroup2="1">
-		<!-- Confirmed CT2.5 -->
+		<!-- High Five Confirmed -->
 		<table name="#abnormalLvl"> 1 2 3 4 5 6 7 8 </table>
 		<table name="#accCombat"> 3 3 4 4 5 5 6 6 </table>
 		<table name="#effectPoint"> 566 582 597 611 624 635 646 655 </table>
 		<table name="#magicLvl"> 60 62 64 66 68 70 72 74 </table>
 		<table name="#mpConsume2"> 28 29 30 31 32 33 34 34 </table>
 		<table name="#pAtk"> 124 134 145 155 166 177 188 199 </table>
-		<table name="#range"> 50 50 100 100 150 150 200 200 </table>
-		<table name="#ench1Acc"> 6 6 6 6 6 6 6 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 10 </table>
-		<table name="#ench1Power"> 211 213 214 215 217 218 220 221 223 224 226 227 228 230 231 233 234 236 237 239 240 241 243 244 246 247 249 250 252 253 </table>
-		<table name="#ench2AbnormalTimes"> 124 128 132 136 140 144 148 152 156 160 164 168 172 176 180 184 188 192 196 200 204 208 212 216 220 224 228 232 236 240 </table>
-		<table name="#enchabnormalLvl"> 8 8 8 8 8 8 8 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 12 </table>
+		<table name="#pAtkRange"> 50 50 100 100 150 150 200 200 </table>
 		<table name="#enchMagicLvl"> 76 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 81 82 82 82 83 83 83 84 84 84 85 85 85 </table>
+		<table name="#ench1AbnormalLvl"> 8 8 8 8 8 8 8 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 12 </table>
+		<table name="#ench1accCombat"> 6 6 6 6 6 6 6 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 10 </table>
+		<table name="#ench1pAtk"> 211 213 214 215 217 218 220 221 223 224 226 227 228 230 231 233 234 236 237 239 240 241 243 244 246 247 249 250 252 253 </table>
+		<table name="#ench2AbnormalTime"> 124 128 132 136 140 144 148 152 156 160 164 168 172 176 180 184 188 192 196 200 204 208 212 216 220 224 228 232 236 240 </table>
 		<set name="abnormalLvl" val="#abnormalLvl" />
 		<set name="abnormalTime" val="120" />
 		<set name="abnormalType" val="SNIPE" />
+		<set name="affectScope" val="SINGLE" />
 		<set name="effectPoint" val="#effectPoint" />
+		<set name="hitCancelTime" val="500" />
 		<set name="hitTime" val="2000" />
 		<set name="icon" val="icon.skill0521" />
 		<set name="magicLvl" val="#magicLvl" />
@@ -989,40 +991,55 @@
 		<set name="reuseDelay" val="75000" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="SELF" />
+		<enchant1 name="abnormalLvl" val="#ench1AbnormalLvl" />
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
-		<enchant2 name="abnormalTime" val="#ench2AbnormalTimes" />
+		<enchant2 name="abnormalTime" val="#ench2AbnormalTime" />
 		<enchant2 name="magicLvl" val="#enchMagicLvl" />
 		<cond msgId="113" addName="1">
 			<using kind="CROSSBOW" />
 		</cond>
 		<effects>
-			<effect name="ImmobileBuff">
-				<add stat="pAtk" val="#pAtk">
-					<using kind="CROSSBOW" />
-				</add>
-				<add stat="accCombat" val="#accCombat">
+			<effect name="Buff">
+				<add stat="pAtkRange" val="#pAtkRange">
 					<using kind="CROSSBOW" />
 				</add>
+			</effect>
+			<effect name="Root" />
+			<effect name="Buff">
 				<mul stat="critRate" val="1.2">
 					<using kind="CROSSBOW" />
 				</mul>
-				<add stat="pAtkRange" val="#range">
+			</effect>
+			<effect name="Buff">
+				<add stat="accCombat" val="#accCombat">
 					<using kind="CROSSBOW" />
 				</add>
 			</effect>
-		</effects>
-		<enchant1Effects>
-			<effect name="ImmobileBuff">
-				<add stat="pAtk" val="#ench1Power">
+			<effect name="Buff">
+				<add stat="pAtk" val="#pAtk">
 					<using kind="CROSSBOW" />
 				</add>
-				<add stat="accCombat" val="#ench1Acc">
+			</effect>
+		</effects>
+		<enchant1Effects>
+			<effect name="Buff">
+				<add stat="pAtkRange" val="200">
 					<using kind="CROSSBOW" />
 				</add>
+			</effect>
+			<effect name="Root" />
+			<effect name="Buff">
 				<mul stat="critRate" val="1.2">
 					<using kind="CROSSBOW" />
 				</mul>
-				<add stat="pAtkRange" val="200">
+			</effect>
+			<effect name="Buff">
+				<add stat="accCombat" val="#ench1accCombat">
+					<using kind="CROSSBOW" />
+				</add>
+			</effect>
+			<effect name="Buff">
+				<add stat="pAtk" val="#ench1pAtk">
 					<using kind="CROSSBOW" />
 				</add>
 			</effect>
@@ -2769,17 +2786,21 @@
 		</effects>
 	</skill>
 	<skill id="579" levels="4" name="Fire Armor">
-		<!-- Confirmed CT2.5 -->
+		<!-- High Five Confirmed -->
 		<table name="#abnormalLvl"> 1 2 3 4 </table>
 		<table name="#effectPoint"> 477 532 582 630 </table>
-		<table name="#magicLvl"> 60 63 66 69 </table>
 		<table name="#mDef"> 800 900 1000 1100 </table>
+		<table name="#magicLvl"> 60 63 66 69 </table>
 		<table name="#mpConsume2"> 61 63 67 70 </table>
 		<table name="#pDef"> 1000 1100 1200 1300 </table>
 		<set name="abnormalLvl" val="#abnormalLvl" />
 		<set name="abnormalTime" val="30" />
 		<set name="abnormalType" val="PD_UP_SPECIAL" />
+		<set name="affectScope" val="SINGLE" />
+		<set name="attributePower" val="20" />
+		<set name="attributeType" val="FIRE" />
 		<set name="effectPoint" val="#effectPoint" />
+		<set name="hitCancelTime" val="500" />
 		<set name="hitTime" val="1000" />
 		<set name="icon" val="icon.skill_transform_buff" />
 		<set name="magicLvl" val="#magicLvl" />
@@ -2789,10 +2810,15 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="SELF" />
 		<effects>
-			<effect name="ImmobileBuff">
-				<add stat="pDef" val="#pDef" />
+			<effect name="Root" />
+			<effect name="Buff">
 				<add stat="mDef" val="#mDef" />
-				<sub stat="cancelVuln" val="80" />
+			</effect>
+			<effect name="Buff">
+				<add stat="pDef" val="#pDef" />
+			</effect>
+			<effect name="Buff">
+				<mul stat="cancelVuln" val="0.2" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/src/main/resources/data/stats/skills/03600-03699.xml b/src/main/resources/data/stats/skills/03600-03699.xml
index 85d10f7512..85838a181e 100644
--- a/src/main/resources/data/stats/skills/03600-03699.xml
+++ b/src/main/resources/data/stats/skills/03600-03699.xml
@@ -695,17 +695,20 @@
 		</effects>
 	</skill>
 	<skill id="3632" levels="1" name="Clan Gate">
-		<!-- CT2.5 retail confirmed -->
+		<!-- High Five Confirmed -->
 		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="120" />
 		<set name="abnormalType" val="ABNORMAL_ITEM" />
 		<set name="abnormalVisualEffect" val="MAGIC_SQUARE" />
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="hitCancelTime" val="500" />
 		<set name="hitTime" val="10000" />
 		<set name="icon" val="icon.accessory_crown_i00" />
 		<set name="magicLvl" val="60" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="3600000" />
+		<set name="reuseDelayType" val="S" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="SELF" />
 		<cond msgId="113" addName="1">
@@ -715,7 +718,7 @@
 		</cond>
 		<effects>
 			<effect name="ClanGate" />
-			<effect name="ImmobileBuff" />
+			<effect name="Stun" />
 		</effects>
 	</skill>
 	<skill id="3633" levels="2" name="Residential Shock Immunity">
diff --git a/src/main/resources/data/stats/skills/04700-04799.xml b/src/main/resources/data/stats/skills/04700-04799.xml
index 09576cd091..e04832f81d 100644
--- a/src/main/resources/data/stats/skills/04700-04799.xml
+++ b/src/main/resources/data/stats/skills/04700-04799.xml
@@ -417,7 +417,7 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="TARGET" />
 		<effects>
-			<effect name="ImmobileBuff">
+			<effect name="Buff">
 				<mul stat="pAtkSpd" val="0.3" />
 			</effect>
 			<effect name="Buff">
diff --git a/src/main/resources/data/stats/skills/05500-05599.xml b/src/main/resources/data/stats/skills/05500-05599.xml
index 1223128005..df5339e479 100644
--- a/src/main/resources/data/stats/skills/05500-05599.xml
+++ b/src/main/resources/data/stats/skills/05500-05599.xml
@@ -101,13 +101,15 @@
 		</effects>
 	</skill>
 	<skill id="5503" levels="1" name="Ultimate Guard">
-		<!-- Confirmed CT2.5 -->
+		<!-- High Five Confirmed -->
 		<!-- Darion Skills -->
 		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="30" />
 		<set name="abnormalType" val="PD_UP_SPECIAL" />
 		<set name="abnormalVisualEffect" val="ULTIMATE_DEFENCE" />
+		<set name="affectScope" val="SINGLE" />
 		<set name="effectPoint" val="100" />
+		<set name="hitCancelTime" val="500" />
 		<set name="hitTime" val="2000" />
 		<set name="magicLvl" val="85" />
 		<set name="operateType" val="A2" />
@@ -115,12 +117,19 @@
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="SELF" />
 		<effects>
-			<effect name="ImmobileBuff">
-				<add stat="pDef" val="1800" />
-				<add stat="mDef" val="1350" />
-				<sub stat="cancelVuln" val="80" />
+			<effect name="Root" />
+			<effect name="Buff">
 				<mul stat="regHp" val="1.8" />
 			</effect>
+			<effect name="Buff">
+				<add stat="mDef" val="1350" />
+			</effect>
+			<effect name="Buff">
+				<add stat="pDef" val="1800" />
+			</effect>
+			<effect name="Buff">
+				<mul stat="cancelVuln" val="0.2" />
+			</effect>
 		</effects>
 	</skill>
 	<skill id="5504" levels="1" name="Shield Defense">
diff --git a/src/main/resources/data/xsd/skills.xsd b/src/main/resources/data/xsd/skills.xsd
index e8d039ecd0..5526fef0d8 100644
--- a/src/main/resources/data/xsd/skills.xsd
+++ b/src/main/resources/data/xsd/skills.xsd
@@ -579,7 +579,6 @@
 					<xs:enumeration value="Hp" />
 					<xs:enumeration value="HpDrain" />
 					<xs:enumeration value="HpPerMax" />
-					<xs:enumeration value="ImmobileBuff" />
 					<xs:enumeration value="InstantAgathionEnergy" />
 					<xs:enumeration value="InstantBetray" />
 					<xs:enumeration value="InstantCallTargetParty" />
-- 
GitLab