From c5141d9351a7d36f6adfd3c24ff35e6044ce8616 Mon Sep 17 00:00:00 2001 From: Adry85 <adrya85@hotmail.it> Date: Thu, 5 Oct 2017 13:38:39 +0200 Subject: [PATCH] Added EnemyCharge effect parameters. DP part of https://bitbucket.org/l2jserver/l2j_server/commits/28ab1911d039ff928e89b1df984e104cd542989d --- .../handlers/effecthandlers/EnemyCharge.java | 6 +++++- .../effecthandlers/PhysicalAttack.java | 9 --------- .../effecthandlers/PhysicalSoulAttack.java | 9 --------- .../handlers/effecthandlers/ThrowUp.java | 1 + dist/game/data/stats/skills/00400-00499.xml | 20 ++++++++++++++----- dist/game/data/stats/skills/00600-00699.xml | 1 + dist/game/data/stats/skills/00800-00899.xml | 1 + dist/game/data/stats/skills/00900-00999.xml | 12 ++++++++--- dist/game/data/stats/skills/01400-01499.xml | 1 + dist/game/data/stats/skills/04100-04199.xml | 1 + dist/game/data/stats/skills/04600-04699.xml | 1 + dist/game/data/stats/skills/05000-05099.xml | 5 ++++- dist/game/data/stats/skills/05100-05199.xml | 1 + dist/game/data/stats/skills/05200-05299.xml | 1 + dist/game/data/stats/skills/05400-05499.xml | 2 ++ dist/game/data/stats/skills/06000-06099.xml | 4 +++- dist/game/data/stats/skills/06200-06299.xml | 8 ++++++-- dist/game/data/stats/skills/06600-06699.xml | 4 +++- dist/game/data/stats/skills/07000-07099.xml | 1 + dist/game/data/xsd/skills.xsd | 2 -- 20 files changed, 56 insertions(+), 34 deletions(-) diff --git a/dist/game/data/scripts/handlers/effecthandlers/EnemyCharge.java b/dist/game/data/scripts/handlers/effecthandlers/EnemyCharge.java index 7af28f1614..07aa929881 100644 --- a/dist/game/data/scripts/handlers/effecthandlers/EnemyCharge.java +++ b/dist/game/data/scripts/handlers/effecthandlers/EnemyCharge.java @@ -34,9 +34,13 @@ import com.l2jserver.gameserver.network.serverpackets.ValidateLocation; */ public final class EnemyCharge extends AbstractEffect { + private final int _flyRadius; + public EnemyCharge(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) { super(attachCond, applyCond, set, params); + + _flyRadius = params.getInt("flyRadius", 0); } @Override @@ -72,7 +76,7 @@ public final class EnemyCharge extends AbstractEffect return; } - int offset = Math.max((int) distance - info.getSkill().getFlyRadius(), 30); + int offset = Math.max((int) distance - _flyRadius, 30); // approximation for moving closer when z coordinates are different // TODO: handle Z axis movement better diff --git a/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttack.java b/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttack.java index e89fb47da2..feddffe8fe 100644 --- a/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttack.java +++ b/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttack.java @@ -28,7 +28,6 @@ import com.l2jserver.gameserver.model.skills.BuffInfo; import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.model.stats.Formulas; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.serverpackets.SystemMessage; /** * Physical Attack effect implementation. @@ -79,14 +78,6 @@ public final class PhysicalAttack extends AbstractEffect return; } - if (((info.getSkill().getFlyRadius() > 0) || (skill.getFlyType() != null)) && activeChar.isMovementDisabled()) - { - final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CANNOT_BE_USED); - sm.addSkillName(skill); - activeChar.sendPacket(sm); - return; - } - if (target.isPlayer() && target.getActingPlayer().isFakeDeath()) { target.stopFakeDeath(true); diff --git a/dist/game/data/scripts/handlers/effecthandlers/PhysicalSoulAttack.java b/dist/game/data/scripts/handlers/effecthandlers/PhysicalSoulAttack.java index 5660acbf1a..0f709eaf2e 100644 --- a/dist/game/data/scripts/handlers/effecthandlers/PhysicalSoulAttack.java +++ b/dist/game/data/scripts/handlers/effecthandlers/PhysicalSoulAttack.java @@ -28,7 +28,6 @@ import com.l2jserver.gameserver.model.skills.BuffInfo; import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.model.stats.Formulas; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.serverpackets.SystemMessage; /** * Physical Soul Attack effect implementation. @@ -79,14 +78,6 @@ public final class PhysicalSoulAttack extends AbstractEffect return; } - if (((skill.getFlyRadius() > 0) || (skill.getFlyType() != null)) && activeChar.isMovementDisabled()) - { - final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CANNOT_BE_USED); - sm.addSkillName(skill); - activeChar.sendPacket(sm); - return; - } - if (target.isPlayer() && target.getActingPlayer().isFakeDeath()) { target.stopFakeDeath(true); diff --git a/dist/game/data/scripts/handlers/effecthandlers/ThrowUp.java b/dist/game/data/scripts/handlers/effecthandlers/ThrowUp.java index fc79b6854e..7eaef9d31a 100644 --- a/dist/game/data/scripts/handlers/effecthandlers/ThrowUp.java +++ b/dist/game/data/scripts/handlers/effecthandlers/ThrowUp.java @@ -105,6 +105,7 @@ public final class ThrowUp extends AbstractEffect final Location destination = GeoData.getInstance().moveCheck(curX, curY, curZ, x, y, z, target.getInstanceId()); target.broadcastPacket(new FlyToLocation(target, destination, FlyType.THROW_UP)); + // TODO: Review. target.setXYZ(destination); target.broadcastPacket(new ValidateLocation(target)); diff --git a/dist/game/data/stats/skills/00400-00499.xml b/dist/game/data/stats/skills/00400-00499.xml index 07b97ac28a..7912c4b446 100644 --- a/dist/game/data/stats/skills/00400-00499.xml +++ b/dist/game/data/stats/skills/00400-00499.xml @@ -2882,7 +2882,9 @@ </and> </cond> <effects> - <effect name="EnemyCharge" /> + <effect name="EnemyCharge"> + <param flyRadius="200" /> + </effect> </effects> </skill> <skill id="485" levels="7" name="Disarm" enchantGroup1="1" enchantGroup2="1"> @@ -3240,14 +3242,18 @@ <param power="1" /> </effect> <effect name="Stun" /> - <effect name="EnemyCharge" /> + <effect name="EnemyCharge"> + <param flyRadius="200" /> + </effect> </effects> <enchant1Effects> <effect name="PhysicalSoulAttack"> <param power="#ench1Power" /> </effect> <effect name="Stun" /> - <effect name="EnemyCharge" /> + <effect name="EnemyCharge"> + <param flyRadius="200" /> + </effect> </enchant1Effects> <enchant7Effects> </enchant7Effects> @@ -3256,14 +3262,18 @@ <param power="#ench7Duel" /> </effect> <effect name="Stun" /> - <effect name="EnemyCharge" /> + <effect name="EnemyCharge"> + <param flyRadius="200" /> + </effect> </enchant7pvpEffects> <enchant7pveEffects> <effect name="PhysicalSoulAttack"> <param power="1" /> </effect> <effect name="Stun" /> - <effect name="EnemyCharge" /> + <effect name="EnemyCharge"> + <param flyRadius="200" /> + </effect> </enchant7pveEffects> </skill> <skill id="495" levels="10" name="Blade Rush" enchantGroup1="2" enchantGroup2="2" enchantGroup3="2" enchantGroup4="2"> diff --git a/dist/game/data/stats/skills/00600-00699.xml b/dist/game/data/stats/skills/00600-00699.xml index 266c6ae4db..c6b9ba31de 100644 --- a/dist/game/data/stats/skills/00600-00699.xml +++ b/dist/game/data/stats/skills/00600-00699.xml @@ -541,6 +541,7 @@ <!-- High Five Confirmed --> <set name="affectScope" val="SINGLE" /> <set name="coolTime" val="200" /> + <set name="flyType" val="DUMMY" /> <set name="hitTime" val="100" /> <set name="icon" val="icon.skill0484" /> <set name="isMagic" val="1" /> diff --git a/dist/game/data/stats/skills/00800-00899.xml b/dist/game/data/stats/skills/00800-00899.xml index 1400146be2..c18edc911a 100644 --- a/dist/game/data/stats/skills/00800-00899.xml +++ b/dist/game/data/stats/skills/00800-00899.xml @@ -1916,6 +1916,7 @@ <set name="affectScope" val="POINT_BLANK" /> <set name="coolTime" val="200" /> <set name="effectPoint" val="-659" /> + <set name="flyType" val="DUMMY" /> <set name="hitTime" val="100" /> <set name="icon" val="icon.skill_transform_etc" /> <set name="magicLvl" val="75" /> diff --git a/dist/game/data/stats/skills/00900-00999.xml b/dist/game/data/stats/skills/00900-00999.xml index 0b49329a1a..9015dd41a9 100644 --- a/dist/game/data/stats/skills/00900-00999.xml +++ b/dist/game/data/stats/skills/00900-00999.xml @@ -1998,7 +1998,9 @@ <param power="1" /> </effect> <effect name="Stun" /> - <effect name="EnemyCharge" /> + <effect name="EnemyCharge"> + <param flyRadius="200" /> + </effect> </effects> </skill> <skill id="979" levels="6" name="Aggression"> @@ -2453,7 +2455,9 @@ </and> </cond> <effects> - <effect name="EnemyCharge" /> + <effect name="EnemyCharge"> + <param flyRadius="200" /> + </effect> </effects> </skill> <skill id="995" levels="1" name="Rush Impact"> @@ -2593,7 +2597,9 @@ </and> </cond> <effects> - <effect name="EnemyCharge" /> + <effect name="EnemyCharge"> + <param flyRadius="200" /> + </effect> </effects> </skill> </list> diff --git a/dist/game/data/stats/skills/01400-01499.xml b/dist/game/data/stats/skills/01400-01499.xml index e4f895d81f..4e88605ffe 100644 --- a/dist/game/data/stats/skills/01400-01499.xml +++ b/dist/game/data/stats/skills/01400-01499.xml @@ -1832,6 +1832,7 @@ <set name="basicProperty" val="CON" /> <set name="coolTime" val="200" /> <set name="effectPoint" val="-575" /> + <set name="flyType" val="DUMMY" /> <set name="hitTime" val="300" /> <set name="icon" val="icon.skill1448" /> <set name="isDebuff" val="true" /> diff --git a/dist/game/data/stats/skills/04100-04199.xml b/dist/game/data/stats/skills/04100-04199.xml index 363b0cc2c6..8bd94a0096 100644 --- a/dist/game/data/stats/skills/04100-04199.xml +++ b/dist/game/data/stats/skills/04100-04199.xml @@ -198,6 +198,7 @@ <set name="element" val="0" /> <!-- Fire --> <set name="elementPower" val="180" /> <set name="fanRange" val="0,180,1500,400" /> + <set name="flyType" val="THROW_UP" /> <set name="hitTime" val="4000" /> <set name="icon" val="icon.skill4107" /> <set name="isDebuff" val="true" /> diff --git a/dist/game/data/stats/skills/04600-04699.xml b/dist/game/data/stats/skills/04600-04699.xml index acaac47450..50b2463ecf 100644 --- a/dist/game/data/stats/skills/04600-04699.xml +++ b/dist/game/data/stats/skills/04600-04699.xml @@ -2181,6 +2181,7 @@ <set name="element" val="0" /> <!-- Fire --> <set name="elementPower" val="180" /> <set name="fanRange" val="0,180,250,500" /> + <set name="flyType" val="THROW_UP" /> <set name="hitTime" val="3000" /> <set name="icon" val="icon.skill4688" /> <set name="isDebuff" val="true" /> diff --git a/dist/game/data/stats/skills/05000-05099.xml b/dist/game/data/stats/skills/05000-05099.xml index ca65ed5024..041d7f74f0 100644 --- a/dist/game/data/stats/skills/05000-05099.xml +++ b/dist/game/data/stats/skills/05000-05099.xml @@ -85,6 +85,7 @@ <set name="effectPoint" val="-100" /> <set name="element" val="5" /> <!-- Dark --> <set name="elementPower" val="180" /> + <set name="flyType" val="THROW_UP" /> <set name="hitTime" val="5800" /> <set name="icon" val="icon.skill0100" /> <set name="isDebuff" val="true" /> @@ -337,7 +338,6 @@ <set name="element" val="5" /> <!-- Dark --> <set name="elementPower" val="180" /> <set name="fanRange" val="#fanRange" /> - <set name="flyRadius" val="#radius" /> <set name="flyType" val="CHARGE" /> <set name="hitTime" val="1500" /> <set name="magicLvl" val="85" /> @@ -351,6 +351,9 @@ <effect name="PhysicalAttack"> <param power="#power" /> </effect> + <effect name="EnemyCharge"> + <param flyRadius="#radius" /> + </effect> </effects> </skill> <skill id="5016" levels="1" name="Yoke of Scarlet"> diff --git a/dist/game/data/stats/skills/05100-05199.xml b/dist/game/data/stats/skills/05100-05199.xml index 565263cbc0..31dfeb5b20 100644 --- a/dist/game/data/stats/skills/05100-05199.xml +++ b/dist/game/data/stats/skills/05100-05199.xml @@ -1750,6 +1750,7 @@ <!-- Confirmed CT2.5 --> <set name="affectRange" val="300" /> <set name="effectPoint" val="-100" /> + <set name="flyType" val="THROW_UP" /> <set name="icon" val="icon.skill0100" /> <set name="magicLvl" val="85" /> <set name="operateType" val="A1" /> diff --git a/dist/game/data/stats/skills/05200-05299.xml b/dist/game/data/stats/skills/05200-05299.xml index c413936395..9c07868dcc 100644 --- a/dist/game/data/stats/skills/05200-05299.xml +++ b/dist/game/data/stats/skills/05200-05299.xml @@ -604,6 +604,7 @@ <set name="castRange" val="600" /> <set name="effectPoint" val="-100" /> <set name="effectRange" val="1100" /> + <set name="flyType" val="THROW_UP" /> <set name="hitTime" val="2800" /> <set name="icon" val="icon.skill0100" /> <set name="isDebuff" val="true" /> diff --git a/dist/game/data/stats/skills/05400-05499.xml b/dist/game/data/stats/skills/05400-05499.xml index 30f8764fef..923084e67b 100644 --- a/dist/game/data/stats/skills/05400-05499.xml +++ b/dist/game/data/stats/skills/05400-05499.xml @@ -21,6 +21,7 @@ <set name="affectRange" val="300" /> <set name="affectScope" val="POINT_BLANK" /> <set name="effectPoint" val="-100" /> + <set name="flyType" val="THROW_UP" /> <set name="hitTime" val="5800" /> <set name="icon" val="icon.skill0100" /> <set name="isDebuff" val="true" /> @@ -1291,6 +1292,7 @@ <skill id="5494" levels="1" name="Gust"> <!-- Confirmed CT2.5 --> <set name="effectPoint" val="1" /> + <set name="flyType" val="THROW_UP" /> <set name="magicLvl" val="86" /> <set name="operateType" val="A1" /> <set name="rideState" val="NONE" /> diff --git a/dist/game/data/stats/skills/06000-06099.xml b/dist/game/data/stats/skills/06000-06099.xml index 0bef29da56..dc115af3a5 100644 --- a/dist/game/data/stats/skills/06000-06099.xml +++ b/dist/game/data/stats/skills/06000-06099.xml @@ -427,7 +427,9 @@ <effect name="PhysicalAttack"> <param power="2372" /> </effect> - <effect name="EnemyCharge" /> + <effect name="EnemyCharge"> + <param flyRadius="200" /> + </effect> </effects> </skill> <skill id="6042" levels="1" name="Phoenix Cleanse"> diff --git a/dist/game/data/stats/skills/06200-06299.xml b/dist/game/data/stats/skills/06200-06299.xml index b52fa997b6..77aa3c5d5e 100644 --- a/dist/game/data/stats/skills/06200-06299.xml +++ b/dist/game/data/stats/skills/06200-06299.xml @@ -1302,7 +1302,9 @@ <effect name="PhysicalAttack"> <param power="4563" /> </effect> - <effect name="EnemyCharge" /> + <effect name="EnemyCharge"> + <param flyRadius="250" /> + </effect> </effects> </skill> <skill id="6293" levels="1" name="Power Strike"> @@ -1387,7 +1389,9 @@ <effect name="PhysicalAttack"> <param power="4563" /> </effect> - <effect name="EnemyCharge" /> + <effect name="EnemyCharge"> + <param flyRadius="250" /> + </effect> </effects> </skill> <skill id="6297" levels="1" name="Cylinder Throw"> diff --git a/dist/game/data/stats/skills/06600-06699.xml b/dist/game/data/stats/skills/06600-06699.xml index 69745cbce1..789aa4bbb6 100644 --- a/dist/game/data/stats/skills/06600-06699.xml +++ b/dist/game/data/stats/skills/06600-06699.xml @@ -692,7 +692,9 @@ <effect name="PhysicalAttack"> <param power="2319" /> </effect> - <effect name="EnemyCharge" /> + <effect name="EnemyCharge"> + <param flyRadius="200" /> + </effect> </effects> </skill> <skill id="6643" levels="1" name="Holy Strike"> diff --git a/dist/game/data/stats/skills/07000-07099.xml b/dist/game/data/stats/skills/07000-07099.xml index 36b381648c..580ed4396a 100644 --- a/dist/game/data/stats/skills/07000-07099.xml +++ b/dist/game/data/stats/skills/07000-07099.xml @@ -1163,6 +1163,7 @@ <set name="affectScope" val="RANGE" /> <set name="basicProperty" val="CON" /> <set name="coolTime" val="200" /> + <set name="flyType" val="DUMMY" /> <set name="hitTime" val="300" /> <set name="isMagic" val="1" /> <set name="lvlBonusRate" val="1" /> diff --git a/dist/game/data/xsd/skills.xsd b/dist/game/data/xsd/skills.xsd index 8ba313b9e3..a4023bc69b 100644 --- a/dist/game/data/xsd/skills.xsd +++ b/dist/game/data/xsd/skills.xsd @@ -42,8 +42,6 @@ <xs:enumeration value="excludedFromCheck" /> <xs:enumeration value="fanRange" /> <xs:enumeration value="feed" /> - <xs:enumeration value="flyCourse" /> - <xs:enumeration value="flyRadius" /> <xs:enumeration value="flyType" /> <xs:enumeration value="halfKillRate" /> <xs:enumeration value="hitTime" /> -- GitLab