From b995d4fcab87ade64b2cb8740ad4580bd4a7da12 Mon Sep 17 00:00:00 2001 From: Adry85 <adrya85@hotmail.it> Date: Fri, 23 Feb 2018 15:27:15 +0100 Subject: [PATCH] Reworked instant MP effect. --- .../scripts/handlers/EffectMasterHandler.java | 2 +- .../scripts/handlers/effecthandlers/Hp.java | 2 +- .../handlers/effecthandlers/ManaHeal.java | 86 ------------ .../effecthandlers/ManaHealByLevel.java | 2 +- .../effecthandlers/ManaHealPercent.java | 2 +- .../scripts/handlers/effecthandlers/Mp.java | 126 ++++++++++++++++++ dist/game/data/stats/skills/00400-00499.xml | 10 +- dist/game/data/stats/skills/00700-00799.xml | 5 + dist/game/data/stats/skills/01100-01199.xml | 15 ++- dist/game/data/stats/skills/01500-01599.xml | 10 +- dist/game/data/stats/skills/02200-02299.xml | 10 +- dist/game/data/stats/skills/02400-02499.xml | 5 +- dist/game/data/stats/skills/02800-02899.xml | 5 +- dist/game/data/stats/skills/02900-02999.xml | 5 +- dist/game/data/stats/skills/04000-04099.xml | 9 +- dist/game/data/stats/skills/04100-04199.xml | 9 +- dist/game/data/stats/skills/04200-04299.xml | 7 +- dist/game/data/stats/skills/05600-05699.xml | 20 +-- dist/game/data/stats/skills/22100-22199.xml | 5 +- dist/game/data/stats/skills/22200-22299.xml | 5 +- dist/game/data/stats/skills/23200-23299.xml | 5 +- dist/game/data/stats/skills/26000-26099.xml | 5 +- .../data/stats/skills/custom/10000-10099.xml | 5 +- 23 files changed, 212 insertions(+), 143 deletions(-) delete mode 100644 dist/game/data/scripts/handlers/effecthandlers/ManaHeal.java create mode 100644 dist/game/data/scripts/handlers/effecthandlers/Mp.java diff --git a/dist/game/data/scripts/handlers/EffectMasterHandler.java b/dist/game/data/scripts/handlers/EffectMasterHandler.java index 3bbd46cb87..f960541c39 100644 --- a/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -115,12 +115,12 @@ public final class EffectMasterHandler MagicalAttackMp.class, MagicalSoulAttack.class, ManaDamOverTime.class, - ManaHeal.class, ManaHealByLevel.class, ManaHealOverTime.class, ManaHealPercent.class, MaxCp.class, MaxHp.class, + Mp.class, MpConsumePerLevel.class, Mute.class, NoblesseBless.class, diff --git a/dist/game/data/scripts/handlers/effecthandlers/Hp.java b/dist/game/data/scripts/handlers/effecthandlers/Hp.java index beeddf0084..4483636604 100644 --- a/dist/game/data/scripts/handlers/effecthandlers/Hp.java +++ b/dist/game/data/scripts/handlers/effecthandlers/Hp.java @@ -63,7 +63,7 @@ public final class Hp extends AbstractEffect { final L2Character target = info.getEffected(); final L2Character activeChar = info.getEffector(); - if ((target == null) || target.isDead() || target.isDoor() || target.isInvul()) + if ((target == null) || target.isDead() || target.isDoor() || target.isInvul() || target.isHpBlocked()) { return; } diff --git a/dist/game/data/scripts/handlers/effecthandlers/ManaHeal.java b/dist/game/data/scripts/handlers/effecthandlers/ManaHeal.java deleted file mode 100644 index 62edd0db0c..0000000000 --- a/dist/game/data/scripts/handlers/effecthandlers/ManaHeal.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright (C) 2004-2018 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 handlers.effecthandlers; - -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.skills.BuffInfo; -import com.l2jserver.gameserver.model.stats.Stats; -import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.serverpackets.SystemMessage; - -/** - * Mana Heal effect implementation. - * @author UnAfraid - */ -public final class ManaHeal extends AbstractEffect -{ - private final double _power; - - public ManaHeal(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) - { - super(attachCond, applyCond, set, params); - - _power = params.getDouble("power", 0); - } - - @Override - public boolean isInstant() - { - return true; - } - - @Override - public void onStart(BuffInfo info) - { - L2Character target = info.getEffected(); - if ((target == null) || target.isDead() || target.isDoor() || target.isInvul() || target.isMpBlocked()) - { - return; - } - - double amount = _power; - - if (!info.getSkill().isStatic()) - { - amount = target.calcStat(Stats.MANA_CHARGE, amount, null, null); - } - - // Prevents overheal and negative amount - amount = Math.max(Math.min(amount, target.getMaxRecoverableMp() - target.getCurrentMp()), 0); - if (amount != 0) - { - target.setCurrentMp(amount + target.getCurrentMp()); - } - SystemMessage sm; - if (info.getEffector().getObjectId() != target.getObjectId()) - { - sm = SystemMessage.getSystemMessage(SystemMessageId.S2_MP_HAS_BEEN_RESTORED_BY_C1); - sm.addCharName(info.getEffector()); - } - else - { - sm = SystemMessage.getSystemMessage(SystemMessageId.S1_MP_HAS_BEEN_RESTORED); - } - sm.addInt((int) amount); - target.sendPacket(sm); - } -} diff --git a/dist/game/data/scripts/handlers/effecthandlers/ManaHealByLevel.java b/dist/game/data/scripts/handlers/effecthandlers/ManaHealByLevel.java index e04a9153bf..6b9bc5e079 100644 --- a/dist/game/data/scripts/handlers/effecthandlers/ManaHealByLevel.java +++ b/dist/game/data/scripts/handlers/effecthandlers/ManaHealByLevel.java @@ -122,7 +122,7 @@ public final class ManaHealByLevel extends AbstractEffect target.setCurrentMp(amount + target.getCurrentMp()); } - final SystemMessage sm = SystemMessage.getSystemMessage(info.getEffector().getObjectId() != target.getObjectId() ? SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1 : SystemMessageId.S1_MP_HAS_BEEN_RESTORED); + final SystemMessage sm = SystemMessage.getSystemMessage(info.getEffector().getObjectId() != target.getObjectId() ? SystemMessageId.S2_MP_HAS_BEEN_RESTORED_BY_C1 : SystemMessageId.S1_MP_HAS_BEEN_RESTORED); if (info.getEffector().getObjectId() != target.getObjectId()) { sm.addCharName(info.getEffector()); diff --git a/dist/game/data/scripts/handlers/effecthandlers/ManaHealPercent.java b/dist/game/data/scripts/handlers/effecthandlers/ManaHealPercent.java index f686c1c546..bdd0f0b022 100644 --- a/dist/game/data/scripts/handlers/effecthandlers/ManaHealPercent.java +++ b/dist/game/data/scripts/handlers/effecthandlers/ManaHealPercent.java @@ -77,7 +77,7 @@ public final class ManaHealPercent extends AbstractEffect SystemMessage sm; if (info.getEffector().getObjectId() != target.getObjectId()) { - sm = SystemMessage.getSystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1); + sm = SystemMessage.getSystemMessage(SystemMessageId.S2_MP_HAS_BEEN_RESTORED_BY_C1); sm.addCharName(info.getEffector()); } else diff --git a/dist/game/data/scripts/handlers/effecthandlers/Mp.java b/dist/game/data/scripts/handlers/effecthandlers/Mp.java new file mode 100644 index 0000000000..eeee8be881 --- /dev/null +++ b/dist/game/data/scripts/handlers/effecthandlers/Mp.java @@ -0,0 +1,126 @@ +/* + * Copyright (C) 2004-2018 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 handlers.effecthandlers; + +import com.l2jserver.gameserver.enums.EffectCalculationType; +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.skills.BuffInfo; +import com.l2jserver.gameserver.model.skills.Skill; +import com.l2jserver.gameserver.model.stats.Stats; +import com.l2jserver.gameserver.network.SystemMessageId; +import com.l2jserver.gameserver.network.serverpackets.SystemMessage; + +/** + * Mp effect implementation. + * @author Adry_85 + * @since 2.6.0.0 + */ +public final class Mp extends AbstractEffect +{ + private final double _amount; + private final EffectCalculationType _mode; + + public Mp(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) + { + super(attachCond, applyCond, set, params); + + _amount = params.getDouble("amount", 0); + _mode = params.getEnum("mode", EffectCalculationType.class, EffectCalculationType.DIFF); + } + + @Override + public boolean isInstant() + { + return true; + } + + @Override + public void onStart(BuffInfo info) + { + final L2Character target = info.getEffected(); + final L2Character activeChar = info.getEffector(); + if ((target == null) || target.isDead() || target.isDoor() || target.isInvul() || target.isMpBlocked()) + { + return; + } + + double amount = 0; + switch (_mode) + { + case DIFF: + { + if (_amount < 0) + { + amount = _amount; + } + else + { + final Skill skill = info.getSkill(); + if (!skill.isStatic()) + { + amount = target.calcStat(Stats.MANA_CHARGE, _amount, null, null); + } + + amount = Math.min(skill.isStatic() ? _amount : amount, target.getMaxRecoverableMp() - target.getCurrentMp()); + } + break; + } + case PER: + { + if (_amount < 0) + { + amount = (target.getCurrentMp() * _amount) / 100; + } + else + { + amount = Math.min((target.getMaxMp() * _amount) / 100.0, target.getMaxRecoverableMp() - target.getCurrentMp()); + } + break; + } + } + + if (amount >= 0) + { + if (amount != 0) + { + target.setCurrentMp(amount + target.getCurrentMp()); + } + + SystemMessage sm; + if ((activeChar != null) && (activeChar != target)) + { + sm = SystemMessage.getSystemMessage(SystemMessageId.S2_MP_HAS_BEEN_RESTORED_BY_C1); + sm.addCharName(info.getEffector()); + sm.addInt((int) amount); + target.sendPacket(sm); + } + else + { + target.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.S1_MP_HAS_BEEN_RESTORED).addInt((int) amount)); + } + } + else + { + target.reduceCurrentMp(Math.abs(amount)); + } + } +} diff --git a/dist/game/data/stats/skills/00400-00499.xml b/dist/game/data/stats/skills/00400-00499.xml index 17ac3d4e73..8ee3054460 100644 --- a/dist/game/data/stats/skills/00400-00499.xml +++ b/dist/game/data/stats/skills/00400-00499.xml @@ -954,13 +954,15 @@ <set name="rideState" val="NONE" /> <set name="targetType" val="SELF" /> <effects> - <effect name="ManaHeal"> - <param power="#amount" /> + <effect name="Mp"> + <param amount="#amount" /> + <param mode="DIFF" /> </effect> </effects> <enchant1Effects> - <effect name="ManaHeal"> - <param power="#ench1amount" /> + <effect name="Mp"> + <param amount="#ench1amount" /> + <param mode="DIFF" /> </effect> </enchant1Effects> </skill> diff --git a/dist/game/data/stats/skills/00700-00799.xml b/dist/game/data/stats/skills/00700-00799.xml index c7d63baa2b..455eb6e902 100644 --- a/dist/game/data/stats/skills/00700-00799.xml +++ b/dist/game/data/stats/skills/00700-00799.xml @@ -434,6 +434,7 @@ </skill> <skill id="715" levels="4" name="Zaken Energy Drain"> <!-- Confirmed CT2.5 --> + <table name="#amount"> -274 -348 -422 -496 </table> <table name="#effectPoints"> -307 -323 -335 -342 </table> <table name="#magicLvl"> 65 70 75 80 </table> <table name="#mpConsume2"> 60 65 69 72 </table> @@ -459,6 +460,10 @@ <param power="#power" /> <param drain="0.4" /> </effect> + <effect name="Mp"> + <param amount="#amount" /> + <param mode="DIFF" /> + </effect> </effects> </skill> <skill id="716" levels="4" name="Zaken Hold"> diff --git a/dist/game/data/stats/skills/01100-01199.xml b/dist/game/data/stats/skills/01100-01199.xml index b55f86aa00..3927947868 100644 --- a/dist/game/data/stats/skills/01100-01199.xml +++ b/dist/game/data/stats/skills/01100-01199.xml @@ -913,13 +913,15 @@ <set name="targetType" val="SELF" /> <enchant2 name="hpConsume" val="#ench2hpConsume" /> <effects> - <effect name="ManaHeal"> - <param power="#amount" /> + <effect name="Mp"> + <param amount="#amount" /> + <param mode="DIFF" /> </effect> </effects> <enchant1Effects> - <effect name="ManaHeal"> - <param power="#ench1amount" /> + <effect name="Mp"> + <param amount="#ench1amount" /> + <param mode="DIFF" /> </effect> </enchant1Effects> <enchant3Effects> @@ -927,8 +929,9 @@ <param amount="#ench3Bravery" /> <param mode="DIFF" /> </effect> - <effect name="ManaHeal"> - <param power="61" /> + <effect name="Mp"> + <param amount="61" /> + <param mode="DIFF" /> </effect> </enchant3Effects> </skill> diff --git a/dist/game/data/stats/skills/01500-01599.xml b/dist/game/data/stats/skills/01500-01599.xml index 4e7b976b47..4922b9ab5d 100644 --- a/dist/game/data/stats/skills/01500-01599.xml +++ b/dist/game/data/stats/skills/01500-01599.xml @@ -1846,8 +1846,9 @@ </effect> </pveEffects> <selfEffects> - <effect name="ManaHeal"> - <param power="29" /> + <effect name="Mp"> + <param amount="29" /> + <param mode="DIFF" /> </effect> </selfEffects> </skill> @@ -1877,8 +1878,9 @@ </effect> </pveEffects> <selfEffects> - <effect name="ManaHeal"> - <param power="25" /> + <effect name="Mp"> + <param amount="25" /> + <param mode="DIFF" /> </effect> </selfEffects> </skill> diff --git a/dist/game/data/stats/skills/02200-02299.xml b/dist/game/data/stats/skills/02200-02299.xml index de1586187b..2f6a35fd16 100644 --- a/dist/game/data/stats/skills/02200-02299.xml +++ b/dist/game/data/stats/skills/02200-02299.xml @@ -1019,8 +1019,9 @@ <player flyMounted="false" /> </cond> <effects> - <effect name="ManaHeal"> - <param power="20" /> + <effect name="Mp"> + <param amount="20" /> + <param mode="DIFF" /> </effect> <effect name="ManaHealPercent"> <param power="4" /> @@ -1948,8 +1949,9 @@ <player levelRange="#levelRange" /> </cond> <effects> - <effect name="ManaHeal"> - <param power="#amount" /> + <effect name="Mp"> + <param amount="#amount" /> + <param mode="DIFF" /> </effect> </effects> </skill> diff --git a/dist/game/data/stats/skills/02400-02499.xml b/dist/game/data/stats/skills/02400-02499.xml index 992ed42cf7..93f15a2895 100644 --- a/dist/game/data/stats/skills/02400-02499.xml +++ b/dist/game/data/stats/skills/02400-02499.xml @@ -34,8 +34,9 @@ <player level="52" /> </cond> <effects> - <effect name="ManaHeal"> - <param power="360" /> + <effect name="Mp"> + <param amount="360" /> + <param mode="DIFF" /> </effect> </effects> </skill> diff --git a/dist/game/data/stats/skills/02800-02899.xml b/dist/game/data/stats/skills/02800-02899.xml index 894657d2ca..ce7b76d6ed 100644 --- a/dist/game/data/stats/skills/02800-02899.xml +++ b/dist/game/data/stats/skills/02800-02899.xml @@ -1440,8 +1440,9 @@ <player levelRange="#levelRange" /> </cond> <effects> - <effect name="ManaHeal"> - <param power="#amount" /> + <effect name="Mp"> + <param amount="#amount" /> + <param mode="DIFF" /> </effect> </effects> </skill> diff --git a/dist/game/data/stats/skills/02900-02999.xml b/dist/game/data/stats/skills/02900-02999.xml index fc3e38f843..47642a0e6e 100644 --- a/dist/game/data/stats/skills/02900-02999.xml +++ b/dist/game/data/stats/skills/02900-02999.xml @@ -159,8 +159,9 @@ <player levelRange="61;75" /> </cond> <effects> - <effect name="ManaHeal"> - <param power="360" /> + <effect name="Mp"> + <param amount="360" /> + <param mode="DIFF" /> </effect> </effects> </skill> diff --git a/dist/game/data/stats/skills/04000-04099.xml b/dist/game/data/stats/skills/04000-04099.xml index 8a039f6b7b..1fd3097da4 100644 --- a/dist/game/data/stats/skills/04000-04099.xml +++ b/dist/game/data/stats/skills/04000-04099.xml @@ -688,9 +688,9 @@ </skill> <skill id="4039" levels="12" name="NPC MP Drain"> <!-- Freya retail confirmed --> + <table name="#amount"> -34 -57 -78 -105 -134 -165 -194 -206 -216 -224 -229 -232 </table> <table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table> <table name="#mpConsume2"> 13 20 27 35 45 55 65 69 73 75 77 78 </table> - <table name="#power"> 34 57 78 105 134 165 194 206 216 224 229 232 </table> <set name="affectScope" val="SINGLE" /> <set name="castRange" val="600" /> <set name="effectPoint" val="-100" /> @@ -704,9 +704,10 @@ <set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" /> <set name="targetType" val="ENEMY_ONLY" /> <effects> - <effect name="MagicalAttackMp"> - <param power="#power" /> - </effect> + <effect name="Mp"> + <param amount="#amount" /> + <param mode="DIFF" /> + </effect> </effects> </skill> <skill id="4040" levels="12" name="NPC Bow Attack"> diff --git a/dist/game/data/stats/skills/04100-04199.xml b/dist/game/data/stats/skills/04100-04199.xml index 73bdad53a8..3d5f6c4e70 100644 --- a/dist/game/data/stats/skills/04100-04199.xml +++ b/dist/game/data/stats/skills/04100-04199.xml @@ -1250,9 +1250,9 @@ </skill> <skill id="4154" levels="12" name="NPC MP Drain - Magic"> <!-- Freya retail confirmed --> + <table name="#amount"> -34 -57 -78 -105 -134 -165 -194 -206 -216 -224 -229 -232 </table> <table name="#magicLvl"> 10 20 30 40 50 60 70 75 80 85 90 95 </table> <table name="#mpConsume2"> 7 10 14 18 23 28 33 35 37 38 39 39 </table> - <table name="#power"> 34 57 78 105 134 165 194 206 216 224 229 232 </table> <set name="affectScope" val="SINGLE" /> <set name="castRange" val="600" /> <set name="effectPoint" val="-100" /> @@ -1265,9 +1265,10 @@ <set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" /> <set name="targetType" val="ENEMY_ONLY" /> <effects> - <effect name="MagicalAttackMp"> - <param power="#power" /> - </effect> + <effect name="Mp"> + <param amount="#amount" /> + <param mode="DIFF" /> + </effect> </effects> </skill> <skill id="4155" levels="12" name="NPC Twister - Magic"> diff --git a/dist/game/data/stats/skills/04200-04299.xml b/dist/game/data/stats/skills/04200-04299.xml index 8a88b20c1e..c50f784984 100644 --- a/dist/game/data/stats/skills/04200-04299.xml +++ b/dist/game/data/stats/skills/04200-04299.xml @@ -455,9 +455,10 @@ <param power="57" /> <param drain="0.4" /> </effect> - <effect name="ManaDamOverTime"> - <param power="274" /> - </effect> + <effect name="Mp"> + <param amount="-274" /> + <param mode="DIFF" /> + </effect> </effects> </skill> <skill id="4219" levels="1" name="Hold"> diff --git a/dist/game/data/stats/skills/05600-05699.xml b/dist/game/data/stats/skills/05600-05699.xml index ad19498c68..b2286d47b5 100644 --- a/dist/game/data/stats/skills/05600-05699.xml +++ b/dist/game/data/stats/skills/05600-05699.xml @@ -290,8 +290,9 @@ <set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" /> <set name="targetType" val="ONE" /> <effects> - <effect name="ManaHeal"> - <param power="#amount" /> + <effect name="Mp"> + <param amount="#amount" /> + <param mode="DIFF" /> </effect> </effects> </skill> @@ -1443,8 +1444,9 @@ <set name="rideState" val="NONE" /> <set name="targetType" val="SELF" /> <effects> - <effect name="ManaHeal"> - <param power="41" /> + <effect name="Mp"> + <param amount="41" /> + <param mode="DIFF" /> </effect> </effects> </skill> @@ -1456,8 +1458,9 @@ <set name="rideState" val="NONE" /> <set name="targetType" val="SELF" /> <effects> - <effect name="ManaHeal"> - <param power="51" /> + <effect name="Mp"> + <param amount="51" /> + <param mode="DIFF" /> </effect> </effects> </skill> @@ -1469,8 +1472,9 @@ <set name="rideState" val="NONE" /> <set name="targetType" val="SELF" /> <effects> - <effect name="ManaHeal"> - <param power="59" /> + <effect name="Mp"> + <param amount="59" /> + <param mode="DIFF" /> </effect> </effects> </skill> diff --git a/dist/game/data/stats/skills/22100-22199.xml b/dist/game/data/stats/skills/22100-22199.xml index ad3c4bbac2..c6d073ef43 100644 --- a/dist/game/data/stats/skills/22100-22199.xml +++ b/dist/game/data/stats/skills/22100-22199.xml @@ -1546,8 +1546,9 @@ <param amount="500" /> <param mode="DIFF" /> </effect> - <effect name="ManaHeal"> - <param power="200" /> + <effect name="Mp"> + <param amount="200" /> + <param mode="DIFF" /> </effect> </effects> </skill> diff --git a/dist/game/data/stats/skills/22200-22299.xml b/dist/game/data/stats/skills/22200-22299.xml index c0ca49442e..fcb5972e7b 100644 --- a/dist/game/data/stats/skills/22200-22299.xml +++ b/dist/game/data/stats/skills/22200-22299.xml @@ -1093,8 +1093,9 @@ <set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" /> <set name="targetType" val="PARTY" /> <effects> - <effect name="ManaHeal"> - <param power="1000" /> <!-- TODO: Custom. --> + <effect name="Mp"> + <param amount="360" /> + <param mode="DIFF" /> </effect> </effects> </skill> diff --git a/dist/game/data/stats/skills/23200-23299.xml b/dist/game/data/stats/skills/23200-23299.xml index 90bbd67438..47461d3847 100644 --- a/dist/game/data/stats/skills/23200-23299.xml +++ b/dist/game/data/stats/skills/23200-23299.xml @@ -214,8 +214,9 @@ <set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" /> <set name="targetType" val="SELF" /> <effects> - <effect name="ManaHeal"> - <param power="500" /> + <effect name="Mp"> + <param amount="500" /> + <param mode="DIFF" /> </effect> </effects> </skill> diff --git a/dist/game/data/stats/skills/26000-26099.xml b/dist/game/data/stats/skills/26000-26099.xml index 224ba604d0..8540714875 100644 --- a/dist/game/data/stats/skills/26000-26099.xml +++ b/dist/game/data/stats/skills/26000-26099.xml @@ -386,8 +386,9 @@ <set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" /> <set name="targetType" val="SELF" /> <effects> - <effect name="ManaHeal"> - <param power="60" /> + <effect name="Mp"> + <param amount="60" /> + <param mode="DIFF" /> </effect> </effects> </skill> diff --git a/dist/game/data/stats/skills/custom/10000-10099.xml b/dist/game/data/stats/skills/custom/10000-10099.xml index faba19e4cb..de89962d72 100644 --- a/dist/game/data/stats/skills/custom/10000-10099.xml +++ b/dist/game/data/stats/skills/custom/10000-10099.xml @@ -26,8 +26,9 @@ <set name="reuseDelay" val="500" /> <set name="targetType" val="SELF" /> <effects> - <effect name="ManaHeal"> - <param power="100" /> + <effect name="Mp"> + <param amount="100" /> + <param mode="DIFF" /> </effect> </effects> </skill> -- GitLab