From 34f1c0189c8613b4020044c7ec6bb9f9ac4bc0bc Mon Sep 17 00:00:00 2001
From: Zoey76 <zoey_76@msn.com>
Date: Mon, 7 Sep 2020 04:58:10 -0300
Subject: [PATCH] Agathions with energy support

Added ConsumeAgathionEnergy effect.
Added InstantAgathionEnergy effect.

Added skills:
Appetite for Destruction (21104)
Enhanced Authority - CON+1 DEX+1 (21175)
Enhanced Authority - CON+1 STR+1 (21172)
Enhanced Authority - WIT+1 INT+1 (21173)
Enhanced Authority - WIT+1 MEN+1 (21174)
Enhanced Authority - CON+1 DEX+1 (21175)
Divine Protection - Divinity (21176)
Divine Protection - Water (21177)
Divine Protection - Fire (21178)
Divine Protection - Wind (21179)
Divine Protection - Earth (21180)
Divine Protection - Darkness (21181)
Blessing of Resistance - Hold (21182)
Blessing of Resistance - Paralysis (21183)
Blessing of Resistance - Sleep (21184)
Blessing of Resistance - Decrease Speed (21185)
Blessing of Resistance - Bleed (21186)
Blessing of Resistance - Stun (21187)
Recovery Ability - HP (21188)
Recovery Ability - MP (21189)
Soul's Shield (21190)
Guardian Deity's Strength (21193)
Induk's Buff (21197)
Silence of Loyalty (21198)
Jack O'Lantern Card (23092)
Rotten Jack O'Lantern Card (23093)
Jack O'Lantern Card - Confirm Skill (23094)
Rotten Jack O'Lantern Card - Confirm Skill (23095)
Halloween Defeat (23096)
First win (23097)
2nd Consecutive Win (23098)
3rd Consecutive Win (23099)
4th Consecutive Win (23100)
5th Consecutive Win (23101)
6th Consecutive Win (23102)
7th Consecutive Win (23103)
8th Consecutive Win (23104)
9th Consecutive Win (23105)
10th Consecutive Win (23106)
11th Consecutive Win (23107)
12th Consecutive Win (23108)
13th Consecutive Win (23109)
14th Consecutive Win (23110)
15th Consecutive Win (23111)
16th Consecutive Win (23112)
17th Consecutive Win (23113)
18th Consecutive Win (23114)
19th Consecutive Win (23115)
20th Consecutive Win (23116)
Jack's game - Gauge (23121)
Gwangong Agathion Special Skill - Aura of Fury (23124)

Fixed skills.xsd:
Added categoryType condition.
Added hasAgathion condition.
Added agathionEnergy condition.
Added ticks parameter.
Added energy parameter.
Added flyCourse parameter.
Added enchant8Effects effect type node.
---
 .settings/org.eclipse.jdt.core.prefs          | 107 +++-
 .../handlers/EffectMasterHandler.java         |   4 +
 .../consume/ConsumeAgathionEnergy.java        |  79 +++
 .../instant/InstantAgathionEnergy.java        |  92 +++
 .../instant/SummonAgathion.java               |  15 +-
 .../data/stats/skills/21100-21199.xml         | 529 +++++++++++++++---
 .../data/stats/skills/23000-23099.xml         |  66 ++-
 .../data/stats/skills/23100-23199.xml         | 311 +++++++---
 src/main/resources/data/xsd/skills.xsd        |   9 +
 src/main/resources/sql/items.sql              |   1 +
 ...2020-09-06_items_added_agathion_energy.sql |   3 +
 11 files changed, 1015 insertions(+), 201 deletions(-)
 create mode 100644 src/main/java/com/l2jserver/datapack/handlers/effecthandlers/consume/ConsumeAgathionEnergy.java
 create mode 100644 src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/InstantAgathionEnergy.java
 create mode 100644 src/main/resources/sql/updates/2020-09-06_items_added_agathion_energy.sql

diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
index 1d0261b644..d4739701ce 100644
--- a/.settings/org.eclipse.jdt.core.prefs
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -1,11 +1,106 @@
 eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=14
-org.eclipse.jdt.core.compiler.compliance=14
-org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.problem.APILeak=warning
+org.eclipse.jdt.core.compiler.problem.annotatedTypeArgumentToUnannotated=info
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
 org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
-org.eclipse.jdt.core.compiler.release=disabled
-org.eclipse.jdt.core.compiler.source=14
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.suppressWarningsNotFullyAnalysed=info
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
+org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
+org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
 org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
 org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
diff --git a/src/main/java/com/l2jserver/datapack/handlers/EffectMasterHandler.java b/src/main/java/com/l2jserver/datapack/handlers/EffectMasterHandler.java
index dc40ecb548..e273cb7a76 100644
--- a/src/main/java/com/l2jserver/datapack/handlers/EffectMasterHandler.java
+++ b/src/main/java/com/l2jserver/datapack/handlers/EffectMasterHandler.java
@@ -21,6 +21,7 @@ package com.l2jserver.datapack.handlers;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.l2jserver.datapack.handlers.effecthandlers.consume.ConsumeAgathionEnergy;
 import com.l2jserver.datapack.handlers.effecthandlers.consume.ConsumeChameleonRest;
 import com.l2jserver.datapack.handlers.effecthandlers.consume.ConsumeFakeDeath;
 import com.l2jserver.datapack.handlers.effecthandlers.consume.ConsumeHp;
@@ -87,6 +88,7 @@ import com.l2jserver.datapack.handlers.effecthandlers.instant.Hp;
 import com.l2jserver.datapack.handlers.effecthandlers.instant.HpByLevel;
 import com.l2jserver.datapack.handlers.effecthandlers.instant.HpDrain;
 import com.l2jserver.datapack.handlers.effecthandlers.instant.HpPerMax;
+import com.l2jserver.datapack.handlers.effecthandlers.instant.InstantAgathionEnergy;
 import com.l2jserver.datapack.handlers.effecthandlers.instant.Lethal;
 import com.l2jserver.datapack.handlers.effecthandlers.instant.MagicalAttack;
 import com.l2jserver.datapack.handlers.effecthandlers.instant.MagicalAttackByAbnormal;
