From f81ad23427ca874babf1f0b79ebbb3c4353fb170 Mon Sep 17 00:00:00 2001
From: Adry85 <adrya85@hotmail.it>
Date: Wed, 4 Oct 2017 16:32:52 +0200
Subject: [PATCH] Added Blink effect parameters.

---
 .../handlers/effecthandlers/Blink.java        | 16 +++++++-----
 dist/game/data/stats/skills/00600-00699.xml   | 14 ++++++-----
 dist/game/data/stats/skills/00800-00899.xml   | 16 ++++++------
 dist/game/data/stats/skills/01400-01499.xml   | 25 +++++++++++--------
 dist/game/data/stats/skills/07000-07099.xml   | 13 +++++-----
 5 files changed, 48 insertions(+), 36 deletions(-)

diff --git a/dist/game/data/scripts/handlers/effecthandlers/Blink.java b/dist/game/data/scripts/handlers/effecthandlers/Blink.java
index e5e3286428..a8c59e8642 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Blink.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/Blink.java
@@ -35,20 +35,25 @@ import com.l2jserver.gameserver.util.Util;
  * Blink effect implementation.<br>
  * This class handles warp effects, disappear and quickly turn up in a near location.<br>
  * If geodata enabled and an object is between initial and final point, flight is stopped just before colliding with object.<br>
- * Flight course and radius are set as skill properties (flyCourse and flyRadius):
+ * Flight course and radius are set as effect properties (flyCourse and flyRadius):
  * <ul>
  * <li>Fly Radius means the distance between starting point and final point, it must be an integer.</li>
  * <li>Fly Course means the movement direction: imagine a compass above player's head, making north player's heading. So if fly course is 180, player will go backwards (good for blink, e.g.).</li>
  * </ul>
  * By the way, if flyCourse = 360 or 0, player will be moved in in front of him. <br>
