diff --git a/src/main/java/com/l2jserver/datapack/handlers/EffectMasterHandler.java b/src/main/java/com/l2jserver/datapack/handlers/EffectMasterHandler.java
index e273cb7a76506b621d706cfab7a76d3f4a2365fa..2320c361aef3eddc3aa5b3ba125927eb991d1250 100644
--- a/src/main/java/com/l2jserver/datapack/handlers/EffectMasterHandler.java
+++ b/src/main/java/com/l2jserver/datapack/handlers/EffectMasterHandler.java
@@ -93,6 +93,7 @@ import com.l2jserver.datapack.handlers.effecthandlers.instant.Lethal;
 import com.l2jserver.datapack.handlers.effecthandlers.instant.MagicalAttack;
 import com.l2jserver.datapack.handlers.effecthandlers.instant.MagicalAttackByAbnormal;
 import com.l2jserver.datapack.handlers.effecthandlers.instant.MagicalAttackMp;
+import com.l2jserver.datapack.handlers.effecthandlers.instant.MagicalAttackRange;
 import com.l2jserver.datapack.handlers.effecthandlers.instant.MagicalSoulAttack;
 import com.l2jserver.datapack.handlers.effecthandlers.instant.ManaHealByLevel;
 import com.l2jserver.datapack.handlers.effecthandlers.instant.Mp;