@@ -217,6 +219,7 @@ public final class EffectMasterHandler {
 		ChangeHairStyle.class,
 		ClanGate.class,
 		Confuse.class,
+		ConsumeAgathionEnergy.class,
 		ConsumeBody.class,
 		ConsumeChameleonRest.class,
 		ConsumeFakeDeath.class,
@@ -266,6 +269,7 @@ public final class EffectMasterHandler {
 		HpPerMax.class,
 		ImmobileBuff.class,
 		ImmobilePetBuff.class,
+		InstantAgathionEnergy.class,
 		Lethal.class,
 		Lucky.class,
 		MagicalAttack.class,
diff --git a/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/consume/ConsumeAgathionEnergy.java b/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/consume/ConsumeAgathionEnergy.java
new file mode 100644
index 0000000000..c58bc1b835
--- /dev/null
+++ b/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/consume/ConsumeAgathionEnergy.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright © 2004-2020 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.consume;
+
+import static com.l2jserver.gameserver.model.itemcontainer.Inventory.PAPERDOLL_LBRACELET;
+
+import java.util.List;
+
+import com.l2jserver.gameserver.agathion.repository.AgathionRepository;
+import com.l2jserver.gameserver.model.StatsSet;
+import com.l2jserver.gameserver.model.conditions.Condition;
+import com.l2jserver.gameserver.model.effects.AbstractEffect;
+import com.l2jserver.gameserver.model.skills.BuffInfo;
+import com.l2jserver.gameserver.network.serverpackets.ExBR_AgathionEnergyInfo;
+
+/**
+ * Consume AgathionEnergy effect implementation.
+ * @author Zoey76
+ * @version 2.6.2.0
+ */
+public final class ConsumeAgathionEnergy extends AbstractEffect {
+	
+	private final int energy;
+	
+	public ConsumeAgathionEnergy(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) {
+		super(attachCond, applyCond, set, params);
+		energy = params.getInt("energy", 0);
+		setTicks(params.getInt("ticks"));
+	}
+	
+	@Override
+	public boolean onActionTime(BuffInfo info) {
+		if (info.getEffected().isDead()) {
+			return false;
+		}
+		
+		if (!info.getEffected().isPlayer()) {
+			return false;
+		}
+		
+		final var target = info.getEffected().getActingPlayer();
+		final var agathionInfo = AgathionRepository.getInstance().getByNpcId(target.getAgathionId());
+		if ((agathionInfo == null) || (agathionInfo.getMaxEnergy() <= 0)) {
+			return false;
+		}
+		
+		final var agathionItem = target.getInventory().getPaperdollItem(PAPERDOLL_LBRACELET);
+		if ((agathionItem == null) || (agathionInfo.getItemId() != agathionItem.getId())) {
+			return false;
+		}
+		
+		final var consumed = (int) (energy * getTicksMultiplier());
+		if ((consumed < 0) && ((agathionItem.getAgathionRemainingEnergy() + consumed) <= 0)) {
+			return false;
+		}
+		agathionItem.setAgathionRemainingEnergy(agathionItem.getAgathionRemainingEnergy() + consumed);
+		
+		// If item is agathion with energy, then send info to client.
+		info.getEffected().sendPacket(new ExBR_AgathionEnergyInfo(List.of(agathionItem)));
+		
+		return true;
+	}
+}
diff --git a/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/InstantAgathionEnergy.java b/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/InstantAgathionEnergy.java
new file mode 100644
index 0000000000..f2b247dfb9
--- /dev/null
+++ b/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/InstantAgathionEnergy.java
@@ -0,0 +1,92 @@
+/*
+ * Copyright © 2004-2020 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.instant;
+
+import static com.l2jserver.gameserver.enums.EffectCalculationType.DIFF;
+import static com.l2jserver.gameserver.model.itemcontainer.Inventory.PAPERDOLL_LBRACELET;
+
+import java.util.List;
+
+import com.l2jserver.gameserver.agathion.repository.AgathionRepository;
+import com.l2jserver.gameserver.enums.EffectCalculationType;
+import com.l2jserver.gameserver.model.StatsSet;
+import com.l2jserver.gameserver.model.conditions.Condition;
+import com.l2jserver.gameserver.model.effects.AbstractEffect;
+import com.l2jserver.gameserver.model.skills.BuffInfo;
+import com.l2jserver.gameserver.network.serverpackets.ExBR_AgathionEnergyInfo;
+
+/**
+ * Agathion Energy instant effect implementation.
+ * @author Zoey76
+ * @version 2.6.2.0
+ */
+public final class InstantAgathionEnergy extends AbstractEffect {
+	
+	private final double energy;
+	private final EffectCalculationType mode;
+	
+	public InstantAgathionEnergy(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) {
+		super(attachCond, applyCond, set, params);
+		energy = params.getDouble("energy", 0);
+		mode = params.getEnum("mode", EffectCalculationType.class, DIFF);
+	}
+	
+	@Override
+	public boolean isInstant() {
+		return true;
+	}
+	
+	@Override
+	public void onStart(BuffInfo info) {
+		if (info.getEffected().isDead()) {
+			return;
+		}
+		
+		if (!info.getEffected().isPlayer()) {
+			return;
+		}
+		
+		final var target = info.getEffected().getActingPlayer();
+		final var agathionInfo = AgathionRepository.getInstance().getByNpcId(target.getAgathionId());
+		if ((agathionInfo == null) || (agathionInfo.getMaxEnergy() <= 0)) {
+			return;
+		}
+		
+		final var agathionItem = target.getInventory().getPaperdollItem(PAPERDOLL_LBRACELET);
+		if ((agathionItem == null) || (agathionInfo.getItemId() != agathionItem.getId())) {
+			return;
+		}
+		
+		int agathionEnergy = 0;
+		switch (mode) {
+			case DIFF: {
+				agathionEnergy = (int) Math.max(0, agathionItem.getAgathionRemainingEnergy() + energy);
+				break;
+			}
+			case PER: {
+				agathionEnergy = (int) ((agathionItem.getAgathionRemainingEnergy() * energy) / 100.0);
+				break;
+			}
+		}
+		agathionItem.setAgathionRemainingEnergy(agathionEnergy);
+		
+		// If item is agathion with energy, then send info to client.
+		target.sendPacket(new ExBR_AgathionEnergyInfo(List.of(agathionItem)));
+	}
+}
diff --git a/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/SummonAgathion.java b/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/SummonAgathion.java
index 4a3bb4ad70..cdbdcda409 100644
--- a/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/SummonAgathion.java
+++ b/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/SummonAgathion.java
@@ -29,16 +29,12 @@ import com.l2jserver.gameserver.model.skills.BuffInfo;
  * @author Zoey76
  */
 public final class SummonAgathion extends AbstractEffect {
-	private final int _npcId;
+	
+	private final int npcId;
 	
 	public SummonAgathion(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) {
 		super(attachCond, applyCond, set, params);
-		
-		if (params.isEmpty()) {
-			_log.warning(getClass().getSimpleName() + ": must have parameters.");
-		}
-		
-		_npcId = params.getInt("npcId", 0);
+		npcId = params.getInt("npcId", 0);
 	}
 	
 	@Override
@@ -48,13 +44,12 @@ public final class SummonAgathion extends AbstractEffect {
 	
 	@Override
 	public void onStart(BuffInfo info) {
-		if ((info.getEffected() == null) || !info.getEffected().isPlayer()) {
+		if (!info.getEffected().isPlayer()) {
 			return;
 		}
 		
 		final L2PcInstance player = info.getEffected().getActingPlayer();
-		
-		player.setAgathionId(_npcId);
+		player.setAgathionId(npcId);
 		player.broadcastUserInfo();
 	}
 }
diff --git a/src/main/resources/data/stats/skills/21100-21199.xml b/src/main/resources/data/stats/skills/21100-21199.xml
index b6a525ac13..3c84849fa8 100644
--- a/src/main/resources/data/stats/skills/21100-21199.xml
+++ b/src/main/resources/data/stats/skills/21100-21199.xml
@@ -102,21 +102,34 @@
 			</effect>
 		</effects>
 	</skill>
-	<skill id="21104" levels="1" name="Instinct of Destruction">
-		<!-- For 30 seconds, awakens destruction instinct and increases P.Atk./Critical rate/Critical damage by 50%. -->
+	<skill id="21104" levels="1" name="Appetite for Destruction">
+		<!-- High Five Confirmed -->
 		<set name="abnormalLvl" val="26" />
 		<set name="abnormalTime" val="30" />
 		<set name="abnormalType" val="INSTINCT" />
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="hitTime" val="2500" />
 		<set name="icon" val="BranchSys.icon.br_gatekeeper_of_hat_i00" />
 		<set name="irreplaceableBuff" val="true" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="-1" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="3600000" />
+		<set name="reuseDelayLock" val="true" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="SELF" />
+		<effects>
+			<effect name="Buff">
+				<mul stat="critDmg" val="1.5" />
+			</effect>
+			<effect name="Buff">
+				<mul stat="critRate" val="1.5" />
+			</effect>
+			<effect name="Buff">
+				<mul stat="pAtk" val="1.5" />
+			</effect>
+		</effects>
 	</skill>
 	<skill id="21105" levels="1" name="Agathion Seal Cancel - Chon-chon">
 		<!-- Confirmed CT2.5 -->
@@ -1532,260 +1545,559 @@
 		</effects>
 	</skill>
 	<skill id="21172" levels="1" name="Enhanced Authority - CON+1 STR+1">
-		<!-- Enhanced authority grants CON+1 / STR+1 for 2 minutes. Consumes 240 energy. Reuse delay 3 minutes. -->
+		<!-- High Five Confirmed -->
 		<set name="abnormalLvl" val="26" />
 		<set name="abnormalTime" val="120" />
 		<set name="abnormalType" val="BR_EVENT_BUF10" />
 		<set name="abnormalVisualEffect" val="BR_SOUL_AVATAR" />
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="hitTime" val="1000" />
 		<set name="icon" val="BranchSys2.icon.br_soulavatar_stat_i00" />
 		<set name="irreplaceableBuff" val="true" />
 		<set name="magicLvl" val="-1" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="180000" />
-		<set name="rideState" val="NONE" />
 		<set name="reuseDelayLock" val="true" />
-		<set name="targetType" val="NONE" />
+		<set name="rideState" val="NONE" />
+		<set name="targetType" val="SELF" />
+		<cond msgId="113" addName="1">
+			<and>
+				<player hasAgathion="true" />
+				<player agathionEnergy="240" />
+			</and>
+		</cond>
+		<effects>
+			<effect name="InstantAgathionEnergy">
+				<param energy="-240" />
+				<param type="DIFF" />
+			</effect>
+			<effect name="Buff">
+				<add stat="STR" val="1" />
+			</effect>
+			<effect name="Buff">
+				<add stat="CON" val="1" />
+			</effect>
+		</effects>
 	</skill>
 	<skill id="21173" levels="1" name="Enhanced Authority - WIT+1 INT+1">
-		<!-- Enhanced authority grants WIT+1 / INT+1 for 2 minutes. Consumes 240 energy. Reuse delay 3 minutes. -->
+		<!-- High Five Confirmed -->
 		<set name="abnormalLvl" val="26" />
 		<set name="abnormalTime" val="120" />
 		<set name="abnormalType" val="BR_EVENT_BUF10" />
 		<set name="abnormalVisualEffect" val="BR_SOUL_AVATAR" />
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="hitTime" val="1000" />
 		<set name="icon" val="BranchSys2.icon.br_soulavatar_stat_i00" />
 		<set name="irreplaceableBuff" val="true" />
 		<set name="magicLvl" val="-1" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="180000" />
-		<set name="rideState" val="NONE" />
 		<set name="reuseDelayLock" val="true" />
-		<set name="targetType" val="NONE" />
+		<set name="rideState" val="NONE" />
+		<set name="targetType" val="SELF" />
+		<cond msgId="113" addName="1">
+			<and>
+				<player hasAgathion="true" />
+				<player agathionEnergy="240" />
+			</and>
+		</cond>
+		<effects>
+			<effect name="InstantAgathionEnergy">
+				<param energy="-240" />
+				<param type="DIFF" />
+			</effect>
+			<effect name="Buff">
+				<add stat="INT" val="1" />
+			</effect>
+			<effect name="Buff">
+				<add stat="WIT" val="1" />
+			</effect>
+		</effects>
 	</skill>
 	<skill id="21174" levels="1" name="Enhanced Authority - WIT+1 MEN+1">
-		<!-- Enhanced authority grants WIT+1 / MEN+1 for 2 minutes. Consumes 240 energy. Reuse delay 3 minutes. -->
+		<!-- High Five Confirmed -->
 		<set name="abnormalLvl" val="26" />
 		<set name="abnormalTime" val="120" />
 		<set name="abnormalType" val="BR_EVENT_BUF10" />
 		<set name="abnormalVisualEffect" val="BR_SOUL_AVATAR" />
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="hitTime" val="1000" />
 		<set name="icon" val="BranchSys2.icon.br_soulavatar_stat_i00" />
 		<set name="irreplaceableBuff" val="true" />
 		<set name="magicLvl" val="-1" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="180000" />
-		<set name="rideState" val="NONE" />
 		<set name="reuseDelayLock" val="true" />
-		<set name="targetType" val="NONE" />
+		<set name="rideState" val="NONE" />
+		<set name="targetType" val="SELF" />
+		<cond msgId="113" addName="1">
+			<and>
+				<player hasAgathion="true" />
+				<player agathionEnergy="240" />
+			</and>
+		</cond>
+		<effects>
+			<effect name="InstantAgathionEnergy">
+				<param energy="-240" />
+				<param type="DIFF" />
+			</effect>
+			<effect name="Buff">
+				<add stat="MEN" val="1" />
+			</effect>
+			<effect name="Buff">
+				<add stat="WIT" val="1" />
+			</effect>
+		</effects>
 	</skill>
 	<skill id="21175" levels="1" name="Enhanced Authority - CON+1 DEX+1">
-		<!-- Enhanced authority grants CON+1 / DEX+1 for 2 minutes. Consumes 240 energy. Reuse delay 3 minutes. -->
+		<!-- High Five Confirmed -->
 		<set name="abnormalLvl" val="26" />
 		<set name="abnormalTime" val="120" />
 		<set name="abnormalType" val="BR_EVENT_BUF10" />
 		<set name="abnormalVisualEffect" val="BR_SOUL_AVATAR" />
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="hitTime" val="1000" />
 		<set name="icon" val="BranchSys2.icon.br_soulavatar_stat_i00" />
 		<set name="irreplaceableBuff" val="true" />
 		<set name="magicLvl" val="-1" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="180000" />
-		<set name="rideState" val="NONE" />
 		<set name="reuseDelayLock" val="true" />
-		<set name="targetType" val="NONE" />
+		<set name="rideState" val="NONE" />
+		<set name="targetType" val="SELF" />
+		<cond msgId="113" addName="1">
+			<and>
+				<player hasAgathion="true" />
+				<player agathionEnergy="240" />
+			</and>
+		</cond>
+		<effects>
+			<effect name="InstantAgathionEnergy">
+				<param energy="-240" />
+				<param type="DIFF" />
+			</effect>
+			<effect name="Buff">
+				<add stat="DEX" val="1" />
+			</effect>
+			<effect name="Buff">
+				<add stat="CON" val="1" />
+			</effect>
+		</effects>
 	</skill>
 	<skill id="21176" levels="1" name="Divine Protection - Divinity">
-		<!-- Increases divinity type P. Atk. and P. Def. by 10 each. Continuously consumes energy. -->
+		<!-- High Five Confirmed -->
 		<set name="abnormalVisualEffect" val="BR_SOUL_AVATAR" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="icon" val="BranchSys2.icon.br_soulavatar_attr_i00" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="T" />
 		<set name="rideState" val="NONE" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="SELF" />
+		<cond msgId="113" addName="1">
+			<and>
+				<player hasAgathion="true" />
+				<player agathionEnergy="2" />
+			</and>
+		</cond>
+		<effects>
+			<effect name="ConsumeAgathionEnergy">
+				<param energy="-2" />
+				<param ticks="2" />
+			</effect>
+			<effect name="Buff">
+				<add stat="holyPower" val="10" />
+			</effect>
+			<effect name="Buff">
+				<add stat="holyRes" val="10" />
+			</effect>
+		</effects>
 	</skill>
 	<skill id="21177" levels="1" name="Divine Protection - Water">
-		<!-- Increases water type P. Atk. and P. Def. by 10 each. Continuously consumes energy. -->
+		<!-- High Five Confirmed -->
 		<set name="abnormalVisualEffect" val="BR_SOUL_AVATAR" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="icon" val="BranchSys2.icon.br_soulavatar_attr_i00" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="T" />
 		<set name="rideState" val="NONE" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="SELF" />
+		<cond msgId="113" addName="1">
+			<and>
+				<player hasAgathion="true" />
+				<player agathionEnergy="2" />
+			</and>
+		</cond>
+		<effects>
+			<effect name="ConsumeAgathionEnergy">
+				<param energy="-2" />
+				<param ticks="2" />
+			</effect>
+			<effect name="Buff">
+				<add stat="waterPower" val="10" />
+			</effect>
+			<effect name="Buff">
+				<add stat="waterRes" val="10" />
+			</effect>
+		</effects>
 	</skill>
 	<skill id="21178" levels="1" name="Divine Protection - Fire">
-		<!-- Increases fire type P. Atk. and P. Def. by 10 each. Continuously consumes energy. -->
+		<!-- High Five Confirmed -->
 		<set name="abnormalVisualEffect" val="BR_SOUL_AVATAR" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="icon" val="BranchSys2.icon.br_soulavatar_attr_i00" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="T" />
 		<set name="rideState" val="NONE" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="SELF" />
+		<cond msgId="113" addName="1">
+			<and>
+				<player hasAgathion="true" />
+				<player agathionEnergy="2" />
+			</and>
+		</cond>
+		<effects>
+			<effect name="ConsumeAgathionEnergy">
+				<param energy="-2" />
+				<param ticks="2" />
+			</effect>
+			<effect name="Buff">
+				<add stat="firePower" val="10" />
+			</effect>
+			<effect name="Buff">
+				<add stat="fireRes" val="10" />
+			</effect>
+		</effects>
 	</skill>
 	<skill id="21179" levels="1" name="Divine Protection - Wind">
-		<!-- Increases wind type P. Atk. and P. Def. by 10 each. Continuously consumes energy. -->
+		<!-- High Five Confirmed -->
 		<set name="abnormalVisualEffect" val="BR_SOUL_AVATAR" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="icon" val="BranchSys2.icon.br_soulavatar_attr_i00" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="T" />
 		<set name="rideState" val="NONE" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="SELF" />
+		<cond msgId="113" addName="1">
+			<and>
+				<player hasAgathion="true" />
+				<player agathionEnergy="2" />
+			</and>
+		</cond>
+		<effects>
+			<effect name="ConsumeAgathionEnergy">
+				<param energy="-2" />
+				<param ticks="2" />
+			</effect>
+			<effect name="Buff">
+				<add stat="windPower" val="10" />
+			</effect>
+			<effect name="Buff">
+				<add stat="windRes" val="10" />
+			</effect>
+		</effects>
 	</skill>
 	<skill id="21180" levels="1" name="Divine Protection - Earth">
-		<!-- Increases earth type P. Atk. and P. Def. by 10 each. Continuously consumes energy. -->
+		<!-- High Five Confirmed -->
 		<set name="abnormalVisualEffect" val="BR_SOUL_AVATAR" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="icon" val="BranchSys2.icon.br_soulavatar_attr_i00" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="T" />
 		<set name="rideState" val="NONE" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="SELF" />
+		<cond msgId="113" addName="1">
+			<and>
+				<player hasAgathion="true" />
+				<player agathionEnergy="2" />
+			</and>
+		</cond>
+		<effects>
+			<effect name="ConsumeAgathionEnergy">
+				<param energy="-2" />
+				<param ticks="2" />
+			</effect>
+			<effect name="Buff">
+				<add stat="earthPower" val="10" />
+			</effect>
+			<effect name="Buff">
+				<add stat="earthRes" val="10" />
+			</effect>
+		</effects>
 	</skill>
 	<skill id="21181" levels="1" name="Divine Protection - Darkness">
-		<!-- Increases darkness type P. Atk. and P. Def. by 10 each. Continuously consumes energy. -->
+		<!-- High Five Confirmed -->
 		<set name="abnormalVisualEffect" val="BR_SOUL_AVATAR" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="icon" val="BranchSys2.icon.br_soulavatar_attr_i00" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="T" />
 		<set name="rideState" val="NONE" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="SELF" />
+		<cond msgId="113" addName="1">
+			<and>
+				<player hasAgathion="true" />
+				<player agathionEnergy="2" />
+			</and>
+		</cond>
+		<effects>
+			<effect name="ConsumeAgathionEnergy">
+				<param energy="-2" />
+				<param ticks="2" />
+			</effect>
+			<effect name="Buff">
+				<add stat="darkPower" val="10" />
+			</effect>
+			<effect name="Buff">
+				<add stat="darkRes" val="10" />
+			</effect>
+		</effects>
 	</skill>
 	<skill id="21182" levels="1" name="Blessing of Resistance - Hold">
-		<!-- TODO: Implement me! -->
-		<!-- Raises resistance to hold by 40%. Continuously consumes energy. -->
+		<!-- High Five Confirmed -->
 		<set name="abnormalVisualEffect" val="BR_SOUL_AVATAR" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="icon" val="BranchSys2.icon.br_soulavatar_resist_i00" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="T" />
 		<set name="rideState" val="NONE" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="SELF" />
+		<cond msgId="113" addName="1">
+			<and>
+				<player hasAgathion="true" />
+				<player agathionEnergy="2" />
+			</and>
+		</cond>
 		<effects>
+			<effect name="ConsumeAgathionEnergy">
+				<param energy="-2" />
+				<param ticks="2" />
+			</effect>
 			<effect name="DefenceTrait">
 				<param HOLD="40" />
 			</effect>
 		</effects>
 	</skill>
 	<skill id="21183" levels="1" name="Blessing of Resistance - Paralysis">
-		<!-- TODO: Implement me! -->
-		<!-- Raises resistance to paralysis by 40%. Continuously consumes energy. -->
+		<!-- High Five Confirmed -->
 		<set name="abnormalVisualEffect" val="BR_SOUL_AVATAR" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="icon" val="BranchSys2.icon.br_soulavatar_resist_i00" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="T" />
 		<set name="rideState" val="NONE" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="SELF" />
+		<cond msgId="113" addName="1">
+			<and>
+				<player hasAgathion="true" />
+				<player agathionEnergy="2" />
+			</and>
+		</cond>
 		<effects>
+			<effect name="ConsumeAgathionEnergy">
+				<param energy="-2" />
+				<param ticks="2" />
+			</effect>
 			<effect name="DefenceTrait">
 				<param PARALYZE="40" />
 			</effect>
 		</effects>
 	</skill>
 	<skill id="21184" levels="1" name="Blessing of Resistance - Sleep">
-		<!-- TODO: Implement me! -->
-		<!-- Raises resistance to sleep by 40%. Continuously consumes energy. -->
+		<!-- High Five Confirmed -->
 		<set name="abnormalVisualEffect" val="BR_SOUL_AVATAR" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="icon" val="BranchSys2.icon.br_soulavatar_resist_i00" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="T" />
 		<set name="rideState" val="NONE" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="SELF" />
+		<cond msgId="113" addName="1">
+			<and>
+				<player hasAgathion="true" />
+				<player agathionEnergy="2" />
+			</and>
+		</cond>
 		<effects>
+			<effect name="ConsumeAgathionEnergy">
+				<param energy="-2" />
+				<param ticks="2" />
+			</effect>
 			<effect name="DefenceTrait">
 				<param SLEEP="40" />
 			</effect>
 		</effects>
 	</skill>
-	<skill id="21185" levels="1" name="Blessing of Resistance - Movement Speed Decrease">
-		<!-- Raises resistance to decreased moving speed by 40%. Continuously consumes energy. -->
+	<skill id="21185" levels="1" name="Blessing of Resistance - Decrease Speed">
+		<!-- High Five Confirmed -->
 		<set name="abnormalVisualEffect" val="BR_SOUL_AVATAR" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="icon" val="BranchSys2.icon.br_soulavatar_resist_i00" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="T" />
 		<set name="rideState" val="NONE" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="SELF" />
+		<cond msgId="113" addName="1">
+			<and>
+				<player hasAgathion="true" />
+				<player agathionEnergy="2" />
+			</and>
+		</cond>
+		<effects>
+			<effect name="ConsumeAgathionEnergy">
+				<param energy="-2" />
+				<param ticks="2" />
+			</effect>
+			<effect name="Buff">
+				<mul stat="debuffVuln" val="0.6" />
+			</effect>
+		</effects>
 	</skill>
 	<skill id="21186" levels="1" name="Blessing of Resistance - Bleed">
-		<!-- TODO: Implement me! -->
-		<!-- Raises resistance to bleed by 40%. Continuously consumes energy. -->
+		<!-- High Five Confirmed -->
 		<set name="abnormalVisualEffect" val="BR_SOUL_AVATAR" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="icon" val="BranchSys2.icon.br_soulavatar_resist_i00" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="T" />
 		<set name="rideState" val="NONE" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="SELF" />
+		<cond msgId="113" addName="1">
+			<and>
+				<player hasAgathion="true" />
+				<player agathionEnergy="2" />
+			</and>
+		</cond>
 		<effects>
+			<effect name="ConsumeAgathionEnergy">
+				<param energy="-2" />
+				<param ticks="2" />
+			</effect>
 			<effect name="DefenceTrait">
 				<param BLEED="40" />
 			</effect>
 		</effects>
 	</skill>
 	<skill id="21187" levels="1" name="Blessing of Resistance - Stun">
-		<!-- TODO: Implement me! -->
-		<!-- Raises resistance to stun by 40%. Continuously consumes energy. -->
+		<!-- High Five Confirmed -->
 		<set name="abnormalVisualEffect" val="BR_SOUL_AVATAR" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="icon" val="BranchSys2.icon.br_soulavatar_resist_i00" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="T" />
 		<set name="rideState" val="NONE" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="SELF" />
+		<cond msgId="113" addName="1">
+			<and>
+				<player hasAgathion="true" />
+				<player agathionEnergy="2" />
+			</and>
+		</cond>
 		<effects>
+			<effect name="ConsumeAgathionEnergy">
+				<param energy="-2" />
+				<param ticks="2" />
+			</effect>
 			<effect name="DefenceTrait">
 				<param SHOCK="40" />
 			</effect>
 		</effects>
 	</skill>
-	<skill id="21188" levels="1" name="Recovery Power - HP">
-		<!-- Increases HP recovery bonus by 20%. Continuously consumes energy. -->
+	<skill id="21188" levels="1" name="Recovery Ability - HP">
+		<!-- High Five Confirmed -->
 		<set name="abnormalVisualEffect" val="BR_SOUL_AVATAR" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="icon" val="BranchSys2.icon.br_soulavatar_regen_i00" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="T" />
 		<set name="rideState" val="NONE" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="SELF" />
+		<cond msgId="113" addName="1">
+			<and>
+				<player hasAgathion="true" />
+				<player agathionEnergy="2" />
+			</and>
+		</cond>
+		<effects>
+			<effect name="ConsumeAgathionEnergy">
+				<param energy="-2" />
+				<param ticks="2" />
+			</effect>
+			<effect name="Buff">
+				<mul stat="regHp" val="1.2" />
+			</effect>
+		</effects>
 	</skill>
-	<skill id="21189" levels="1" name="Recovery Power - MP">
-		<!-- Increases MP recovery bonus by 20%. Continuously consumes energy. -->
+	<skill id="21189" levels="1" name="Recovery Ability - MP">
+		<!-- High Five Confirmed -->
 		<set name="abnormalVisualEffect" val="BR_SOUL_AVATAR" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="icon" val="BranchSys2.icon.br_soulavatar_regen_i00" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="T" />
 		<set name="rideState" val="NONE" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="SELF" />
+		<cond msgId="113" addName="1">
+			<and>
+				<player hasAgathion="true" />
+				<player agathionEnergy="2" />
+			</and>
+		</cond>
+		<effects>
+			<effect name="ConsumeAgathionEnergy">
+				<param energy="-2" />
+				<param ticks="2" />
+			</effect>
+			<effect name="Buff">
+				<mul stat="regMp" val="1.2" />
+			</effect>
+		</effects>
 	</skill>
-	<skill id="21190" levels="1" name="Soul Shield">
-		<!-- Physical/Magic P. Def is increased by 60% for 10 seconds. Consumed 500 energy. Cooldown takes 20 minutes. -->
+	<skill id="21190" levels="1" name="Soul's Shield">
+		<!-- High Five Confirmed -->
 		<set name="abnormalLvl" val="26" />
 		<set name="abnormalTime" val="10" />
 		<set name="abnormalType" val="PD_UP_SPECIAL" />
 		<set name="abnormalVisualEffect" val="ULTIMATE_DEFENCE" />
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="hitTime" val="1000" />
 		<set name="icon" val="BranchSys2.icon.br_soulavatar_active_i00" />
 		<set name="irreplaceableBuff" val="true" />
 		<set name="magicLvl" val="-1" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="1200000" />
-		<set name="rideState" val="NONE" />
 		<set name="reuseDelayLock" val="true" />
-		<set name="targetType" val="NONE" />
+		<set name="rideState" val="NONE" />
+		<set name="targetType" val="SELF" />
+		<cond msgId="113" addName="1">
+			<and>
+				<player hasAgathion="true" />
+				<player agathionEnergy="500" />
+			</and>
+		</cond>
+		<effects>
+			<effect name="InstantAgathionEnergy">
+				<param energy="-500" />
+				<param type="DIFF" />
+			</effect>
+			<effect name="Buff">
+				<mul stat="mDef" val="1.6" />
+			</effect>
+			<effect name="Buff">
+				<mul stat="pDef" val="1.6" />
+			</effect>
+		</effects>
 	</skill>
-	<skill id="21191" levels="1" name="Agathion Seal Cancel - Phoenix">
-		<!-- Confirmed CT2.5 -->
+	<skill id="21191" levels="1" name="Release Seal on Agathion - Phoenix">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.etc_summon_aga_agit_i00" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="85" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
@@ -1797,48 +2109,59 @@
 		</effects>
 	</skill>
 	<skill id="21192" levels="1" name="Silent Move">
+		<!-- High Five Confirmed -->
 		<set name="abnormalLvl" val="26" />
 		<set name="abnormalTime" val="120" />
 		<set name="abnormalType" val="STEALTH" />
 		<set name="abnormalVisualEffect" val="STEALTH" />
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="hitTime" val="2000" />
 		<set name="icon" val="BranchSys2.icon.br_fox_japan_cap_i00" />
 		<set name="irreplaceableBuff" val="true" />
-		<set name="isMagic" val="1" /> <!-- Magic Skill -->
+		<set name="isMagic" val="1" />
 		<set name="magicLvl" val="-1" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="14400000" />
-		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="reuseDelayLock" val="true" />
+		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="SELF" />
 		<effects>
-			<effect name="SilentMove">
+			<effect name="SilentMove" />
+			<effect name="Buff">
 				<mul stat="runSpd" val="0.6" />
 			</effect>
 		</effects>
 	</skill>
-	<skill id="21193" levels="1" name="Power of Guardian Deity">
-		<!-- Increases Critical attack power by 35% for 10 minutes. Cooldown takes 1 hour. -->
+	<skill id="21193" levels="1" name="Guardian Deity's Strength">
+		<!-- High Five Confirmed -->
 		<set name="abnormalLvl" val="26" />
 		<set name="abnormalTime" val="600" />
 		<set name="abnormalType" val="CRITICAL_DMG_UP" />
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="hitTime" val="4000" />
 		<set name="icon" val="BranchSys2.icon.br_paiwan_cap_i00" />
 		<set name="irreplaceableBuff" val="true" />
-		<set name="isMagic" val="1" /> <!-- Magic Skill -->
+		<set name="isMagic" val="1" />
 		<set name="magicLvl" val="-1" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="3600000" />
-		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="reuseDelayLock" val="true" />
-		<set name="targetType" val="NONE" />
+		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
+		<set name="targetType" val="SELF" />
+		<effects>
+			<effect name="Buff">
+				<mul stat="critDmg" val="1.35" />
+			</effect>
+		</effects>
 	</skill>
-	<skill id="21194" levels="1" name="Agathion Seal Cancel - Three-headed Dragon">
-		<!-- Confirmed CT2.5 -->
+	<skill id="21194" levels="1" name="Release Seal on Agathion - Three Heads">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.etc_summon_aga_agit_i00" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="85" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
@@ -1850,19 +2173,21 @@
 		</effects>
 	</skill>
 	<skill id="21195" levels="1" name="Blessed Child Transformation Skill - Trejuo">
-		<!-- Confirmed CT2.5 -->
+		<!-- High Five Confirmed -->
 		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="3600" />
 		<set name="abnormalType" val="TRANSFORM" />
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="effectPoint" val="1" />
 		<set name="hitTime" val="500" />
 		<set name="icon" val="icon.skilltransform3" />
 		<set name="irreplaceableBuff" val="true" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="-1" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="14400000" />
+		<set name="reuseDelayLock" val="true" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="SELF" />
 		<cond>
@@ -1871,24 +2196,28 @@
 		<effects>
 			<effect name="Transformation">
 				<param id="20002" />
+			</effect>
+			<effect name="Buff">
 				<sub stat="vitalityConsumeRate" val="1" />
 			</effect>
 		</effects>
 	</skill>
 	<skill id="21196" levels="1" name="Blessed Child Transformation Skill - Sujin">
-		<!-- Confirmed CT2.5 -->
+		<!-- High Five Confirmed -->
 		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="3600" />
 		<set name="abnormalType" val="TRANSFORM" />
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="effectPoint" val="1" />
 		<set name="hitTime" val="500" />
 		<set name="icon" val="icon.skilltransform3" />
 		<set name="irreplaceableBuff" val="true" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="-1" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="14400000" />
+		<set name="reuseDelayLock" val="true" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="SELF" />
 		<cond>
@@ -1897,59 +2226,89 @@
 		<effects>
 			<effect name="Transformation">
 				<param id="20003" />
+			</effect>
+			<effect name="Buff">
 				<sub stat="vitalityConsumeRate" val="1" />
 			</effect>
 		</effects>
 	</skill>
-	<skill id="21197" levels="1" name="Buff of Virtue">
-		<!-- Recovers all HP, MP, and CP with the power of virtue. Reuse delay 30 minutes. It can only be used when HP, MP, and CP are all below 30%. When you use the skill, 1 Proof of a Warrior is consumed. -->
+	<skill id="21197" levels="1" name="Induk's Buff">
+		<!-- Restores all HP, MP, and CP using the strength of Induk. Reuse delay 30 minutes. Can only be used when HP, MP, and CP are all below 30%. Consumes 1 Proof of a Warrior upon skill use. -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="hitTime" val="500" />
 		<set name="icon" val="BranchSys2.icon.br_pekingopera_mask_a_i00" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="itemConsumeCount" val="1" />
 		<set name="itemConsumeId" val="20976" /> <!-- Proof of a Warrior -->
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="1800000" />
+		<set name="reuseDelayLock" val="true" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="SELF" />
 	</skill>
-	<skill id="21198" levels="1" name="Silence of Fidelity">
-		<!-- Through the power of loyalty, raises party members' physical P. Def., M. Def. by 30%, physical P. Atk. by 20%, M. Atk. by 45%, and moving speed by 30 for 5 minutes. Reuse delay 30 minutes. Consumes 1 Proof of a Warrior upon skill use. -->
+	<skill id="21198" levels="1" name="Silence of Loyalty">
+		<!-- High Five Confirmed -->
 		<set name="abnormalLvl" val="26" />
 		<set name="abnormalTime" val="300" />
 		<set name="abnormalType" val="MULTI_BUFF" />
 		<set name="activateRate" val="0" />
+		<set name="affectRange" val="1000" />
+		<set name="affectScope" val="PARTY" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="600" />
 		<set name="effectPoint" val="486" />
+		<set name="effectRange" val="600" />
+		<set name="hitTime" val="3000" />
 		<set name="icon" val="BranchSys2.icon.br_pekingopera_mask_b_i00" />
 		<set name="irreplaceableBuff" val="true" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="itemConsumeCount" val="1" />
 		<set name="itemConsumeId" val="20976" /> <!-- Proof of a Warrior -->
 		<set name="magicLvl" val="-1" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="1800000" />
+		<set name="reuseDelayLock" val="true" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="PARTY" />
 		<set name="trait" val="ETC" />
+		<effects>
+			<effect name="Buff">
+				<mul stat="mAtk" val="1.45" />
+			</effect>
+			<effect name="Buff">
+				<mul stat="mDef" val="1.3" />
+			</effect>
+			<effect name="Buff">
+				<mul stat="pAtk" val="1.2" />
+			</effect>
+			<effect name="Buff">
+				<mul stat="pDef" val="1.3" />
+			</effect>
+			<effect name="Buff">
+				<add stat="runSpd" val="30.0" />
+			</effect>
+		</effects>
 	</skill>
-	<skill id="21199" levels="1" name="Vitality of Courage">
-		<!-- Confirmed CT2.5 -->
+	<skill id="21199" levels="1" name="Vitality of Excellence">
+		<!-- High Five Confirmed -->
 		<set name="abnormalLvl" val="26" />
 		<set name="abnormalTime" val="300" />
 		<set name="abnormalType" val="VP_KEEP" />
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="effectPoint" val="1" />
 		<set name="hitTime" val="500" />
 		<set name="icon" val="BranchSys2.icon.br_pekingopera_mask_c_i00" />
 		<set name="irreplaceableBuff" val="true" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="itemConsumeCount" val="1" />
 		<set name="itemConsumeId" val="20976" /> <!-- Proof of a Warrior -->
 		<set name="magicLvl" val="-1" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="1800000" />
+		<set name="reuseDelayLock" val="true" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="SELF" />
 		<effects>
diff --git a/src/main/resources/data/stats/skills/23000-23099.xml b/src/main/resources/data/stats/skills/23000-23099.xml
index 373f1f834d..91c7ffd5c4 100644
--- a/src/main/resources/data/stats/skills/23000-23099.xml
+++ b/src/main/resources/data/stats/skills/23000-23099.xml
@@ -1789,79 +1789,109 @@
 		<set name="trait" val="ETC" />
 	</skill>
 	<skill id="23092" levels="1" name="Jack O'Lantern Card">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="coolTime" val="500" />
+		<set name="hitTime" val="2000" />
 		<set name="icon" val="BranchSys.icon.br_jack_ghost_i00" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="SELF" />
 	</skill>
 	<skill id="23093" levels="1" name="Rotten Jack O'Lantern Card">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="coolTime" val="500" />
+		<set name="hitTime" val="2000" />
 		<set name="icon" val="BranchSys.icon.br_rotten_jack_ghost_i00" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="SELF" />
 	</skill>
 	<skill id="23094" levels="1" name="Jack O'Lantern Card - Confirm Skill">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="500" />
 		<set name="effectPoint" val="-1" />
+		<set name="effectRange" val="500" />
 		<set name="icon" val="BranchSys.icon.br_jack_ghost_i00" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ONE" />
 	</skill>
 	<skill id="23095" levels="1" name="Rotten Jack O'Lantern Card - Confirm Skill">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="500" />
 		<set name="effectPoint" val="-1" />
+		<set name="effectRange" val="500" />
 		<set name="icon" val="BranchSys.icon.br_rotten_jack_ghost_i00" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ONE" />
 	</skill>
 	<skill id="23096" levels="1" name="Halloween Defeat">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="500" />
 		<set name="effectPoint" val="-1" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="effectRange" val="500" />
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ONE" />
 	</skill>
-	<skill id="23097" levels="1" name="First Consecutive Win">
+	<skill id="23097" levels="1" name="First win">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="500" />
 		<set name="effectPoint" val="-1" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="effectRange" val="550" />
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ONE" />
 	</skill>
 	<skill id="23098" levels="1" name="2nd Consecutive Win">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="500" />
 		<set name="effectPoint" val="-1" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="effectRange" val="550" />
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ONE" />
 	</skill>
-	<skill id="23099" levels="1" name="Third Consecutive Win">
+	<skill id="23099" levels="1" name="3rd Consecutive Win">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="500" />
 		<set name="effectPoint" val="-1" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="effectRange" val="550" />
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ONE" />
 	</skill>
 </list>
diff --git a/src/main/resources/data/stats/skills/23100-23199.xml b/src/main/resources/data/stats/skills/23100-23199.xml
index 2b2ba573a3..833317da01 100644
--- a/src/main/resources/data/stats/skills/23100-23199.xml
+++ b/src/main/resources/data/stats/skills/23100-23199.xml
@@ -1,162 +1,232 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/skills.xsd">
-	<skill id="23100" levels="1" name="Fourth Consecutive Win">
+	<skill id="23100" levels="1" name="4th Consecutive Win">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="500" />
 		<set name="effectPoint" val="-1" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="effectRange" val="550" />
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ONE" />
 	</skill>
 	<skill id="23101" levels="1" name="5th Consecutive Win">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="500" />
 		<set name="effectPoint" val="-1" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="effectRange" val="550" />
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ONE" />
 	</skill>
 	<skill id="23102" levels="1" name="6th Consecutive Win">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="500" />
 		<set name="effectPoint" val="-1" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="effectRange" val="550" />
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ONE" />
 	</skill>
 	<skill id="23103" levels="1" name="7th Consecutive Win">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="500" />
 		<set name="effectPoint" val="-1" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="effectRange" val="550" />
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ONE" />
 	</skill>
 	<skill id="23104" levels="1" name="8th Consecutive Win">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="500" />
 		<set name="effectPoint" val="-1" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="effectRange" val="550" />
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ONE" />
 	</skill>
 	<skill id="23105" levels="1" name="9th Consecutive Win">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="500" />
 		<set name="effectPoint" val="-1" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="effectRange" val="550" />
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ONE" />
 	</skill>
 	<skill id="23106" levels="1" name="10th Consecutive Win">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="500" />
 		<set name="effectPoint" val="-1" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="effectRange" val="550" />
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ONE" />
 	</skill>
 	<skill id="23107" levels="1" name="11th Consecutive Win">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="500" />
 		<set name="effectPoint" val="-1" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="effectRange" val="550" />
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ONE" />
 	</skill>
 	<skill id="23108" levels="1" name="12th Consecutive Win">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="500" />
 		<set name="effectPoint" val="-1" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="effectRange" val="550" />
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ONE" />
 	</skill>
 	<skill id="23109" levels="1" name="13th Consecutive Win">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="500" />
 		<set name="effectPoint" val="-1" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="effectRange" val="550" />
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ONE" />
 	</skill>
 	<skill id="23110" levels="1" name="14th Consecutive Win">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="500" />
 		<set name="effectPoint" val="-1" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="effectRange" val="550" />
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ONE" />
 	</skill>
 	<skill id="23111" levels="1" name="15th Consecutive Win">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="500" />
 		<set name="effectPoint" val="-1" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="effectRange" val="550" />
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ONE" />
 	</skill>
 	<skill id="23112" levels="1" name="16th Consecutive Win">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="500" />
 		<set name="effectPoint" val="-1" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="effectRange" val="550" />
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ONE" />
 	</skill>
 	<skill id="23113" levels="1" name="17th Consecutive Win">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="500" />
 		<set name="effectPoint" val="-1" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="effectRange" val="550" />
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ONE" />
 	</skill>
 	<skill id="23114" levels="1" name="18th Consecutive Win">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="500" />
 		<set name="effectPoint" val="-1" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="effectRange" val="550" />
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ONE" />
 	</skill>
 	<skill id="23115" levels="1" name="19th Consecutive Win">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="500" />
 		<set name="effectPoint" val="-1" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="effectRange" val="550" />
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ONE" />
 	</skill>
 	<skill id="23116" levels="1" name="20th Consecutive Win">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="500" />
 		<set name="effectPoint" val="-1" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="effectRange" val="550" />
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ONE" />
 	</skill>
-	<skill id="23117" levels="1" name="Zombie Agathion Cute Trick">
+	<skill id="23117" levels="1" name="Frozen Corpse Agathion Cute Trick">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.skill_agathion_cute" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="85" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
@@ -165,27 +235,32 @@
 			<player agathionId="1535" />
 		</cond>
 	</skill>
-	<skill id="23118" levels="1" name="Zombie Agathion Special Skill - Escape from Death">
+	<skill id="23118" levels="1" name="Frozen Corpse Agathion Special Skill - Narrow Escape">
+		<!-- High Five Confirmed -->
 		<set name="abnormalLvl" val="26" />
 		<set name="abnormalTime" val="300" />
 		<set name="abnormalType" val="MULTI_BUFF" />
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="hitTime" val="4000" />
 		<set name="icon" val="icon.skill_agathion_special" />
 		<set name="irreplaceableBuff" val="true" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="-1" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="3600000" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="SELF" />
 		<cond msgId="2292">
 			<player agathionId="1535" />
 		</cond>
 	</skill>
-	<skill id="23119" levels="1" name="Baekyi Hwamae Agathion Cute Trick">
+	<skill id="23119" levels="1" name="Bluebird Agathion Cute Trick">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.skill_agathion_cute" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="85" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
@@ -194,10 +269,12 @@
 			<player agathionId="1536" />
 		</cond>
 	</skill>
-	<skill id="23120" levels="1" name="Kwanwoo Hwamae Agathion Cute Trick">
+	<skill id="23120" levels="1" name="Hatbird Agathion Cute Trick">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.skill_agathion_cute" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="85" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
@@ -206,29 +283,39 @@
 			<player agathionId="1537" />
 		</cond>
 	</skill>
-	<skill id="23121" levels="1" name="Jack Game - Gauge">
+	<skill id="23121" levels="1" name="Jack's game - Gauge">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="500" />
 		<set name="effectPoint" val="-1" />
+		<set name="effectRange" val="500" />
 		<set name="icon" val="BranchSys.icon.br_jack_ghost_i00" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ONE" />
 	</skill>
 	<skill id="23122" levels="1" name="Jack Game - Target">
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="600" />
 		<set name="effectPoint" val="-1" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="effectRange" val="600" />
+		<set name="hitTime" val="500" />
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="85" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="NONE" />
 	</skill>
 	<skill id="23123" levels="1" name="Gwangong Agathion Cute Trick">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.skill_agathion_cute" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="85" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
@@ -238,30 +325,41 @@
 		</cond>
 	</skill>
 	<skill id="23124" levels="1" name="Gwangong Agathion Special Skill - Aura of Fury">
-		<!-- Stimulates the enemy's attack by 6983 Power. Cooldown of 1 minute. -->
+		<!-- High Five Confirmed -->
 		<set name="abnormalLvl" val="26" />
 		<set name="abnormalTime" val="30" />
 		<set name="abnormalType" val="TARGET_LOCK" />
 		<set name="activateRate" val="0" />
+		<set name="affectScope" val="SINGLE" />
+		<set name="castRange" val="800" />
 		<set name="coolTime" val="200" />
 		<set name="effectPoint" val="-1" />
+		<set name="effectRange" val="1300" />
+		<set name="hitTime" val="700" />
 		<set name="icon" val="icon.skill_agathion_special" />
 		<set name="irreplaceableBuff" val="true" />
 		<set name="isDebuff" val="true" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="-1" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="60000" />
+		<set name="reuseDelayLock" val="true" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ENEMY_ONLY" />
 		<cond msgId="2292">
 			<player agathionId="1551" />
 		</cond>
+		<effects>
+			<effect name="GetAgro" />
+			<effect name="TargetMe" />
+		</effects>
 	</skill>
 	<skill id="23125" levels="1" name="Gwanseum Nyang Nyang Agathion Cute Trick">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.skill_agathion_cute" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="85" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
@@ -271,8 +369,11 @@
 		</cond>
 	</skill>
 	<skill id="23126" levels="1" name="Gwanseum Nyang Nyang Agathion Special Skill - Blessing of Mercy">
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
-		<set name="isMagic" val="1" /> <!-- Magic Skill -->
+		<set name="castRange" val="600" />
+		<set name="effectRange" val="1100" />
+		<set name="isMagic" val="1" />
 		<set name="magicLvl" val="85" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
@@ -282,9 +383,11 @@
 		</cond>
 	</skill>
 	<skill id="23127" levels="1" name="Blue Opera Agathion Cute Trick">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.skill_agathion_cute" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="85" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
@@ -294,9 +397,12 @@
 		</cond>
 	</skill>
 	<skill id="23128" levels="1" name="Blue Opera Agathion Special Skill - Sword of Recovery">
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
+		<set name="castRange" val="600" />
 		<set name="effectPoint" val="1" />
-		<set name="isMagic" val="1" /> <!-- Magic Skill -->
+		<set name="effectRange" val="1100" />
+		<set name="isMagic" val="1" />
 		<set name="magicLvl" val="85" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
@@ -306,6 +412,7 @@
 		</cond>
 	</skill>
 	<skill id="23129" levels="1" name="Blue Opera Agathion Special Skill - Sword of Water">
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="effectPoint" val="-1" />
 		<set name="magicLvl" val="85" />
@@ -317,9 +424,11 @@
 		</cond>
 	</skill>
 	<skill id="23130" levels="1" name="Red Opera Agathion Cute Trick">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.skill_agathion_cute" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="85" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
@@ -329,6 +438,7 @@
 		</cond>
 	</skill>
 	<skill id="23131" levels="1" name="Red Opera Agathion Special Skill - Spear of Flames">
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="effectPoint" val="-1" />
 		<set name="magicLvl" val="85" />
@@ -340,9 +450,11 @@
 		</cond>
 	</skill>
 	<skill id="23132" levels="1" name="Opera Agathion Cute Trick">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.skill_agathion_cute" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="85" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
@@ -352,9 +464,11 @@
 		</cond>
 	</skill>
 	<skill id="23133" levels="1" name="Miss Chipao Agathion Cute Trick">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.skill_agathion_cute" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="85" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
@@ -364,16 +478,17 @@
 		</cond>
 	</skill>
 	<skill id="23134" levels="1" name="Miss Chipao Agathion Special Skill - Decrease Weight">
-		<!-- For 1 hour, increases the weight penalty interval by 9000. Reuse delay is 4 hours. -->
+		<!-- High Five Confirmed -->
 		<set name="abnormalLvl" val="26" />
 		<set name="abnormalTime" val="3600" />
 		<set name="abnormalType" val="DECREASE_WEIGHT_PENALTY" />
 		<set name="activateRate" val="0" />
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
-		<set name="hitTime" val="3000" />
+		<set name="hitTime" val="4000" />
 		<set name="icon" val="icon.skill_agathion_special" />
 		<set name="irreplaceableBuff" val="true" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="-1" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="14400000" />
@@ -389,9 +504,11 @@
 		</effects>
 	</skill>
 	<skill id="23135" levels="1" name="Nepal Snow Agathion Cute Trick">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.skill_agathion_cute" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="85" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
@@ -401,19 +518,21 @@
 		</cond>
 	</skill>
 	<skill id="23136" levels="1" name="Nepal Snow Agathion Special Skill - Snow's Haste">
-		<!-- Increases Atk. Spd. by 33% for 20 minutes. Reuse delay is 1 hour. -->
+		<!-- High Five Confirmed -->
 		<set name="abnormalLvl" val="26" />
 		<set name="abnormalTime" val="1200" />
 		<set name="abnormalType" val="ATTACK_TIME_DOWN" />
 		<set name="activateRate" val="0" />
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.skill_agathion_special" />
 		<set name="irreplaceableBuff" val="true" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="-1" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="3600000" />
+		<set name="reuseDelayLock" val="true" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="SELF" />
 		<cond msgId="2292">
@@ -426,9 +545,11 @@
 		</effects>
 	</skill>
 	<skill id="23137" levels="1" name="Round Ball Snow Agathion Cute Trick">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.skill_agathion_cute" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="85" />
 		<set name="operateType" val="A1" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
@@ -438,19 +559,21 @@
 		</cond>
 	</skill>
 	<skill id="23138" levels="1" name="Round Ball Snow Agathion Special Skill - Snow's Acumen">
-		<!-- Increases Casting Spd. by 30% for 20 minutes. Reuse delay is 1 hour. -->
+		<!-- High Five Confirmed -->
 		<set name="abnormalLvl" val="26" />
 		<set name="abnormalTime" val="1200" />
 		<set name="abnormalType" val="CASTING_TIME_DOWN" />
 		<set name="activateRate" val="0" />
+		<set name="affectScope" val="SINGLE" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.skill_agathion_special" />
 		<set name="irreplaceableBuff" val="true" />
-		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="isMagic" val="2" />
 		<set name="magicLvl" val="-1" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="3600000" />
+		<set name="reuseDelayLock" val="true" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="SELF" />
 		<cond msgId="2292">
@@ -501,6 +624,8 @@
 		</effects>
 	</skill>
 	<skill id="23141" levels="1" name="Iken Agathion Cute Trick">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.skill_agathion_cute" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
@@ -509,10 +634,12 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="SELF" />
 		<cond msgId="2292">
-			<player agathionId="1539" />
+			<player hasAgathion="true" />
 		</cond>
 	</skill>
 	<skill id="23142" levels="1" name="Lana Agathion Cute Trick">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.skill_agathion_cute" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
@@ -521,10 +648,12 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="SELF" />
 		<cond msgId="2292">
-			<player agathionId="1540" />
+			<player hasAgathion="true" />
 		</cond>
 	</skill>
 	<skill id="23143" levels="1" name="Gnocian Agathion Cute Trick">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.skill_agathion_cute" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
@@ -533,10 +662,12 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="SELF" />
 		<cond msgId="2292">
-			<player agathionId="1541" />
+			<player hasAgathion="true" />
 		</cond>
 	</skill>
 	<skill id="23144" levels="1" name="Orodriel Agathion Cute Trick">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.skill_agathion_cute" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
@@ -545,10 +676,12 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="SELF" />
 		<cond msgId="2292">
-			<player agathionId="1542" />
+			<player hasAgathion="true" />
 		</cond>
 	</skill>
 	<skill id="23145" levels="1" name="Lakinos Agathion Cute Trick">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.skill_agathion_cute" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
@@ -557,10 +690,12 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="SELF" />
 		<cond msgId="2292">
-			<player agathionId="1543" />
+			<player hasAgathion="true" />
 		</cond>
 	</skill>
 	<skill id="23146" levels="1" name="Mortia Agathion Cute Trick">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.skill_agathion_cute" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
@@ -569,10 +704,12 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="SELF" />
 		<cond msgId="2292">
-			<player agathionId="1544" />
+			<player hasAgathion="true" />
 		</cond>
 	</skill>
-	<skill id="23147" levels="1" name="Hayance Agathion Cute Trick">
+	<skill id="23147" levels="1" name="Heintz Agathion Cute Trick">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.skill_agathion_cute" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
@@ -581,10 +718,12 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="SELF" />
 		<cond msgId="2292">
-			<player agathionId="1545" />
+			<player hasAgathion="true" />
 		</cond>
 	</skill>
 	<skill id="23148" levels="1" name="Meruril Agathion Cute Trick">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.skill_agathion_cute" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
@@ -593,10 +732,12 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="SELF" />
 		<cond msgId="2292">
-			<player agathionId="1546" />
+			<player hasAgathion="true" />
 		</cond>
 	</skill>
-	<skill id="23149" levels="1" name="Taman ze Lapatui Agathion Cute Trick">
+	<skill id="23149" levels="1" name="Taman Zu Rapatui Agathion Cute Trick">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.skill_agathion_cute" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
@@ -605,10 +746,12 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="SELF" />
 		<cond msgId="2292">
-			<player agathionId="1547" />
+			<player hasAgathion="true" />
 		</cond>
 	</skill>
 	<skill id="23150" levels="1" name="Kaurin Agathion Cute Trick">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.skill_agathion_cute" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
@@ -617,10 +760,12 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="SELF" />
 		<cond msgId="2292">
-			<player agathionId="1548" />
+			<player hasAgathion="true" />
 		</cond>
 	</skill>
 	<skill id="23151" levels="1" name="Ahertbein Agathion Cute Trick">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.skill_agathion_cute" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
@@ -629,10 +774,12 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="SELF" />
 		<cond msgId="2292">
-			<player agathionId="1549" />
+			<player hasAgathion="true" />
 		</cond>
 	</skill>
 	<skill id="23152" levels="1" name="Naonin Agathion Cute Trick">
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.skill_agathion_cute" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
@@ -641,7 +788,7 @@
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="SELF" />
 		<cond msgId="2292">
-			<player agathionId="1550" />
+			<player hasAgathion="true" />
 		</cond>
 	</skill>
 	<skill id="23153" levels="1" name="Prominent Outsider Adventurer's Ability">
diff --git a/src/main/resources/data/xsd/skills.xsd b/src/main/resources/data/xsd/skills.xsd
index 749be2095b..09d6df4436 100644
--- a/src/main/resources/data/xsd/skills.xsd
+++ b/src/main/resources/data/xsd/skills.xsd
@@ -148,6 +148,9 @@
 				<xs:attribute type="xs:string" name="class_id_restriction" use="optional" />
 				<xs:attribute type="xs:short" name="siegeZone" use="optional" />
 				<xs:attribute type="xs:byte" name="siegeSide" use="optional" />
+				<xs:attribute type="xs:string" name="categoryType" use="optional" />
+				<xs:attribute type="xs:boolean" name="hasAgathion" use="optional" />
+				<xs:attribute type="xs:int" name="agathionEnergy" use="optional" />
 			</xs:extension>
 		</xs:simpleContent>
 	</xs:complexType>
@@ -230,6 +233,8 @@
 				<xs:attribute type="xs:string" name="mAtkSpd" use="optional" />
 				<xs:attribute type="xs:string" name="chance" use="optional" />
 				<xs:attribute type="xs:string" name="power" use="optional" />
+				<xs:attribute type="xs:string" name="ticks" use="optional" />
+				<xs:attribute type="xs:string" name="energy" use="optional" />
 				<xs:attribute type="operation" name="type" use="optional" />
 				<xs:attribute type="operation" name="mode" use="optional" />
 				<xs:attribute type="xs:boolean" name="heal" use="optional" />
@@ -330,6 +335,7 @@
 				<xs:attribute type="xs:short" name="skillId3" use="optional" />
 				<xs:attribute type="xs:string" name="time" use="optional" />
 				<xs:attribute type="xs:string" name="flyRadius" use="optional" />
+				<xs:attribute type="xs:int" name="flyCourse" use="optional" />
 				<xs:attribute type="xs:string" name="normal" use="optional" />
 				<xs:attribute type="xs:string" name="ride" use="optional" />
 				<xs:attribute type="xs:string" name="wyvern" use="optional" />
@@ -516,6 +522,7 @@
 					<xs:enumeration value="ChangeHairStyle" />
 					<xs:enumeration value="ClanGate" />
 					<xs:enumeration value="Confuse" />
+					<xs:enumeration value="ConsumeAgathionEnergy" />
 					<xs:enumeration value="ConsumeBody" />
 					<xs:enumeration value="ConsumeChameleonRest" />
 					<xs:enumeration value="ConsumeFakeDeath" />
@@ -565,6 +572,7 @@
 					<xs:enumeration value="HpPerMax" />
 					<xs:enumeration value="ImmobileBuff" />
 					<xs:enumeration value="ImmobilePetBuff" />
+					<xs:enumeration value="InstantAgathionEnergy" />
 					<xs:enumeration value="Lethal" />
 					<xs:enumeration value="Lucky" />
 					<xs:enumeration value="MagicalAttack" />
@@ -694,6 +702,7 @@
 			<xs:element name="enchant2Effects" type="effectsType" />
 			<xs:element name="enchant2pvpEffects" type="effectsType" />
 			<xs:element name="enchant2pveEffects" type="effectsType" />
+			<xs:element name="enchant8Effects" type="effectsType" />
 			<xs:element name="enchant7Effects" type="effectsType" />
 			<xs:element name="enchant3pvpEffects" type="effectsType" />
 			<xs:element name="enchant3pveEffects" type="effectsType" />
diff --git a/src/main/resources/sql/items.sql b/src/main/resources/sql/items.sql
index 45ad0ecf48..abec14e9b9 100644
--- a/src/main/resources/sql/items.sql
+++ b/src/main/resources/sql/items.sql
@@ -11,6 +11,7 @@ CREATE TABLE IF NOT EXISTS `items` (
   `custom_type2` INT DEFAULT 0,
   `mana_left` decimal(5,0) NOT NULL DEFAULT -1,
   `time` decimal(13) NOT NULL DEFAULT 0,
+  `agathion_energy` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT 0,
   PRIMARY KEY (`object_id`),
   KEY `owner_id` (`owner_id`),
   KEY `item_id` (`item_id`),
diff --git a/src/main/resources/sql/updates/2020-09-06_items_added_agathion_energy.sql b/src/main/resources/sql/updates/2020-09-06_items_added_agathion_energy.sql
new file mode 100644
index 0000000000..10e230916e
--- /dev/null
+++ b/src/main/resources/sql/updates/2020-09-06_items_added_agathion_energy.sql
@@ -0,0 +1,3 @@
+ALTER TABLE `items` ADD COLUMN `agathion_energy` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT 0 AFTER `time`;
+UPDATE `l2jgs`.`items` SET `agathion_energy`=100000 WHERE `item_id` IN (20818, 20820, 20822, 20824, 20826, 20828, 20830, 20832, 20834, 20836, 20838, 20840);
+UPDATE `l2jgs`.`items` SET `agathion_energy`=1000 WHERE `item_id` IN (20983, 20984, 20985, 20986, 20987, 20988, 20989, 20990, 20991);
\ No newline at end of file
-- 
GitLab