- * If target is effector, put in XML self="1", this will make _actor = getEffector(). This, combined with target type, allows more complex actions like flying target's backwards or player's backwards.
  * @author DrHouse
  */
 public final class Blink extends AbstractEffect
 {
+	private final int _flyCourse;
+	private final int _flyRadius;
+	
 	public Blink(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
 	{
 		super(attachCond, applyCond, set, params);
+		
+		_flyCourse = params.getInt("flyCourse", 0);
+		_flyRadius = params.getInt("flyRadius", 0);
 	}
 	
 	@Override
@@ -61,12 +66,11 @@ public final class Blink extends AbstractEffect
 	public void onStart(BuffInfo info)
 	{
 		final L2Character effected = info.getEffected();
-		final int radius = info.getSkill().getFlyRadius();
 		final double angle = Util.convertHeadingToDegree(effected.getHeading());
 		final double radian = Math.toRadians(angle);
-		final double course = Math.toRadians(info.getSkill().getFlyCourse());
-		final int x1 = (int) (Math.cos(Math.PI + radian + course) * radius);
-		final int y1 = (int) (Math.sin(Math.PI + radian + course) * radius);
+		final double course = Math.toRadians(_flyCourse);
+		final int x1 = (int) (Math.cos(Math.PI + radian + course) * _flyRadius);
+		final int y1 = (int) (Math.sin(Math.PI + radian + course) * _flyRadius);
 		
 		int x = effected.getX() + x1;
 		int y = effected.getY() + y1;
diff --git a/dist/game/data/stats/skills/00600-00699.xml b/dist/game/data/stats/skills/00600-00699.xml
index 32763dbdb6..266c6ae4db 100644
--- a/dist/game/data/stats/skills/00600-00699.xml
+++ b/dist/game/data/stats/skills/00600-00699.xml
@@ -538,22 +538,24 @@
 		</enchant1Effects>
 	</skill>
 	<skill id="628" levels="1" name="Warp">
-		<!-- Confirmed CT2.5 -->
+		<!-- High Five Confirmed -->
+		<set name="affectScope" val="SINGLE" />
 		<set name="coolTime" val="200" />
-		<set name="flyCourse" val="180" /> <!-- Teleport to Front -->
-		<set name="flyRadius" val="500" />
 		<set name="hitTime" val="100" />
 		<set name="icon" val="icon.skill0484" />
-		<set name="isMagic" val="1" /> <!-- Magic Skill -->
+		<set name="isMagic" val="1" />
 		<set name="magicLvl" val="32" />
-		<set name="mpConsume2" val="20" />
 		<set name="mpConsume1" val="10" />
+		<set name="mpConsume2" val="20" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="10000" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
 		<set name="targetType" val="SELF" />
 		<effects>
-			<effect name="Blink" />
+			<effect name="Blink">
+				<param flyCourse="180" /> <!-- Teleport to Front -->
+				<param flyRadius="500" />
+			</effect>
 		</effects>
 	</skill>
 	<skill id="629" levels="1" name="Rabbit Magic Eye">
diff --git a/dist/game/data/stats/skills/00800-00899.xml b/dist/game/data/stats/skills/00800-00899.xml
index 5f97d268b5..1400146be2 100644
--- a/dist/game/data/stats/skills/00800-00899.xml
+++ b/dist/game/data/stats/skills/00800-00899.xml
@@ -1910,31 +1910,31 @@
 		</effects>
 	</skill>
 	<skill id="885" levels="1" name="Air Blink">
-		<!-- Aurabird Falcon and Owl -->
+		<!-- High Five Confirmed -->
 		<set name="affectLimit" val="6-12" />
-		<set name="affectRange" val="100" />
+		<set name="affectRange" val="150" />
+		<set name="affectScope" val="POINT_BLANK" />
 		<set name="coolTime" val="200" />
 		<set name="effectPoint" val="-659" />
-		<set name="flyCourse" val="0" /> <!-- Teleport to Back -->
-		<set name="flyRadius" val="500" />
-		<set name="flyType" val="DUMMY" />
 		<set name="hitTime" val="100" />
 		<set name="icon" val="icon.skill_transform_etc" />
 		<set name="magicLvl" val="75" />
-		<set name="mpConsume2" val="50" />
 		<set name="mpConsume1" val="50" />
+		<set name="mpConsume2" val="50" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="23000" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="AURA" />
 		<effects>
 			<effect name="PhysicalAttack">
-				<param power="100" />
+				<param power="1" />
 			</effect>
 			<effect name="Stun" />
 		</effects>
 		<selfEffects>
-			<effect name="Blink" />
+			<effect name="Blink">
+				<param flyRadius="1000" />
+			</effect>
 		</selfEffects>
 	</skill>
 	<skill id="886" levels="11" name="Air Shock Bomb">
diff --git a/dist/game/data/stats/skills/01400-01499.xml b/dist/game/data/stats/skills/01400-01499.xml
index 100d2b8b5f..e4f895d81f 100644
--- a/dist/game/data/stats/skills/01400-01499.xml
+++ b/dist/game/data/stats/skills/01400-01499.xml
@@ -1817,8 +1817,8 @@
 		</effects>
 	</skill>
 	<skill id="1448" levels="1" name="Blink" enchantGroup1="2" enchantGroup2="2">
-		<!-- Confirmed CT2.5 -->
-		<table name="#ench1MpConsume2"> 49 48 47 46 45 45 44 43 42 41 40 40 39 38 37 36 35 35 34 33 32 31 30 30 29 28 27 26 25 25 </table>
+		<!-- High Five Confirmed -->
+		<table name="#ench1MpConsume"> 49 48 47 46 45 45 44 43 42 41 40 40 39 38 37 36 35 35 34 33 32 31 30 30 29 28 27 26 25 25 </table>
 		<table name="#ench2Radius"> 413 426 440 453 466 480 493 506 520 533 546 560 573 586 600 613 626 640 653 666 680 693 706 720 733 746 760 773 786 800 </table>
 		<table name="#enchMagicLvl"> 76 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 81 82 82 82 83 83 83 84 84 84 85 85 85 </table>
 		<set name="abnormalLvl" val="1" />
@@ -1828,19 +1828,18 @@
 		<set name="activateRate" val="99" />
 		<set name="affectLimit" val="6-12" />
 		<set name="affectRange" val="150" />
+		<set name="affectScope" val="POINT_BLANK" />
 		<set name="basicProperty" val="CON" />
 		<set name="coolTime" val="200" />
 		<set name="effectPoint" val="-575" />
-		<set name="flyCourse" val="0" /> <!-- Teleport to Back -->
-		<set name="flyRadius" val="400" />
 		<set name="hitTime" val="300" />
 		<set name="icon" val="icon.skill1448" />
 		<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="60" />
-		<set name="mpConsume2" val="50" />
 		<set name="mpConsume1" val="50" />
+		<set name="mpConsume2" val="50" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="15000" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
@@ -1848,9 +1847,8 @@
 		<set name="targetType" val="AURA" />
 		<set name="trait" val="SHOCK" />
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
-		<enchant1 name="mpConsume2" val="#ench1MpConsume2" />
-		<enchant1 name="mpConsume1" val="#ench1MpConsume2" />
-		<enchant2 name="flyRadius" val="#ench2Radius" />
+		<enchant1 name="mpConsume1" val="#ench1MpConsume" />
+		<enchant1 name="mpConsume2" val="#ench1MpConsume" />
 		<enchant2 name="magicLvl" val="#enchMagicLvl" />
 		<effects>
 			<effect name="PhysicalSoulAttack">
@@ -1859,8 +1857,15 @@
 			<effect name="Stun" />
 		</effects>
 		<selfEffects>
-			<effect name="Blink" />
+			<effect name="Blink">
+				<param flyRadius="400" />
+			</effect>
 		</selfEffects>
+		<enchant2selfEffects>
+			<effect name="Blink">
+				<param flyRadius="#ench2Radius" />
+			</effect>
+		</enchant2selfEffects>
 	</skill>
 	<skill id="1449" levels="1" name="Transfer Soul">
 		<!-- Confirmed CT2.5 -->
diff --git a/dist/game/data/stats/skills/07000-07099.xml b/dist/game/data/stats/skills/07000-07099.xml
index 23e6900eda..36b381648c 100644
--- a/dist/game/data/stats/skills/07000-07099.xml
+++ b/dist/game/data/stats/skills/07000-07099.xml
@@ -1152,7 +1152,7 @@
 		<set name="trait" val="SHOCK" />
 	</skill>
 	<skill id="7078" levels="1" name="Test - Blink">
-		<!-- Confirmed CT2.5 -->
+		<!-- High Five Confirmed -->
 		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="2" />
 		<set name="abnormalType" val="STUN" />
@@ -1160,16 +1160,15 @@
 		<set name="activateRate" val="80" />
 		<set name="affectLimit" val="5-12" />
 		<set name="affectRange" val="200" />
+		<set name="affectScope" val="RANGE" />
 		<set name="basicProperty" val="CON" />
 		<set name="coolTime" val="200" />
-		<set name="flyCourse" val="0" /> <!-- Teleport to Back -->
-		<set name="flyRadius" val="400" />
 		<set name="hitTime" val="300" />
-		<set name="isMagic" val="1" /> <!-- Magic Skill -->
+		<set name="isMagic" val="1" />
 		<set name="lvlBonusRate" val="1" />
 		<set name="magicLvl" val="75" />
-		<set name="mpConsume2" val="50" />
 		<set name="mpConsume1" val="50" />
+		<set name="mpConsume2" val="50" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="5000" />
 		<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
@@ -1179,7 +1178,9 @@
 			<effect name="Stun" />
 		</effects>
 		<selfEffects>
-			<effect name="Blink" />
+			<effect name="Blink">
+				<param flyRadius="400" />
+			</effect>
 		</selfEffects>
 	</skill>
 	<skill id="7079" levels="1" name="Test - Party Damage Absorb">
-- 
GitLab