@@ -202,11 +203,11 @@ public final class EffectMasterHandler {
 		Blink.class,
 		BlockAction.class,
 		BlockBuff.class,
+		BlockBuffSlot.class,
 		BlockChat.class,
 		BlockDamage.class,
 		BlockDebuff.class,
 		BlockParty.class,
-		BlockBuffSlot.class,
 		BlockResurrection.class,
 		Bluff.class,
 		Buff.class,
@@ -275,6 +276,7 @@ public final class EffectMasterHandler {
 		MagicalAttack.class,
 		MagicalAttackByAbnormal.class,
 		MagicalAttackMp.class,
+		MagicalAttackRange.class,
 		MagicalSoulAttack.class,
 		ManaHealByLevel.class,
 		MaxCp.class,
@@ -285,7 +287,6 @@ public final class EffectMasterHandler {
 		Mute.class,
 		NoblesseBless.class,
 		OpenChest.class,
-		Unsummon.class,
 		OpenCommonRecipeBook.class,
 		OpenDoor.class,
 		OpenDwarfRecipeBook.class,
@@ -298,8 +299,8 @@ public final class EffectMasterHandler {
 		PhysicalAttackMute.class,
 		PhysicalMute.class,
 		PhysicalSoulAttack.class,
-		Pumping.class,
 		ProtectionBlessing.class,
+		Pumping.class,
 		RandomizeHate.class,
 		RebalanceHP.class,
 		Recovery.class,
@@ -355,6 +356,7 @@ public final class EffectMasterHandler {
 		TriggerSkillByAvoid.class,
 		TriggerSkillByDamage.class,
 		TriggerSkillBySkill.class,
+		Unsummon.class,
 		UnsummonAgathion.class,
 		VitalityPointUp.class,
 	};
diff --git a/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/MagicalAttackRange.java b/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/MagicalAttackRange.java
new file mode 100644
index 0000000000000000000000000000000000000000..05817e00d509bbc8fe239f5c974d53119bbd275a
--- /dev/null
+++ b/src/main/java/com/l2jserver/datapack/handlers/effecthandlers/instant/MagicalAttackRange.java
@@ -0,0 +1,99 @@
+/*
+ * 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.ShotType.BLESSED_SPIRITSHOTS;
+import static com.l2jserver.gameserver.enums.ShotType.SPIRITSHOTS;
+import static com.l2jserver.gameserver.model.effects.L2EffectType.MAGICAL_ATTACK;
+import static com.l2jserver.gameserver.model.stats.Stats.VENGEANCE_SKILL_MAGIC_DAMAGE;
+
+import com.l2jserver.commons.util.Rnd;
+import com.l2jserver.gameserver.model.StatsSet;
+import com.l2jserver.gameserver.model.actor.L2Character;
+import com.l2jserver.gameserver.model.conditions.Condition;
+import com.l2jserver.gameserver.model.effects.AbstractEffect;
+import com.l2jserver.gameserver.model.effects.L2EffectType;
+import com.l2jserver.gameserver.model.skills.BuffInfo;
+import com.l2jserver.gameserver.model.skills.Skill;
+import com.l2jserver.gameserver.model.stats.Formulas;
+
+/**
+ * Magical Attack Range instant effect implementation.
+ * @author Zoey76
+ * @version 2.6.2.0
+ */
+public final class MagicalAttackRange extends AbstractEffect {
+		  
+	private final double power;
+	
+	private final double shieldDefensePercent;
+	
+	public MagicalAttackRange(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) {
+		super(attachCond, applyCond, set, params);
+		
+		power = params.getDouble("power", 0);
+		
+		shieldDefensePercent = params.getDouble("shieldDefensePercent", 0);
+	}
+	
+	@Override
+	public L2EffectType getEffectType() {
+		return MAGICAL_ATTACK;
+	}
+	
+	@Override
+	public boolean isInstant() {
+		return true;
+	}
+	
+	@Override
+	public void onStart(BuffInfo info) {
+		final L2Character target = info.getEffected();
+		final L2Character activeChar = info.getEffector();
+		final Skill skill = info.getSkill();
+		
+		if (target.isPlayer() && target.getActingPlayer().isFakeDeath()) {
+			target.stopFakeDeath(true);
+		}
+		
+		boolean sps = skill.useSpiritShot() && activeChar.isChargedShot(SPIRITSHOTS);
+		boolean bss = skill.useSpiritShot() && activeChar.isChargedShot(BLESSED_SPIRITSHOTS);
+		final boolean mcrit = Formulas.calcMCrit(activeChar.getMCriticalHit(target, skill));
+		final byte shld = Formulas.calcShldUse(activeChar, target, skill);
+		double damage = Formulas.calcMagicDam(activeChar, target, skill, shld, shieldDefensePercent, sps, bss, mcrit, power);
+		
+		if (damage > 0) {
+			// Manage attack or cast break of the target (calculating rate, sending message...)
+			if (!target.isRaid() && Formulas.calcAtkBreak(target, damage)) {
+				target.breakAttack();
+				target.breakCast();
+			}
+			
+			// Shield Deflect Magic: Reflect all damage on caster.
+			if (target.getStat().calcStat(VENGEANCE_SKILL_MAGIC_DAMAGE, 0, target, skill) > Rnd.get(100)) {
+				activeChar.reduceCurrentHp(damage, target, skill);
+				activeChar.notifyDamageReceived(damage, target, skill, mcrit, false, true);
+			} else {
+				target.reduceCurrentHp(damage, activeChar, skill);
+				target.notifyDamageReceived(damage, activeChar, skill, mcrit, false, false);
+				activeChar.sendDamageMessage(target, (int) damage, mcrit, false, false);
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/src/main/java/com/l2jserver/datapack/handlers/targethandlers/Enemy.java b/src/main/java/com/l2jserver/datapack/handlers/targethandlers/Enemy.java
index 2399f6218a5357e7ba423070e0334ccd69662109..cb04b4fcaf6b23ea4e5474a096d32a9dea26bee9 100644
--- a/src/main/java/com/l2jserver/datapack/handlers/targethandlers/Enemy.java
+++ b/src/main/java/com/l2jserver/datapack/handlers/targethandlers/Enemy.java
@@ -42,11 +42,19 @@ public class Enemy implements ITargetTypeHandler {
 					return EMPTY_TARGET_LIST;
 				}
 				
+				if (target.isDead()) {
+					activeChar.sendPacket(INCORRECT_TARGET);
+					return EMPTY_TARGET_LIST;
+				}
+				
+				if (target.isAttackable()) {
+					return new L2Character[] {
+						target
+					};
+				}
+				
 				final L2PcInstance player = activeChar.getActingPlayer();
-				if (target.isDead() || (!target.isAttackable() && //
-					(player != null) && //
-					!player.checkIfPvP(target) && //
-					!player.getCurrentSkill().isCtrlPressed())) {
+				if ((player == null) || !player.checkIfPvP(target) && !player.getCurrentSkill().isCtrlPressed()) {
 					activeChar.sendPacket(INCORRECT_TARGET);
 					return EMPTY_TARGET_LIST;
 				}
diff --git a/src/main/resources/data/stats/skills/01100-01199.xml b/src/main/resources/data/stats/skills/01100-01199.xml
index da19958363bab9970d101a7ab5aa5d3a6e7e0e20..109fe79d952272cf6083c6799862f000ab0a2afb 100644
--- a/src/main/resources/data/stats/skills/01100-01199.xml
+++ b/src/main/resources/data/stats/skills/01100-01199.xml
@@ -1258,10 +1258,10 @@
 	</skill>
 	<skill id="1170" levels="13" name="Anchor" enchantGroup1="1" enchantGroup2="1">
 		<!-- High Five Confirmed -->
-		<table name="#effectPoints"> -418 -457 -495 -532 -549 -566 -582 -597 -611 -624 -635 -646 -655 </table>
-		<table name="#magicLvl"> 44 48 52 56 58 60 62 64 66 68 70 72 74 </table>
-		<table name="#mpConsume2"> 31 35 38 41 43 44 46 48 49 51 52 53 55 </table>
+		<table name="#effectPoint"> -418 -457 -495 -532 -549 -566 -582 -597 -611 -624 -635 -646 -655 </table>
+		<table name="#magicLvl"> 40 48 52 56 58 60 62 64 66 68 70 72 74 </table>
 		<table name="#mpConsume1"> 8 9 10 11 11 11 12 12 13 13 13 14 14 </table>
+		<table name="#mpConsume2"> 31 35 38 41 43 44 46 48 49 51 52 53 55 </table>
 		<table name="#ench1ActivateRates"> 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 </table>
 		<table name="#ench2ActivateRates"> 101 101 102 102 103 103 104 104 105 105 106 106 107 107 108 108 108 109 109 110 110 111 111 112 112 113 113 114 114 115 </table>
 		<table name="#ench2MpConsume2"> 54 53 52 51 50 49 48 47 46 45 44 43 42 42 41 40 39 38 37 36 35 34 33 32 31 30 29 29 28 27 </table>
@@ -1274,16 +1274,17 @@
 		<set name="affectScope" val="SINGLE" />
 		<set name="basicProperty" val="MEN" />
 		<set name="castRange" val="400" />
-		<set name="effectPoint" val="#effectPoints" />
+		<set name="effectPoint" val="#effectPoint" />
 		<set name="effectRange" val="900" />
+		<set name="hitCancelTime" val="500" />
 		<set name="hitTime" val="1500" />
 		<set name="icon" val="icon.skill1170" />
 		<set name="isDebuff" val="true" />
-		<set name="isMagic" val="1" /> <!-- Magic Skill -->
+		<set name="isMagic" val="1" />
 		<set name="lvlBonusRate" val="1" />
 		<set name="magicLvl" val="#magicLvl" />
-		<set name="mpConsume2" val="#mpConsume2" />
 		<set name="mpConsume1" val="#mpConsume1" />
+		<set name="mpConsume2" val="#mpConsume2" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="60000" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
@@ -1365,27 +1366,30 @@
 		</enchant2Effects>
 	</skill>
 	<skill id="1172" levels="8" name="Aura Burn">
-		<table name="#effectPoints"> -146 -163 -181 -194 -214 -228 -250 -265 </table>
+		<!-- High Five Confirmed -->
+		<table name="#effectPoint"> -146 -163 -181 -194 -214 -228 -250 -265 </table>
 		<table name="#magicLvl"> 17 20 23 25 28 30 33 35 </table>
-		<table name="#mpConsume2"> 14 16 17 18 20 21 23 24 </table>
+		<table name="#magicalAttackPower"> 19 21 24 25 28 30 33 36 </table>
 		<table name="#mpConsume1"> 4 4 5 5 5 6 6 6 </table>
-		<table name="#power"> 19 21 24 25 28 30 33 36 </table>
+		<table name="#mpConsume2"> 14 16 17 18 20 21 23 24 </table>
+		<set name="affectScope" val="SINGLE" />
 		<set name="castRange" val="150" />
-		<set name="effectPoint" val="#effectPoints" />
+		<set name="effectPoint" val="#effectPoint" />
 		<set name="effectRange" val="650" />
+		<set name="hitCancelTime" val="500" />
 		<set name="hitTime" val="1500" />
 		<set name="icon" val="icon.skill1172" />
-		<set name="isMagic" val="1" /> <!-- Magic Skill -->
+		<set name="isMagic" val="1" />
 		<set name="magicLvl" val="#magicLvl" />
-		<set name="mpConsume2" val="#mpConsume2" />
 		<set name="mpConsume1" val="#mpConsume1" />
+		<set name="mpConsume2" val="#mpConsume2" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="1000" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="ONE" />
+		<set name="targetType" val="ENEMY" />
 		<effects>
 			<effect name="MagicalAttack">
-				<param power="#power" />
+				<param power="#magicalAttackPower" />
 			</effect>
 		</effects>
 	</skill>
@@ -1514,86 +1518,98 @@
 		</enchant1Effects>
 	</skill>
 	<skill id="1177" levels="5" name="Wind Strike">
-		<table name="#effectPoints"> -92 -106 -121 -143 -162 </table>
+		<!-- High Five Confirmed -->
+		<table name="#effectPoint"> -92 -106 -121 -143 -162 </table>
 		<table name="#magicLvl"> 1 4 7 11 14 </table>
-		<table name="#mpConsume2"> 7 7 8 11 12 </table>
+		<table name="#magicalAttackRangePower"> 12 13 15 18 21 </table>
 		<table name="#mpConsume1"> 2 2 2 3 3 </table>
-		<table name="#power"> 12 13 15 18 21 </table>
+		<table name="#mpConsume2"> 7 7 8 11 12 </table>
+		<table name="#targetType"> ENEMY_ONLY ENEMY ENEMY ENEMY ENEMY </table>
 		<set name="affectScope" val="SINGLE" />
+		<set name="attributePower" val="20" />
+		<set name="attributeType" val="WIND" />
 		<set name="castRange" val="600" />
-		<set name="effectPoint" val="#effectPoints" />
+		<set name="effectPoint" val="#effectPoint" />
 		<set name="effectRange" val="1100" />
-		<set name="attributeType" val="WIND" />
-		<set name="attributePower" val="20" />
+		<set name="hitCancelTime" val="500" />
 		<set name="hitTime" val="4000" />
 		<set name="icon" val="icon.skill1177" />
-		<set name="isMagic" val="1" /> <!-- Magic Skill -->
+		<set name="isMagic" val="1" />
 		<set name="magicLvl" val="#magicLvl" />
-		<set name="mpConsume2" val="#mpConsume2" />
 		<set name="mpConsume1" val="#mpConsume1" />
+		<set name="mpConsume2" val="#mpConsume2" />
 		<set name="operateType" val="A1" />
-		<set name="reuseDelay" val="1000" />
+		<set name="reuseDelay" val="1200" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="ENEMY_ONLY" />
+		<set name="targetType" val="#targetType" />
 		<effects>
-			<effect name="MagicalAttack">
-				<param power="#power" />
+			<effect name="MagicalAttackRange">
+				<param power="#magicalAttackRangePower" />
+				<param shieldDefensePercent="40" />
 			</effect>
 		</effects>
 	</skill>
 	<skill id="1178" levels="8" name="Twister">
-		<table name="#effectPoints"> -182 -204 -227 -243 -268 -285 -313 -331 </table>
+		<!-- High Five Confirmed -->
+		<table name="#effectPoint"> -182 -204 -227 -243 -268 -285 -313 -331 </table>
 		<table name="#magicLvl"> 17 20 23 25 28 30 33 35 </table>
-		<table name="#mpConsume2"> 14 16 17 18 20 21 23 24 </table>
+		<table name="#magicalAttackRangePower"> 23 26 29 32 35 38 42 44 </table>
 		<table name="#mpConsume1"> 4 4 5 5 5 6 6 6 </table>
-		<table name="#power"> 23 26 29 32 35 38 42 44 </table>
+		<table name="#mpConsume2"> 14 16 17 18 20 21 23 24 </table>
+		<set name="affectScope" val="SINGLE" />
+		<set name="attributePower" val="20" />
+		<set name="attributeType" val="WIND" />
 		<set name="castRange" val="750" />
-		<set name="effectPoint" val="#effectPoints" />
+		<set name="effectPoint" val="#effectPoint" />
 		<set name="effectRange" val="1250" />
-		<set name="attributeType" val="WIND" />
-		<set name="attributePower" val="20" />
+		<set name="hitCancelTime" val="500" />
 		<set name="hitTime" val="4000" />
 		<set name="icon" val="icon.skill1178" />
-		<set name="isMagic" val="1" /> <!-- Magic Skill -->
+		<set name="isMagic" val="1" />
 		<set name="magicLvl" val="#magicLvl" />
-		<set name="mpConsume2" val="#mpConsume2" />
 		<set name="mpConsume1" val="#mpConsume1" />
+		<set name="mpConsume2" val="#mpConsume2" />
 		<set name="operateType" val="A1" />
-		<set name="reuseDelay" val="1000" />
+		<set name="reuseDelay" val="1200" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
-		<set name="targetType" val="ONE" />
+		<set name="targetType" val="ENEMY" />
 		<effects>
-			<effect name="MagicalAttack">
-				<param power="#power" />
+			<effect name="MagicalAttackRange">
+				<param power="#magicalAttackRangePower" />
+				<param shieldDefensePercent="40" />
 			</effect>
 		</effects>
 	</skill>
 	<skill id="1181" levels="3" name="Flame Strike">
-		<table name="#effectPoints"> -204 -243 -285 </table>
+		<!-- High Five Confirmed -->
+		<table name="#effectPoint"> -204 -243 -285 </table>
 		<table name="#magicLvl"> 20 25 30 </table>
-		<table name="#mpConsume2"> 23 27 32 </table>
+		<table name="#magicalAttackPower"> 13 16 19 </table>
 		<table name="#mpConsume1"> 6 7 8 </table>
-		<table name="#power"> 13 14 14 </table>
+		<table name="#mpConsume2"> 23 27 32 </table>
 		<set name="affectLimit" val="5-12" />
 		<set name="affectRange" val="200" />
+		<set name="affectScope" val="RANGE" />
+		<set name="affectObject" val="NOT_FRIEND" />
+		<set name="attributePower" val="20" />
+		<set name="attributeType" val="FIRE" />
 		<set name="castRange" val="500" />
-		<set name="effectPoint" val="#effectPoints" />
+		<set name="effectPoint" val="#effectPoint" />
 		<set name="effectRange" val="1000" />
-		<set name="attributeType" val="FIRE" />
-		<set name="attributePower" val="20" />
+		<set name="hitCancelTime" val="500" />
 		<set name="hitTime" val="4000" />
 		<set name="icon" val="icon.skill1181" />
-		<set name="isMagic" val="1" /> <!-- Magic Skill -->
+		<set name="isMagic" val="1" />
 		<set name="magicLvl" val="#magicLvl" />
-		<set name="mpConsume2" val="#mpConsume2" />
 		<set name="mpConsume1" val="#mpConsume1" />
+		<set name="mpConsume2" val="#mpConsume2" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="4000" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="AREA" />
 		<effects>
 			<effect name="MagicalAttack">
-				<param power="#power" />
+				<param power="#magicalAttackPower" />
 			</effect>
 		</effects>
 	</skill>
diff --git a/src/main/resources/data/xsd/skills.xsd b/src/main/resources/data/xsd/skills.xsd
index 5f17c7cf10ce88235d6bc8f40a52dd9c241ae9c9..fb2a49f5f3bcfb12d64dc9089b5cf2c795461ae1 100644
--- a/src/main/resources/data/xsd/skills.xsd
+++ b/src/main/resources/data/xsd/skills.xsd
@@ -20,6 +20,7 @@
 							<xs:enumeration value="abnormalVisualEffect" />
 							<xs:enumeration value="activateRate" />
 							<xs:enumeration value="affectLimit" />
+							<xs:enumeration value="affectObject" />
 							<xs:enumeration value="affectRange" />
 							<xs:enumeration value="affectScope" />
 							<xs:enumeration value="afterEffectId" />
@@ -41,6 +42,7 @@
 							<xs:enumeration value="excludedFromCheck" />
 							<xs:enumeration value="fanRange" />
 							<xs:enumeration value="hitTime" />
+							<xs:enumeration value="hitCancelTime" />
 							<xs:enumeration value="hpConsume" />
 							<xs:enumeration value="icon" />
 							<xs:enumeration value="irreplaceableBuff" />
@@ -339,6 +341,7 @@
 				<xs:attribute type="xs:string" name="normal" />
 				<xs:attribute type="xs:string" name="ride" />
 				<xs:attribute type="xs:string" name="wyvern" />
+				<xs:attribute type="xs:string" name="shieldDefensePercent" />
 			</xs:extension>
 		</xs:simpleContent>
 	</xs:complexType>
@@ -578,6 +581,7 @@
 					<xs:enumeration value="MagicalAttack" />
 					<xs:enumeration value="MagicalAttackByAbnormal" />
 					<xs:enumeration value="MagicalAttackMp" />
+					<xs:enumeration value="MagicalAttackRange" />
 					<xs:enumeration value="MagicalSoulAttack" />
 					<xs:enumeration value="ManaHealByLevel" />
 					<xs:enumeration value="MaxCp" />