diff --git a/dist/game/data/scripts/ai/individual/Beleth.java b/dist/game/data/scripts/ai/individual/Beleth.java index f6c058cdc89c47113826ccdb0fb80e5ab4ca375f..d0bab268122ccddf1a795edeac3600c9b460dda6 100644 --- a/dist/game/data/scripts/ai/individual/Beleth.java +++ b/dist/game/data/scripts/ai/individual/Beleth.java @@ -598,7 +598,7 @@ public final class Beleth extends AbstractNpcAI @Override public String onSkillSee(L2Npc npc, L2PcInstance player, Skill skill, L2Object[] targets, boolean isSummon) { - if (!npc.isDead() && (npc.getId() == REAL_BELETH) && !npc.isCastingNow() && skill.hasEffectType(L2EffectType.HEAL) && (getRandom(100) < 80)) + if (!npc.isDead() && (npc.getId() == REAL_BELETH) && !npc.isCastingNow() && skill.hasEffectType(L2EffectType.HP) && (getRandom(100) < 80)) { npc.setTarget(player); npc.doCast(HORN_OF_RISING); diff --git a/dist/game/data/scripts/gracia/instances/SeedOfInfinity/HallOfSuffering/HallOfSuffering.java b/dist/game/data/scripts/gracia/instances/SeedOfInfinity/HallOfSuffering/HallOfSuffering.java index 570c17a436467f268634a4b1ecccd62d75586972..3cc6f196db6430b6699330c06c358e545726b16f 100644 --- a/dist/game/data/scripts/gracia/instances/SeedOfInfinity/HallOfSuffering/HallOfSuffering.java +++ b/dist/game/data/scripts/gracia/instances/SeedOfInfinity/HallOfSuffering/HallOfSuffering.java @@ -422,7 +422,7 @@ public final class HallOfSuffering extends AbstractInstance @Override public String onSkillSee(L2Npc npc, L2PcInstance caster, Skill skill, L2Object[] targets, boolean isSummon) { - if (skill.hasEffectType(L2EffectType.REBALANCE_HP, L2EffectType.HEAL)) + if (skill.hasEffectType(L2EffectType.REBALANCE_HP, L2EffectType.HP)) { int hate = 2 * skill.getEffectPoint(); if (hate < 2) diff --git a/dist/game/data/scripts/handlers/EffectMasterHandler.java b/dist/game/data/scripts/handlers/EffectMasterHandler.java index 3824dff8996fce892c5115613ecebd4f6a730f0c..3bbd46cb87bbcdc8cc29af2cd982784db96b9af2 100644 --- a/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -103,6 +103,7 @@ public final class EffectMasterHandler HealOverTime.class, HealPercent.class, Hide.class, + Hp.class, HpByLevel.class, HpDrain.class, ImmobileBuff.class, diff --git a/dist/game/data/scripts/handlers/effecthandlers/Heal.java b/dist/game/data/scripts/handlers/effecthandlers/Heal.java index 4dcf1efb98fa033b0141ba7c12fc48586650cda5..5952535758c75de92dca60613ea3cbcc29da8e9f 100644 --- a/dist/game/data/scripts/handlers/effecthandlers/Heal.java +++ b/dist/game/data/scripts/handlers/effecthandlers/Heal.java @@ -51,7 +51,7 @@ public final class Heal extends AbstractEffect @Override public L2EffectType getEffectType() { - return L2EffectType.HEAL; + return L2EffectType.HP; } @Override @@ -129,14 +129,14 @@ public final class Heal extends AbstractEffect { if (activeChar.isPlayer() && (activeChar != target)) { - SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S2_HP_RESTORED_BY_C1); + SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1); sm.addString(activeChar.getName()); sm.addInt((int) amount); target.sendPacket(sm); } else { - SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_HP_RESTORED); + SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_HP_HAS_BEEN_RESTORED); sm.addInt((int) amount); target.sendPacket(sm); } diff --git a/dist/game/data/scripts/handlers/effecthandlers/HealPercent.java b/dist/game/data/scripts/handlers/effecthandlers/HealPercent.java index 9feefd05331985c8be40722e7bc68e9803115c90..5e6929fae671d2bd8b9b678440383db0cb7a80cd 100644 --- a/dist/game/data/scripts/handlers/effecthandlers/HealPercent.java +++ b/dist/game/data/scripts/handlers/effecthandlers/HealPercent.java @@ -45,7 +45,7 @@ public final class HealPercent extends AbstractEffect @Override public L2EffectType getEffectType() { - return L2EffectType.HEAL; + return L2EffectType.HP; } @Override @@ -77,12 +77,12 @@ public final class HealPercent extends AbstractEffect SystemMessage sm; if (info.getEffector().getObjectId() != target.getObjectId()) { - sm = SystemMessage.getSystemMessage(SystemMessageId.S2_HP_RESTORED_BY_C1); + sm = SystemMessage.getSystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1); sm.addCharName(info.getEffector()); } else { - sm = SystemMessage.getSystemMessage(SystemMessageId.S1_HP_RESTORED); + sm = SystemMessage.getSystemMessage(SystemMessageId.S1_HP_HAS_BEEN_RESTORED); } sm.addInt((int) amount); target.sendPacket(sm); diff --git a/dist/game/data/scripts/handlers/effecthandlers/Hp.java b/dist/game/data/scripts/handlers/effecthandlers/Hp.java new file mode 100644 index 0000000000000000000000000000000000000000..beeddf008444db961aa126106535e9636a35c4a0 --- /dev/null +++ b/dist/game/data/scripts/handlers/effecthandlers/Hp.java @@ -0,0 +1,113 @@ +/* + * 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.effects.L2EffectType; +import com.l2jserver.gameserver.model.skills.BuffInfo; +import com.l2jserver.gameserver.network.SystemMessageId; +import com.l2jserver.gameserver.network.serverpackets.SystemMessage; + +/** + * Hp effect implementation. + * @author Adry_85 + * @since 2.6.0.0 + */ +public final class Hp extends AbstractEffect +{ + private final double _amount; + private final EffectCalculationType _mode; + + public Hp(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 L2EffectType getEffectType() + { + return L2EffectType.HP; + } + + @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()) + { + return; + } + + double amount = 0; + switch (_mode) + { + case DIFF: + { + amount = Math.min(_amount, target.getMaxRecoverableHp() - target.getCurrentHp()); + break; + } + case PER: + { + if (_amount < 0) + { + amount = (target.getCurrentHp() * _amount) / 100; + } + else + { + amount = Math.min((target.getMaxHp() * _amount) / 100.0, target.getMaxRecoverableHp() - target.getCurrentHp()); + } + break; + } + } + + if (amount != 0) + { + target.setCurrentHp(amount + target.getCurrentHp()); + } + + if (amount >= 0) + { + if ((activeChar != null) && (activeChar != target)) + { + final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1); + sm.addCharName(activeChar); + sm.addInt((int) amount); + target.sendPacket(sm); + } + else + { + target.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.S1_HP_HAS_BEEN_RESTORED).addInt((int) amount)); + } + } + } +} diff --git a/dist/game/data/scripts/handlers/effecthandlers/HpByLevel.java b/dist/game/data/scripts/handlers/effecthandlers/HpByLevel.java index e3c74835a9c441c93a05356d6f72df8cad428c51..33d945e72e91280303d07522c7586fe6d63940a3 100644 --- a/dist/game/data/scripts/handlers/effecthandlers/HpByLevel.java +++ b/dist/game/data/scripts/handlers/effecthandlers/HpByLevel.java @@ -70,8 +70,6 @@ public final class HpByLevel extends AbstractEffect final int restored = (int) (absorb - activeChar.getCurrentHp()); activeChar.setCurrentHp(absorb); // System message - final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_HP_RESTORED); - sm.addInt(restored); - activeChar.sendPacket(sm); + activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.S1_HP_HAS_BEEN_RESTORED).addInt(restored)); } } diff --git a/dist/game/data/scripts/handlers/effecthandlers/ManaHeal.java b/dist/game/data/scripts/handlers/effecthandlers/ManaHeal.java index 03b5d548ed182cbd5723bfad161cee137fd2351f..62edd0db0c8484f270c9d3b0fdd36a3c18c3cc33 100644 --- a/dist/game/data/scripts/handlers/effecthandlers/ManaHeal.java +++ b/dist/game/data/scripts/handlers/effecthandlers/ManaHeal.java @@ -73,12 +73,12 @@ public final class ManaHeal extends AbstractEffect SystemMessage sm; if (info.getEffector().getObjectId() != target.getObjectId()) { - sm = SystemMessage.getSystemMessage(SystemMessageId.S2_MP_RESTORED_BY_C1); + sm = SystemMessage.getSystemMessage(SystemMessageId.S2_MP_HAS_BEEN_RESTORED_BY_C1); sm.addCharName(info.getEffector()); } else { - sm = SystemMessage.getSystemMessage(SystemMessageId.S1_MP_RESTORED); + 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 665f4a0da21cc8867573bb00b28f06a219e07290..e04a9153bfaf0e8b262737a62ec355eb44193901 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_MP_RESTORED_BY_C1 : SystemMessageId.S1_MP_RESTORED); + final SystemMessage sm = SystemMessage.getSystemMessage(info.getEffector().getObjectId() != target.getObjectId() ? SystemMessageId.S2_HP_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 647fc1e99f750e80163f3319335adb27e76026fd..f686c1c546ff147a3ae7c00f0a24fe918dd7ee07 100644 --- a/dist/game/data/scripts/handlers/effecthandlers/ManaHealPercent.java +++ b/dist/game/data/scripts/handlers/effecthandlers/ManaHealPercent.java @@ -77,12 +77,12 @@ public final class ManaHealPercent extends AbstractEffect SystemMessage sm; if (info.getEffector().getObjectId() != target.getObjectId()) { - sm = SystemMessage.getSystemMessage(SystemMessageId.S2_MP_RESTORED_BY_C1); + sm = SystemMessage.getSystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1); sm.addCharName(info.getEffector()); } else { - sm = SystemMessage.getSystemMessage(SystemMessageId.S1_MP_RESTORED); + 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/MaxHp.java b/dist/game/data/scripts/handlers/effecthandlers/MaxHp.java index 38f60a2bddb9877778990f3b95303a2c2683e956..0c56bd89fcb4dfffe863c607051663653ae3b5cd 100644 --- a/dist/game/data/scripts/handlers/effecthandlers/MaxHp.java +++ b/dist/game/data/scripts/handlers/effecthandlers/MaxHp.java @@ -102,9 +102,7 @@ public final class MaxHp extends AbstractEffect } if (_heal) { - SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_HP_RESTORED); - sm.addInt((int) amount); - effected.sendPacket(sm); + effected.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.S1_HP_HAS_BEEN_RESTORED).addInt((int) amount)); } } diff --git a/dist/game/data/stats/skills/02000-02099.xml b/dist/game/data/stats/skills/02000-02099.xml index ba1e97ca2ae130ec978d6708623d3d7009c9ce88..e8bf1b1de88d575bb8ba669494d17ee4eb355342 100644 --- a/dist/game/data/stats/skills/02000-02099.xml +++ b/dist/game/data/stats/skills/02000-02099.xml @@ -437,8 +437,9 @@ <set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" /> <set name="targetType" val="SELF" /> <effects> - <effect name="Heal"> - <param power="435" /> + <effect name="Hp"> + <param amount="435" /> + <param mode="DIFF" /> </effect> </effects> </skill> diff --git a/dist/game/data/stats/skills/02200-02299.xml b/dist/game/data/stats/skills/02200-02299.xml index d89d9c66da0fcaf2c559e0cfab7e2d103eaf448d..de1586187b51d583915377d9726df4a69a2d2e49 100644 --- a/dist/game/data/stats/skills/02200-02299.xml +++ b/dist/game/data/stats/skills/02200-02299.xml @@ -995,8 +995,9 @@ <player flyMounted="false" /> </cond> <effects> - <effect name="Heal"> - <param power="60" /> + <effect name="Hp"> + <param amount="60" /> + <param mode="DIFF" /> </effect> <effect name="HealPercent"> <param power="17" /> @@ -1928,8 +1929,9 @@ <player levelRange="#levelRange" /> </cond> <effects> - <effect name="Heal"> - <param power="#amount" /> + <effect name="Hp"> + <param amount="#amount" /> + <param mode="DIFF" /> </effect> </effects> </skill> diff --git a/dist/game/data/stats/skills/02300-02399.xml b/dist/game/data/stats/skills/02300-02399.xml index aa098cf15566819905a71c81a575d8affa116190..da2bdcf62a8a81722052b3effdf98f92cb2c38bf 100644 --- a/dist/game/data/stats/skills/02300-02399.xml +++ b/dist/game/data/stats/skills/02300-02399.xml @@ -1865,8 +1865,9 @@ </and> </cond> <effects> - <effect name="Heal"> - <param power="1900" /> + <effect name="Hp"> + <param amount="1900" /> + <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 dc7cd05a8c1c0f883177c73ef534b58dc47602d2..894657d2cae5bac92beba3d558adfbe7395baf7f 100644 --- a/dist/game/data/stats/skills/02800-02899.xml +++ b/dist/game/data/stats/skills/02800-02899.xml @@ -1418,8 +1418,9 @@ <player levelRange="#levelRange" /> </cond> <effects> - <effect name="Heal"> - <param power="#amount" /> + <effect name="Hp"> + <param amount="#amount" /> + <param mode="DIFF" /> </effect> </effects> </skill> @@ -1495,8 +1496,9 @@ <set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" /> <set name="targetType" val="SELF" /> <effects> - <effect name="Heal"> - <param power="870" /> + <effect name="Hp"> + <param amount="870" /> + <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 f213659010804ee2b2c5dc5680b5eee1ecb1eac1..fc3e38f843395bd59b99817de42f5490fda88d95 100644 --- a/dist/game/data/stats/skills/02900-02999.xml +++ b/dist/game/data/stats/skills/02900-02999.xml @@ -141,8 +141,9 @@ <player levelRange="61;75" /> </cond> <effects> - <effect name="Heal"> - <param power="1900" /> + <effect name="Hp"> + <param amount="1900" /> + <param mode="DIFF" /> </effect> </effects> </skill> diff --git a/dist/game/data/stats/skills/04500-04599.xml b/dist/game/data/stats/skills/04500-04599.xml index a22c279e5036e9fcba4743a1b985779fa67cc3a1..8f6c951e08181d7319e81364b8b64765a0097c49 100644 --- a/dist/game/data/stats/skills/04500-04599.xml +++ b/dist/game/data/stats/skills/04500-04599.xml @@ -307,8 +307,9 @@ <set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" /> <set name="targetType" val="SELF" /> <effects> - <effect name="HealPercent"> - <param power="10" /> + <effect name="Hp"> + <param amount="-10" /> + <param mode="PER" /> </effect> </effects> </skill> diff --git a/dist/game/data/stats/skills/04600-04699.xml b/dist/game/data/stats/skills/04600-04699.xml index 8e048cc7ea7d200aa776b3230ea5b8cd06ed4d1d..8aa1004207a6c2b38f4d2004418f0e204a340639 100644 --- a/dist/game/data/stats/skills/04600-04699.xml +++ b/dist/game/data/stats/skills/04600-04699.xml @@ -1354,8 +1354,9 @@ <set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" /> <set name="targetType" val="CORPSE" /> <effects> - <effect name="Heal"> - <param power="#amount" /> + <effect name="Hp"> + <param amount="#amount" /> + <param mode="DIFF" /> </effect> <effect name="ConsumeBody" /> </effects> diff --git a/dist/game/data/stats/skills/05600-05699.xml b/dist/game/data/stats/skills/05600-05699.xml index 02384b375602099ce7b43869db73a7f299ff4617..ad19498c68250157664f08d72fc12a1b8a180284 100644 --- a/dist/game/data/stats/skills/05600-05699.xml +++ b/dist/game/data/stats/skills/05600-05699.xml @@ -54,8 +54,9 @@ <effect name="Debuff"> <mul stat="maxRecoverableHp" val="0.1" /> </effect> - <effect name="HealPercent"> - <param power="-99" /> + <effect name="Hp"> + <param amount="-99" /> + <param mode="PER" /> </effect> </effects> </skill> @@ -1888,8 +1889,9 @@ <set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" /> <set name="targetType" val="SELF" /> <effects> - <effect name="Heal"> - <param power="#amount" /> + <effect name="Hp"> + <param amount="#amount" /> + <param mode="DIFF" /> </effect> </effects> </skill> diff --git a/dist/game/data/stats/skills/05700-05799.xml b/dist/game/data/stats/skills/05700-05799.xml index d4d995093f07a3d33229730f0754ac773b540504..89cec15a9e9a29f3c1a52ff8e3d3118530ca21d9 100644 --- a/dist/game/data/stats/skills/05700-05799.xml +++ b/dist/game/data/stats/skills/05700-05799.xml @@ -228,11 +228,6 @@ <set name="reuseDelay" val="10000" /> <set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" /> <set name="targetType" val="ONE" /> - <effects> - <effect name="Heal"> - <param power="200" /> - </effect> - </effects> </skill> <skill id="5713" levels="5" name="Energy Ditch"> <table name="#abnormalLvls"> 1 2 3 4 5 </table> diff --git a/dist/game/data/stats/skills/05800-05899.xml b/dist/game/data/stats/skills/05800-05899.xml index 37749dfc88052e3e16d48616aad6e0404774c54d..aeb784c3dbe41b94009cddbd24a24c1e39ad0b10 100644 --- a/dist/game/data/stats/skills/05800-05899.xml +++ b/dist/game/data/stats/skills/05800-05899.xml @@ -1676,6 +1676,10 @@ <mul stat="critDmg" val="1.2" /> <mul stat="critRate" val="1.2" /> </effect> + <effect name="Hp"> + <param amount="-33" /> + <param mode="PER" /> + </effect> </effects> </skill> <skill id="5895" levels="1" name="Mark of Cowardice"> @@ -1707,6 +1711,10 @@ <mul stat="regHp" val="0.1" /> <mul stat="runSpd" val="1.25" /> </effect> + <effect name="Hp"> + <param amount="-33" /> + <param mode="PER" /> + </effect> </effects> </skill> <skill id="5896" levels="2" name="Soulless"> diff --git a/dist/game/data/stats/skills/06700-06799.xml b/dist/game/data/stats/skills/06700-06799.xml index 12bac0e60da48fbeaceb94bb4d123c1baac4b834..fa74cf0798c2d968bc938247832ff215f33473eb 100644 --- a/dist/game/data/stats/skills/06700-06799.xml +++ b/dist/game/data/stats/skills/06700-06799.xml @@ -376,8 +376,9 @@ <set name="staticReuse" val="true" /> <set name="targetType" val="SELF" /> <effects> - <effect name="Heal"> - <param power="458" /> + <effect name="Hp"> + <param amount="687" /> + <param mode="DIFF" /> </effect> </effects> </skill> diff --git a/dist/game/data/stats/skills/09000-09099.xml b/dist/game/data/stats/skills/09000-09099.xml index 4d6f1134bf68e1e3f5a7797b7fec3f48d8578d2b..c2c3ae69e5b262b660f4f6479aaada990224529b 100644 --- a/dist/game/data/stats/skills/09000-09099.xml +++ b/dist/game/data/stats/skills/09000-09099.xml @@ -1282,8 +1282,9 @@ <set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" /> <set name="targetType" val="SELF" /> <effects> - <effect name="Heal"> - <param power="2300" /> + <effect name="Hp"> + <param amount="2300" /> + <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 9fd28d0198f808378ef5e3f64145fdcbfabbc964..ad3c4bbac2d2b5988a0ad8f1b7a91e0bd0e1c507 100644 --- a/dist/game/data/stats/skills/22100-22199.xml +++ b/dist/game/data/stats/skills/22100-22199.xml @@ -1542,8 +1542,9 @@ <set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" /> <set name="targetType" val="SELF" /> <effects> - <effect name="Heal"> - <param power="500" /> + <effect name="Hp"> + <param amount="500" /> + <param mode="DIFF" /> </effect> <effect name="ManaHeal"> <param power="200" /> diff --git a/dist/game/data/stats/skills/22200-22299.xml b/dist/game/data/stats/skills/22200-22299.xml index f6434b707750bc050ee0e2aabc1ffe51f61838ee..c0ca49442e2f24b1235d75c923459bd0d1ac7396 100644 --- a/dist/game/data/stats/skills/22200-22299.xml +++ b/dist/game/data/stats/skills/22200-22299.xml @@ -1077,8 +1077,9 @@ <set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" /> <set name="targetType" val="PARTY" /> <effects> - <effect name="Heal"> - <param power="1000" /> <!-- TODO: Custom. --> + <effect name="Hp"> + <param amount="1100" /> + <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 9dd525d350bbf5f52df3a920fb3763122f45dadf..90bbd67438a89d32d65f885404ae4b827a4dd4c5 100644 --- a/dist/game/data/stats/skills/23200-23299.xml +++ b/dist/game/data/stats/skills/23200-23299.xml @@ -198,8 +198,9 @@ <set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" /> <set name="targetType" val="SELF" /> <effects> - <effect name="Heal"> - <param power="500" /> + <effect name="Hp"> + <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 9406faba9b34e93d258bc2893716bd2989546b07..224ba604d0db4ca5d9553d8f9aae26efdd0cc58b 100644 --- a/dist/game/data/stats/skills/26000-26099.xml +++ b/dist/game/data/stats/skills/26000-26099.xml @@ -280,8 +280,9 @@ <set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" /> <set name="targetType" val="SELF" /> <effects> - <effect name="Heal"> - <param power="435" /> + <effect name="Hp"> + <param amount="435" /> + <param mode="DIFF" /> </effect> </effects> </skill> @@ -355,8 +356,9 @@ <player levelRange="#levelRange" /> </cond> <effects> - <effect name="Heal"> - <param power="#amount" /> + <effect name="Hp"> + <param amount="#amount" /> + <param mode="DIFF" /> </effect> </effects> </skill>