From 8bca83e8f5f92ae98b9c5751058d0e9db4211094 Mon Sep 17 00:00:00 2001 From: Adry_85 <Adrya85@hotmail.it> Date: Fri, 29 Mar 2013 14:39:35 +0000 Subject: [PATCH] =?UTF-8?q?BETA:=20DP-Part=20for=20=E2=80=8B[L5918].?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/scripts/handlers/MasterHandler.java | 2 - .../effecthandlers/ManaHealByLevel.java | 4 +- .../skillhandlers/ManaHealByLevel.java | 165 ------------------ .../scripts/handlers/targethandlers/One.java | 4 +- .../game/data/stats/skills/01000-01099.xml | 1 - .../game/data/stats/skills/01100-01199.xml | 1 - .../game/data/stats/skills/03100-03199.xml | 1 - .../game/data/stats/skills/04000-04099.xml | 1 - .../game/data/stats/skills/05200-05299.xml | 5 +- .../game/data/stats/skills/06700-06799.xml | 2 +- 10 files changed, 6 insertions(+), 180 deletions(-) delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/ManaHealByLevel.java diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/MasterHandler.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/MasterHandler.java index 45e1753c42..d32d9f2410 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/MasterHandler.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/MasterHandler.java @@ -226,7 +226,6 @@ import handlers.skillhandlers.GiveVitality; import handlers.skillhandlers.Heal; import handlers.skillhandlers.HealPercent; import handlers.skillhandlers.InstantJump; -import handlers.skillhandlers.ManaHealByLevel; import handlers.skillhandlers.Manadam; import handlers.skillhandlers.Mdam; import handlers.skillhandlers.NornilsPower; @@ -560,7 +559,6 @@ public class MasterHandler Dummy.class, RefuelAirShip.class, NornilsPower.class, - ManaHealByLevel.class, }, { // User Command Handlers diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealByLevel.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealByLevel.java index f057fdb2fc..ea86199299 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealByLevel.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ManaHealByLevel.java @@ -48,13 +48,12 @@ public class ManaHealByLevel extends L2Effect public boolean onStart() { L2Character target = getEffected(); - if ((target == null) || target.isDead() || target.isDoor()) + if ((target == null) || target.isDead() || target.isDoor() || target.isInvul()) { return false; } StatusUpdate su = new StatusUpdate(target); - double amount = calc(); // recharged mp influenced by difference between target level and skill level @@ -125,7 +124,6 @@ public class ManaHealByLevel extends L2Effect target.sendPacket(sm); su.addAttribute(StatusUpdate.CUR_MP, (int) target.getCurrentMp()); target.sendPacket(su); - return true; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/ManaHealByLevel.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/ManaHealByLevel.java deleted file mode 100644 index 7251f58c01..0000000000 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/ManaHealByLevel.java +++ /dev/null @@ -1,165 +0,0 @@ -/* - * Copyright (C) 2004-2013 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.skillhandlers; - -import com.l2jserver.gameserver.handler.ISkillHandler; -import com.l2jserver.gameserver.model.L2Object; -import com.l2jserver.gameserver.model.ShotType; -import com.l2jserver.gameserver.model.actor.L2Character; -import com.l2jserver.gameserver.model.effects.L2Effect; -import com.l2jserver.gameserver.model.skills.L2Skill; -import com.l2jserver.gameserver.model.skills.L2SkillType; -import com.l2jserver.gameserver.model.stats.Stats; -import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.serverpackets.StatusUpdate; -import com.l2jserver.gameserver.network.serverpackets.SystemMessage; - -/** - * @version $Revision: 1.1.2.2.2.1 $ $Date: 2005/03/02 15:38:36 $ - */ -public class ManaHealByLevel implements ISkillHandler -{ - private static final L2SkillType[] SKILL_IDS = - { - L2SkillType.MANAHEAL_BY_LEVEL - }; - - @Override - public void useSkill(L2Character activeChar, L2Skill skill, L2Object[] targets) - { - for (L2Character target : (L2Character[]) targets) - { - if (target.isInvul()) - { - continue; - } - - double mp = skill.getPower(); - - // recharged mp influenced by difference between target level and skill level - // if target is within 5 levels or lower then skill level there's no penalty. - mp = target.calcStat(Stats.RECHARGE_MP_RATE, mp, null, null); - if (target.getLevel() > skill.getMagicLevel()) - { - int lvlDiff = target.getLevel() - skill.getMagicLevel(); - // if target is too high compared to skill level, the amount of recharged mp gradually decreases. - if (lvlDiff == 6) - { - mp *= 0.9; // only 90% effective - } - else if (lvlDiff == 7) - { - mp *= 0.8; // 80% - } - else if (lvlDiff == 8) - { - mp *= 0.7; // 70% - } - else if (lvlDiff == 9) - { - mp *= 0.6; // 60% - } - else if (lvlDiff == 10) - { - mp *= 0.5; // 50% - } - else if (lvlDiff == 11) - { - mp *= 0.4; // 40% - } - else if (lvlDiff == 12) - { - mp *= 0.3; // 30% - } - else if (lvlDiff == 13) - { - mp *= 0.2; // 20% - } - else if (lvlDiff == 14) - { - mp *= 0.1; // 10% - } - else if (lvlDiff >= 15) - { - mp = 0; // 0mp recharged - } - } - - // from CT2 u will receive exact MP, u can't go over it, if u have full MP and u get MP buff, u will receive 0MP restored message - mp = Math.min(mp, target.getMaxRecoverableMp() - target.getCurrentMp()); - - // Prevent negative amounts - if (mp < 0) - { - mp = 0; - } - - target.setCurrentMp(mp + target.getCurrentMp()); - StatusUpdate sump = new StatusUpdate(target); - sump.addAttribute(StatusUpdate.CUR_MP, (int) target.getCurrentMp()); - target.sendPacket(sump); - - SystemMessage sm; - // if skill power is "0 or less" don't show heal system message. - if (skill.getPower() > 0) - { - if (activeChar.isPlayer() && (activeChar != target)) - { - sm = SystemMessage.getSystemMessage(SystemMessageId.S2_MP_RESTORED_BY_C1); - sm.addCharName(activeChar); - } - else - { - sm = SystemMessage.getSystemMessage(SystemMessageId.S1_MP_RESTORED); - } - sm.addNumber((int) mp); - target.sendPacket(sm); - } - - if (skill.hasEffects()) - { - target.stopSkillEffects(skill.getId()); - skill.getEffects(activeChar, target); - sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_FEEL_S1_EFFECT); - sm.addSkillName(skill); - target.sendPacket(sm); - } - } - - if (skill.hasSelfEffects()) - { - L2Effect effect = activeChar.getFirstEffect(skill.getId()); - if ((effect != null) && effect.isSelfEffect()) - { - // Replace old effect with new one. - effect.exit(); - } - // cast self effect if any - skill.getEffectsSelf(activeChar); - } - - activeChar.setChargedShot(activeChar.isChargedShot(ShotType.BLESSED_SPIRITSHOTS) ? ShotType.BLESSED_SPIRITSHOTS : ShotType.SPIRITSHOTS, false); - } - - @Override - public L2SkillType[] getSkillIds() - { - return SKILL_IDS; - } -} diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/One.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/One.java index 3d97e2779a..d2e6423d48 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/One.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/targethandlers/One.java @@ -40,14 +40,12 @@ public class One implements ITargetTypeHandler { case BUFF: case HEAL: - case HEAL_PERCENT: - case MANAHEAL_BY_LEVEL: case DUMMY: canTargetSelf = true; break; default: { - canTargetSelf = skill.hasEffectType(L2EffectType.CANCEL_DEBUFF, L2EffectType.NEGATE, L2EffectType.CPHEAL); + canTargetSelf = skill.hasEffectType(L2EffectType.CANCEL_DEBUFF, L2EffectType.NEGATE, L2EffectType.CPHEAL, L2EffectType.HEAL_PERCENT, L2EffectType.MANAHEAL_BY_LEVEL); break; } } diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/01000-01099.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/01000-01099.xml index f41db48e8b..b7007f2813 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/01000-01099.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/01000-01099.xml @@ -449,7 +449,6 @@ <set name="mpInitialConsume" val="#mpInitialConsume" /> <set name="operateType" val="A1" /> <set name="reuseDelay" val="3000" /> - <set name="skillType" val="MANAHEAL_BY_LEVEL" /> <set name="targetType" val="ONE" /> <enchant1 name="magicLvl" val="#enchMagicLvl" /> <enchant2 name="magicLvl" val="#enchMagicLvl" /> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/01100-01199.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/01100-01199.xml index 390f625239..89daec005c 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/01100-01199.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/01100-01199.xml @@ -279,7 +279,6 @@ <set name="mpInitialConsume" val="#mpInitialConsume" /> <set name="operateType" val="A1" /> <set name="reuseDelay" val="3000" /> - <set name="skillType" val="MANAHEAL_BY_LEVEL" /> <set name="targetType" val="PET" /> <enchant1 name="magicLvl" val="#enchMagicLvl" /> <enchant2 name="magicLvl" val="#enchMagicLvl" /> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/03100-03199.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/03100-03199.xml index f67ed8dbea..9c307d4ac6 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/03100-03199.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/03100-03199.xml @@ -534,7 +534,6 @@ <set name="mpInitialConsume" val="#mpInitialConsume" /> <set name="operateType" val="A1" /> <set name="reuseDelay" val="30000" /> - <set name="skillType" val="MANAHEAL_BY_LEVEL" /> <set name="targetType" val="ONE" /> <for> <effect name="ManaHealByLevel" noicon="1" val="#amount" /> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/04000-04099.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/04000-04099.xml index 711c218d99..ef54873495 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/04000-04099.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/04000-04099.xml @@ -286,7 +286,6 @@ <set name="mpConsume" val="#mpConsume" /> <set name="operateType" val="A1" /> <set name="reuseDelay" val="8000" /> - <set name="skillType" val="MANAHEAL_BY_LEVEL" /> <set name="targetType" val="ONE" /> <for> <effect name="ManaHealByLevel" noicon="1" val="#amount" /> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/05200-05299.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/05200-05299.xml index f32a8a297d..234fe19d3c 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/05200-05299.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/05200-05299.xml @@ -16,10 +16,11 @@ <set name="mpConsume" val="#mpConsume" /> <set name="mpInitialConsume" val="#mpInitialConsume" /> <set name="operateType" val="A1" /> - <set name="power" val="#amount" /> <set name="reuseDelay" val="12000" /> - <set name="skillType" val="MANAHEAL_BY_LEVEL" /> <set name="targetType" val="OWNER_PET" /> + <for> + <effect name="ManaHealByLevel" noicon="1" val="#amount" /> + </for> </skill> <skill id="5201" levels="6" name="Pet Concentration"> <!-- CT2.5 retail confirmed --> diff --git a/L2J_DataPack_BETA/dist/game/data/stats/skills/06700-06799.xml b/L2J_DataPack_BETA/dist/game/data/stats/skills/06700-06799.xml index 6b81e746a5..a8a7bd9ff7 100644 --- a/L2J_DataPack_BETA/dist/game/data/stats/skills/06700-06799.xml +++ b/L2J_DataPack_BETA/dist/game/data/stats/skills/06700-06799.xml @@ -320,8 +320,8 @@ <set name="effectRange" val="900" /> <set name="hitTime" val="6000" /> <set name="isMagic" val="1" /> <!-- Magic Skill --> + <set name="magicLvl" val="80" /> <set name="operateType" val="A1" /> - <set name="skillType" val="MANAHEAL_BY_LEVEL" /> <set name="targetType" val="ONE" /> <for> <effect name="ManaHealByLevel" noicon="1" val="136" /> -- GitLab