From 2b11d5ab5b1cd913b5463d4220a089664f8bbfff Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Thu, 23 Jun 2022 21:26:32 +0000 Subject: [PATCH] DisableSkill effect additions and cleanup. --- .../handlers/effecthandlers/DisableSkill.java | 28 +++---- .../handlers/effecthandlers/DisableSkill.java | 28 +++---- .../handlers/effecthandlers/DisableSkill.java | 28 +++---- .../handlers/effecthandlers/DisableSkill.java | 28 +++---- .../handlers/effecthandlers/DisableSkill.java | 28 +++---- .../handlers/effecthandlers/DisableSkill.java | 28 +++---- .../handlers/effecthandlers/DisableSkill.java | 28 +++---- .../handlers/effecthandlers/DisableSkill.java | 28 +++---- .../handlers/effecthandlers/DisableSkill.java | 28 +++---- .../handlers/effecthandlers/DisableSkill.java | 28 +++---- .../handlers/effecthandlers/DisableSkill.java | 28 +++---- .../handlers/effecthandlers/DisableSkill.java | 28 +++---- .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/DisableSkill.java | 80 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../dist/game/data/xsd/skills.xsd | 1 + .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/DisableSkill.java | 80 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../dist/game/data/xsd/skills.xsd | 1 + .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/DisableSkill.java | 80 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../dist/game/data/xsd/skills.xsd | 1 + .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/DisableSkill.java | 80 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../dist/game/data/xsd/skills.xsd | 1 + .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/DisableSkill.java | 80 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../dist/game/data/xsd/skills.xsd | 1 + .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/DisableSkill.java | 80 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../dist/game/data/xsd/skills.xsd | 1 + .../handlers/effecthandlers/DisableSkill.java | 28 +++---- .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/DisableSkill.java | 80 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../dist/game/data/xsd/skills.xsd | 1 + .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/DisableSkill.java | 80 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../dist/game/data/xsd/skills.xsd | 1 + .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/DisableSkill.java | 80 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../dist/game/data/xsd/skills.xsd | 1 + .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/DisableSkill.java | 80 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../dist/game/data/xsd/skills.xsd | 1 + 53 files changed, 1012 insertions(+), 182 deletions(-) create mode 100644 L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java create mode 100644 L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java create mode 100644 L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java create mode 100644 L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java create mode 100644 L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java create mode 100644 L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java create mode 100644 L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java create mode 100644 L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java create mode 100644 L2J_Mobius_Essence_6.1_BattleChronicle/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java create mode 100644 L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java index 1b0d3e053b..96f21857e4 100644 --- a/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java +++ b/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java @@ -31,36 +31,35 @@ import org.l2jmobius.gameserver.model.skill.Skill; */ public class DisableSkill extends AbstractEffect { - private final Set disableSkills; - private Skill knownSKill; + private final Set _disabledSkills; public DisableSkill(StatSet params) { final String disable = params.getString("disable"); if ((disable != null) && !disable.isEmpty()) { - disableSkills = new HashSet<>(); + _disabledSkills = new HashSet<>(); for (String slot : disable.split(";")) { - disableSkills.add(Integer.parseInt(slot)); + _disabledSkills.add(Integer.parseInt(slot)); } } else { - disableSkills = Collections. emptySet(); + _disabledSkills = Collections.emptySet(); } } @Override public void onStart(Creature effector, Creature effected, Skill skill, Item item) { - for (int disableSkillId : disableSkills) + Skill knownSkill; + for (int disableSkillId : _disabledSkills) { - knownSKill = effected.getKnownSkill(disableSkillId); - if (knownSKill != null) + knownSkill = effected.getKnownSkill(disableSkillId); + if (knownSkill != null) { - effected.disableSkill(knownSKill, 0); - + effected.disableSkill(knownSkill, 0); } } } @@ -68,12 +67,13 @@ public class DisableSkill extends AbstractEffect @Override public void onExit(Creature effector, Creature effected, Skill skill) { - for (int enableSkillId : disableSkills) + Skill knownSkill; + for (int enableSkillId : _disabledSkills) { - knownSKill = effected.getKnownSkill(enableSkillId); - if (knownSKill != null) + knownSkill = effected.getKnownSkill(enableSkillId); + if (knownSkill != null) { - effected.enableSkill(knownSKill); + effected.enableSkill(knownSkill); } } } diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java index 1b0d3e053b..96f21857e4 100644 --- a/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java +++ b/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java @@ -31,36 +31,35 @@ import org.l2jmobius.gameserver.model.skill.Skill; */ public class DisableSkill extends AbstractEffect { - private final Set disableSkills; - private Skill knownSKill; + private final Set _disabledSkills; public DisableSkill(StatSet params) { final String disable = params.getString("disable"); if ((disable != null) && !disable.isEmpty()) { - disableSkills = new HashSet<>(); + _disabledSkills = new HashSet<>(); for (String slot : disable.split(";")) { - disableSkills.add(Integer.parseInt(slot)); + _disabledSkills.add(Integer.parseInt(slot)); } } else { - disableSkills = Collections. emptySet(); + _disabledSkills = Collections.emptySet(); } } @Override public void onStart(Creature effector, Creature effected, Skill skill, Item item) { - for (int disableSkillId : disableSkills) + Skill knownSkill; + for (int disableSkillId : _disabledSkills) { - knownSKill = effected.getKnownSkill(disableSkillId); - if (knownSKill != null) + knownSkill = effected.getKnownSkill(disableSkillId); + if (knownSkill != null) { - effected.disableSkill(knownSKill, 0); - + effected.disableSkill(knownSkill, 0); } } } @@ -68,12 +67,13 @@ public class DisableSkill extends AbstractEffect @Override public void onExit(Creature effector, Creature effected, Skill skill) { - for (int enableSkillId : disableSkills) + Skill knownSkill; + for (int enableSkillId : _disabledSkills) { - knownSKill = effected.getKnownSkill(enableSkillId); - if (knownSKill != null) + knownSkill = effected.getKnownSkill(enableSkillId); + if (knownSkill != null) { - effected.enableSkill(knownSKill); + effected.enableSkill(knownSkill); } } } diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java index 1b0d3e053b..96f21857e4 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java +++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java @@ -31,36 +31,35 @@ import org.l2jmobius.gameserver.model.skill.Skill; */ public class DisableSkill extends AbstractEffect { - private final Set disableSkills; - private Skill knownSKill; + private final Set _disabledSkills; public DisableSkill(StatSet params) { final String disable = params.getString("disable"); if ((disable != null) && !disable.isEmpty()) { - disableSkills = new HashSet<>(); + _disabledSkills = new HashSet<>(); for (String slot : disable.split(";")) { - disableSkills.add(Integer.parseInt(slot)); + _disabledSkills.add(Integer.parseInt(slot)); } } else { - disableSkills = Collections. emptySet(); + _disabledSkills = Collections.emptySet(); } } @Override public void onStart(Creature effector, Creature effected, Skill skill, Item item) { - for (int disableSkillId : disableSkills) + Skill knownSkill; + for (int disableSkillId : _disabledSkills) { - knownSKill = effected.getKnownSkill(disableSkillId); - if (knownSKill != null) + knownSkill = effected.getKnownSkill(disableSkillId); + if (knownSkill != null) { - effected.disableSkill(knownSKill, 0); - + effected.disableSkill(knownSkill, 0); } } } @@ -68,12 +67,13 @@ public class DisableSkill extends AbstractEffect @Override public void onExit(Creature effector, Creature effected, Skill skill) { - for (int enableSkillId : disableSkills) + Skill knownSkill; + for (int enableSkillId : _disabledSkills) { - knownSKill = effected.getKnownSkill(enableSkillId); - if (knownSKill != null) + knownSkill = effected.getKnownSkill(enableSkillId); + if (knownSkill != null) { - effected.enableSkill(knownSKill); + effected.enableSkill(knownSkill); } } } diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java index 1b0d3e053b..96f21857e4 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java @@ -31,36 +31,35 @@ import org.l2jmobius.gameserver.model.skill.Skill; */ public class DisableSkill extends AbstractEffect { - private final Set disableSkills; - private Skill knownSKill; + private final Set _disabledSkills; public DisableSkill(StatSet params) { final String disable = params.getString("disable"); if ((disable != null) && !disable.isEmpty()) { - disableSkills = new HashSet<>(); + _disabledSkills = new HashSet<>(); for (String slot : disable.split(";")) { - disableSkills.add(Integer.parseInt(slot)); + _disabledSkills.add(Integer.parseInt(slot)); } } else { - disableSkills = Collections. emptySet(); + _disabledSkills = Collections.emptySet(); } } @Override public void onStart(Creature effector, Creature effected, Skill skill, Item item) { - for (int disableSkillId : disableSkills) + Skill knownSkill; + for (int disableSkillId : _disabledSkills) { - knownSKill = effected.getKnownSkill(disableSkillId); - if (knownSKill != null) + knownSkill = effected.getKnownSkill(disableSkillId); + if (knownSkill != null) { - effected.disableSkill(knownSKill, 0); - + effected.disableSkill(knownSkill, 0); } } } @@ -68,12 +67,13 @@ public class DisableSkill extends AbstractEffect @Override public void onExit(Creature effector, Creature effected, Skill skill) { - for (int enableSkillId : disableSkills) + Skill knownSkill; + for (int enableSkillId : _disabledSkills) { - knownSKill = effected.getKnownSkill(enableSkillId); - if (knownSKill != null) + knownSkill = effected.getKnownSkill(enableSkillId); + if (knownSkill != null) { - effected.enableSkill(knownSKill); + effected.enableSkill(knownSkill); } } } diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java index 1b0d3e053b..96f21857e4 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java @@ -31,36 +31,35 @@ import org.l2jmobius.gameserver.model.skill.Skill; */ public class DisableSkill extends AbstractEffect { - private final Set disableSkills; - private Skill knownSKill; + private final Set _disabledSkills; public DisableSkill(StatSet params) { final String disable = params.getString("disable"); if ((disable != null) && !disable.isEmpty()) { - disableSkills = new HashSet<>(); + _disabledSkills = new HashSet<>(); for (String slot : disable.split(";")) { - disableSkills.add(Integer.parseInt(slot)); + _disabledSkills.add(Integer.parseInt(slot)); } } else { - disableSkills = Collections. emptySet(); + _disabledSkills = Collections.emptySet(); } } @Override public void onStart(Creature effector, Creature effected, Skill skill, Item item) { - for (int disableSkillId : disableSkills) + Skill knownSkill; + for (int disableSkillId : _disabledSkills) { - knownSKill = effected.getKnownSkill(disableSkillId); - if (knownSKill != null) + knownSkill = effected.getKnownSkill(disableSkillId); + if (knownSkill != null) { - effected.disableSkill(knownSKill, 0); - + effected.disableSkill(knownSkill, 0); } } } @@ -68,12 +67,13 @@ public class DisableSkill extends AbstractEffect @Override public void onExit(Creature effector, Creature effected, Skill skill) { - for (int enableSkillId : disableSkills) + Skill knownSkill; + for (int enableSkillId : _disabledSkills) { - knownSKill = effected.getKnownSkill(enableSkillId); - if (knownSKill != null) + knownSkill = effected.getKnownSkill(enableSkillId); + if (knownSkill != null) { - effected.enableSkill(knownSKill); + effected.enableSkill(knownSkill); } } } diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java index 1b0d3e053b..96f21857e4 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java @@ -31,36 +31,35 @@ import org.l2jmobius.gameserver.model.skill.Skill; */ public class DisableSkill extends AbstractEffect { - private final Set disableSkills; - private Skill knownSKill; + private final Set _disabledSkills; public DisableSkill(StatSet params) { final String disable = params.getString("disable"); if ((disable != null) && !disable.isEmpty()) { - disableSkills = new HashSet<>(); + _disabledSkills = new HashSet<>(); for (String slot : disable.split(";")) { - disableSkills.add(Integer.parseInt(slot)); + _disabledSkills.add(Integer.parseInt(slot)); } } else { - disableSkills = Collections. emptySet(); + _disabledSkills = Collections.emptySet(); } } @Override public void onStart(Creature effector, Creature effected, Skill skill, Item item) { - for (int disableSkillId : disableSkills) + Skill knownSkill; + for (int disableSkillId : _disabledSkills) { - knownSKill = effected.getKnownSkill(disableSkillId); - if (knownSKill != null) + knownSkill = effected.getKnownSkill(disableSkillId); + if (knownSkill != null) { - effected.disableSkill(knownSKill, 0); - + effected.disableSkill(knownSkill, 0); } } } @@ -68,12 +67,13 @@ public class DisableSkill extends AbstractEffect @Override public void onExit(Creature effector, Creature effected, Skill skill) { - for (int enableSkillId : disableSkills) + Skill knownSkill; + for (int enableSkillId : _disabledSkills) { - knownSKill = effected.getKnownSkill(enableSkillId); - if (knownSKill != null) + knownSkill = effected.getKnownSkill(enableSkillId); + if (knownSkill != null) { - effected.enableSkill(knownSKill); + effected.enableSkill(knownSkill); } } } diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java index 1b0d3e053b..96f21857e4 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java @@ -31,36 +31,35 @@ import org.l2jmobius.gameserver.model.skill.Skill; */ public class DisableSkill extends AbstractEffect { - private final Set disableSkills; - private Skill knownSKill; + private final Set _disabledSkills; public DisableSkill(StatSet params) { final String disable = params.getString("disable"); if ((disable != null) && !disable.isEmpty()) { - disableSkills = new HashSet<>(); + _disabledSkills = new HashSet<>(); for (String slot : disable.split(";")) { - disableSkills.add(Integer.parseInt(slot)); + _disabledSkills.add(Integer.parseInt(slot)); } } else { - disableSkills = Collections. emptySet(); + _disabledSkills = Collections.emptySet(); } } @Override public void onStart(Creature effector, Creature effected, Skill skill, Item item) { - for (int disableSkillId : disableSkills) + Skill knownSkill; + for (int disableSkillId : _disabledSkills) { - knownSKill = effected.getKnownSkill(disableSkillId); - if (knownSKill != null) + knownSkill = effected.getKnownSkill(disableSkillId); + if (knownSkill != null) { - effected.disableSkill(knownSKill, 0); - + effected.disableSkill(knownSkill, 0); } } } @@ -68,12 +67,13 @@ public class DisableSkill extends AbstractEffect @Override public void onExit(Creature effector, Creature effected, Skill skill) { - for (int enableSkillId : disableSkills) + Skill knownSkill; + for (int enableSkillId : _disabledSkills) { - knownSKill = effected.getKnownSkill(enableSkillId); - if (knownSKill != null) + knownSkill = effected.getKnownSkill(enableSkillId); + if (knownSkill != null) { - effected.enableSkill(knownSKill); + effected.enableSkill(knownSkill); } } } diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java index 1b0d3e053b..96f21857e4 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java @@ -31,36 +31,35 @@ import org.l2jmobius.gameserver.model.skill.Skill; */ public class DisableSkill extends AbstractEffect { - private final Set disableSkills; - private Skill knownSKill; + private final Set _disabledSkills; public DisableSkill(StatSet params) { final String disable = params.getString("disable"); if ((disable != null) && !disable.isEmpty()) { - disableSkills = new HashSet<>(); + _disabledSkills = new HashSet<>(); for (String slot : disable.split(";")) { - disableSkills.add(Integer.parseInt(slot)); + _disabledSkills.add(Integer.parseInt(slot)); } } else { - disableSkills = Collections. emptySet(); + _disabledSkills = Collections.emptySet(); } } @Override public void onStart(Creature effector, Creature effected, Skill skill, Item item) { - for (int disableSkillId : disableSkills) + Skill knownSkill; + for (int disableSkillId : _disabledSkills) { - knownSKill = effected.getKnownSkill(disableSkillId); - if (knownSKill != null) + knownSkill = effected.getKnownSkill(disableSkillId); + if (knownSkill != null) { - effected.disableSkill(knownSKill, 0); - + effected.disableSkill(knownSkill, 0); } } } @@ -68,12 +67,13 @@ public class DisableSkill extends AbstractEffect @Override public void onExit(Creature effector, Creature effected, Skill skill) { - for (int enableSkillId : disableSkills) + Skill knownSkill; + for (int enableSkillId : _disabledSkills) { - knownSKill = effected.getKnownSkill(enableSkillId); - if (knownSKill != null) + knownSkill = effected.getKnownSkill(enableSkillId); + if (knownSkill != null) { - effected.enableSkill(knownSKill); + effected.enableSkill(knownSkill); } } } diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java index 1b0d3e053b..96f21857e4 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java @@ -31,36 +31,35 @@ import org.l2jmobius.gameserver.model.skill.Skill; */ public class DisableSkill extends AbstractEffect { - private final Set disableSkills; - private Skill knownSKill; + private final Set _disabledSkills; public DisableSkill(StatSet params) { final String disable = params.getString("disable"); if ((disable != null) && !disable.isEmpty()) { - disableSkills = new HashSet<>(); + _disabledSkills = new HashSet<>(); for (String slot : disable.split(";")) { - disableSkills.add(Integer.parseInt(slot)); + _disabledSkills.add(Integer.parseInt(slot)); } } else { - disableSkills = Collections. emptySet(); + _disabledSkills = Collections.emptySet(); } } @Override public void onStart(Creature effector, Creature effected, Skill skill, Item item) { - for (int disableSkillId : disableSkills) + Skill knownSkill; + for (int disableSkillId : _disabledSkills) { - knownSKill = effected.getKnownSkill(disableSkillId); - if (knownSKill != null) + knownSkill = effected.getKnownSkill(disableSkillId); + if (knownSkill != null) { - effected.disableSkill(knownSKill, 0); - + effected.disableSkill(knownSkill, 0); } } } @@ -68,12 +67,13 @@ public class DisableSkill extends AbstractEffect @Override public void onExit(Creature effector, Creature effected, Skill skill) { - for (int enableSkillId : disableSkills) + Skill knownSkill; + for (int enableSkillId : _disabledSkills) { - knownSKill = effected.getKnownSkill(enableSkillId); - if (knownSKill != null) + knownSkill = effected.getKnownSkill(enableSkillId); + if (knownSkill != null) { - effected.enableSkill(knownSKill); + effected.enableSkill(knownSkill); } } } diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java index 1b0d3e053b..96f21857e4 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java @@ -31,36 +31,35 @@ import org.l2jmobius.gameserver.model.skill.Skill; */ public class DisableSkill extends AbstractEffect { - private final Set disableSkills; - private Skill knownSKill; + private final Set _disabledSkills; public DisableSkill(StatSet params) { final String disable = params.getString("disable"); if ((disable != null) && !disable.isEmpty()) { - disableSkills = new HashSet<>(); + _disabledSkills = new HashSet<>(); for (String slot : disable.split(";")) { - disableSkills.add(Integer.parseInt(slot)); + _disabledSkills.add(Integer.parseInt(slot)); } } else { - disableSkills = Collections. emptySet(); + _disabledSkills = Collections.emptySet(); } } @Override public void onStart(Creature effector, Creature effected, Skill skill, Item item) { - for (int disableSkillId : disableSkills) + Skill knownSkill; + for (int disableSkillId : _disabledSkills) { - knownSKill = effected.getKnownSkill(disableSkillId); - if (knownSKill != null) + knownSkill = effected.getKnownSkill(disableSkillId); + if (knownSkill != null) { - effected.disableSkill(knownSKill, 0); - + effected.disableSkill(knownSkill, 0); } } } @@ -68,12 +67,13 @@ public class DisableSkill extends AbstractEffect @Override public void onExit(Creature effector, Creature effected, Skill skill) { - for (int enableSkillId : disableSkills) + Skill knownSkill; + for (int enableSkillId : _disabledSkills) { - knownSKill = effected.getKnownSkill(enableSkillId); - if (knownSKill != null) + knownSkill = effected.getKnownSkill(enableSkillId); + if (knownSkill != null) { - effected.enableSkill(knownSKill); + effected.enableSkill(knownSkill); } } } diff --git a/L2J_Mobius_10.1_MasterClass/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_10.1_MasterClass/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java index 1b0d3e053b..96f21857e4 100644 --- a/L2J_Mobius_10.1_MasterClass/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java +++ b/L2J_Mobius_10.1_MasterClass/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java @@ -31,36 +31,35 @@ import org.l2jmobius.gameserver.model.skill.Skill; */ public class DisableSkill extends AbstractEffect { - private final Set disableSkills; - private Skill knownSKill; + private final Set _disabledSkills; public DisableSkill(StatSet params) { final String disable = params.getString("disable"); if ((disable != null) && !disable.isEmpty()) { - disableSkills = new HashSet<>(); + _disabledSkills = new HashSet<>(); for (String slot : disable.split(";")) { - disableSkills.add(Integer.parseInt(slot)); + _disabledSkills.add(Integer.parseInt(slot)); } } else { - disableSkills = Collections. emptySet(); + _disabledSkills = Collections.emptySet(); } } @Override public void onStart(Creature effector, Creature effected, Skill skill, Item item) { - for (int disableSkillId : disableSkills) + Skill knownSkill; + for (int disableSkillId : _disabledSkills) { - knownSKill = effected.getKnownSkill(disableSkillId); - if (knownSKill != null) + knownSkill = effected.getKnownSkill(disableSkillId); + if (knownSkill != null) { - effected.disableSkill(knownSKill, 0); - + effected.disableSkill(knownSkill, 0); } } } @@ -68,12 +67,13 @@ public class DisableSkill extends AbstractEffect @Override public void onExit(Creature effector, Creature effected, Skill skill) { - for (int enableSkillId : disableSkills) + Skill knownSkill; + for (int enableSkillId : _disabledSkills) { - knownSKill = effected.getKnownSkill(enableSkillId); - if (knownSKill != null) + knownSkill = effected.getKnownSkill(enableSkillId); + if (knownSkill != null) { - effected.enableSkill(knownSKill); + effected.enableSkill(knownSkill); } } } diff --git a/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java index 1b0d3e053b..96f21857e4 100644 --- a/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java +++ b/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java @@ -31,36 +31,35 @@ import org.l2jmobius.gameserver.model.skill.Skill; */ public class DisableSkill extends AbstractEffect { - private final Set disableSkills; - private Skill knownSKill; + private final Set _disabledSkills; public DisableSkill(StatSet params) { final String disable = params.getString("disable"); if ((disable != null) && !disable.isEmpty()) { - disableSkills = new HashSet<>(); + _disabledSkills = new HashSet<>(); for (String slot : disable.split(";")) { - disableSkills.add(Integer.parseInt(slot)); + _disabledSkills.add(Integer.parseInt(slot)); } } else { - disableSkills = Collections. emptySet(); + _disabledSkills = Collections.emptySet(); } } @Override public void onStart(Creature effector, Creature effected, Skill skill, Item item) { - for (int disableSkillId : disableSkills) + Skill knownSkill; + for (int disableSkillId : _disabledSkills) { - knownSKill = effected.getKnownSkill(disableSkillId); - if (knownSKill != null) + knownSkill = effected.getKnownSkill(disableSkillId); + if (knownSkill != null) { - effected.disableSkill(knownSKill, 0); - + effected.disableSkill(knownSkill, 0); } } } @@ -68,12 +67,13 @@ public class DisableSkill extends AbstractEffect @Override public void onExit(Creature effector, Creature effected, Skill skill) { - for (int enableSkillId : disableSkills) + Skill knownSkill; + for (int enableSkillId : _disabledSkills) { - knownSKill = effected.getKnownSkill(enableSkillId); - if (knownSKill != null) + knownSkill = effected.getKnownSkill(enableSkillId); + if (knownSkill != null) { - effected.enableSkill(knownSKill); + effected.enableSkill(knownSkill); } } } diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/EffectMasterHandler.java index 4f3441078a..5d992516e4 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -122,6 +122,7 @@ public class EffectMasterHandler EffectHandler.getInstance().registerHandler("DeleteTopAgro", DeleteTopAgro::new); EffectHandler.getInstance().registerHandler("DetectHiddenObjects", DetectHiddenObjects::new); EffectHandler.getInstance().registerHandler("Detection", Detection::new); + EffectHandler.getInstance().registerHandler("DisableSkill", DisableSkill::new); EffectHandler.getInstance().registerHandler("DisableTargeting", DisableTargeting::new); EffectHandler.getInstance().registerHandler("Disarm", Disarm::new); EffectHandler.getInstance().registerHandler("Disarmor", Disarmor::new); diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java new file mode 100644 index 0000000000..37f1d5e248 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java @@ -0,0 +1,80 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program 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. + * + * This program 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 . + */ +package handlers.effecthandlers; + +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; + +import org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.item.instance.Item; +import org.l2jmobius.gameserver.model.skill.Skill; + +/** + * @author Ofelin + */ +public class DisableSkill extends AbstractEffect +{ + private final Set _disabledSkills; + + public DisableSkill(StatSet params) + { + final String disable = params.getString("disable"); + if ((disable != null) && !disable.isEmpty()) + { + _disabledSkills = new HashSet<>(); + for (String slot : disable.split(";")) + { + _disabledSkills.add(Integer.parseInt(slot)); + } + } + else + { + _disabledSkills = Collections.emptySet(); + } + } + + @Override + public void onStart(Creature effector, Creature effected, Skill skill, Item item) + { + Skill knownSkill; + for (int disableSkillId : _disabledSkills) + { + knownSkill = effected.getKnownSkill(disableSkillId); + if (knownSkill != null) + { + effected.disableSkill(knownSkill, 0); + } + } + } + + @Override + public void onExit(Creature effector, Creature effected, Skill skill) + { + Skill knownSkill; + for (int enableSkillId : _disabledSkills) + { + knownSkill = effected.getKnownSkill(enableSkillId); + if (knownSkill != null) + { + effected.enableSkill(knownSkill); + } + } + } +} \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/stats/skills/documentation.txt index 257facc5a3..129230f88b 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/stats/skills/documentation.txt @@ -92,6 +92,7 @@ DeleteHateOfMe: Has a chance to delete target's hate towards you. DeleteTopAgro: Has a chance to delete target's most hated from the list. DetectHiddenObjects: Finds hidden doors Detection: Detects hidden creatures. +DisableSkill: Disables effectors known skills specified by skill ID. (l2jmobius) DisableTargeting: Disables your target's ability to target. Disarm: Removes the weapon of target player. Disarmor: Removes the armor of target player. diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/xsd/skills.xsd b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/xsd/skills.xsd index 051d34d035..1035161d9e 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/xsd/skills.xsd +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/xsd/skills.xsd @@ -1459,6 +1459,7 @@ + diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/EffectMasterHandler.java index 4f3441078a..5d992516e4 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -122,6 +122,7 @@ public class EffectMasterHandler EffectHandler.getInstance().registerHandler("DeleteTopAgro", DeleteTopAgro::new); EffectHandler.getInstance().registerHandler("DetectHiddenObjects", DetectHiddenObjects::new); EffectHandler.getInstance().registerHandler("Detection", Detection::new); + EffectHandler.getInstance().registerHandler("DisableSkill", DisableSkill::new); EffectHandler.getInstance().registerHandler("DisableTargeting", DisableTargeting::new); EffectHandler.getInstance().registerHandler("Disarm", Disarm::new); EffectHandler.getInstance().registerHandler("Disarmor", Disarmor::new); diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java new file mode 100644 index 0000000000..37f1d5e248 --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java @@ -0,0 +1,80 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program 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. + * + * This program 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 . + */ +package handlers.effecthandlers; + +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; + +import org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.item.instance.Item; +import org.l2jmobius.gameserver.model.skill.Skill; + +/** + * @author Ofelin + */ +public class DisableSkill extends AbstractEffect +{ + private final Set _disabledSkills; + + public DisableSkill(StatSet params) + { + final String disable = params.getString("disable"); + if ((disable != null) && !disable.isEmpty()) + { + _disabledSkills = new HashSet<>(); + for (String slot : disable.split(";")) + { + _disabledSkills.add(Integer.parseInt(slot)); + } + } + else + { + _disabledSkills = Collections.emptySet(); + } + } + + @Override + public void onStart(Creature effector, Creature effected, Skill skill, Item item) + { + Skill knownSkill; + for (int disableSkillId : _disabledSkills) + { + knownSkill = effected.getKnownSkill(disableSkillId); + if (knownSkill != null) + { + effected.disableSkill(knownSkill, 0); + } + } + } + + @Override + public void onExit(Creature effector, Creature effected, Skill skill) + { + Skill knownSkill; + for (int enableSkillId : _disabledSkills) + { + knownSkill = effected.getKnownSkill(enableSkillId); + if (knownSkill != null) + { + effected.enableSkill(knownSkill); + } + } + } +} \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/stats/skills/documentation.txt index 257facc5a3..129230f88b 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/stats/skills/documentation.txt @@ -92,6 +92,7 @@ DeleteHateOfMe: Has a chance to delete target's hate towards you. DeleteTopAgro: Has a chance to delete target's most hated from the list. DetectHiddenObjects: Finds hidden doors Detection: Detects hidden creatures. +DisableSkill: Disables effectors known skills specified by skill ID. (l2jmobius) DisableTargeting: Disables your target's ability to target. Disarm: Removes the weapon of target player. Disarmor: Removes the armor of target player. diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/xsd/skills.xsd b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/xsd/skills.xsd index 2249804e67..f7b6b7b6be 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/xsd/skills.xsd +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/xsd/skills.xsd @@ -1488,6 +1488,7 @@ + diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/EffectMasterHandler.java index 0cfdfe7d56..233f330c86 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -124,6 +124,7 @@ public class EffectMasterHandler EffectHandler.getInstance().registerHandler("DeleteTopAgro", DeleteTopAgro::new); EffectHandler.getInstance().registerHandler("DetectHiddenObjects", DetectHiddenObjects::new); EffectHandler.getInstance().registerHandler("Detection", Detection::new); + EffectHandler.getInstance().registerHandler("DisableSkill", DisableSkill::new); EffectHandler.getInstance().registerHandler("DisableTargeting", DisableTargeting::new); EffectHandler.getInstance().registerHandler("Disarm", Disarm::new); EffectHandler.getInstance().registerHandler("Disarmor", Disarmor::new); diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java new file mode 100644 index 0000000000..37f1d5e248 --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java @@ -0,0 +1,80 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program 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. + * + * This program 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 . + */ +package handlers.effecthandlers; + +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; + +import org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.item.instance.Item; +import org.l2jmobius.gameserver.model.skill.Skill; + +/** + * @author Ofelin + */ +public class DisableSkill extends AbstractEffect +{ + private final Set _disabledSkills; + + public DisableSkill(StatSet params) + { + final String disable = params.getString("disable"); + if ((disable != null) && !disable.isEmpty()) + { + _disabledSkills = new HashSet<>(); + for (String slot : disable.split(";")) + { + _disabledSkills.add(Integer.parseInt(slot)); + } + } + else + { + _disabledSkills = Collections.emptySet(); + } + } + + @Override + public void onStart(Creature effector, Creature effected, Skill skill, Item item) + { + Skill knownSkill; + for (int disableSkillId : _disabledSkills) + { + knownSkill = effected.getKnownSkill(disableSkillId); + if (knownSkill != null) + { + effected.disableSkill(knownSkill, 0); + } + } + } + + @Override + public void onExit(Creature effector, Creature effected, Skill skill) + { + Skill knownSkill; + for (int enableSkillId : _disabledSkills) + { + knownSkill = effected.getKnownSkill(enableSkillId); + if (knownSkill != null) + { + effected.enableSkill(knownSkill); + } + } + } +} \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/stats/skills/documentation.txt index a492864650..991149ba40 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/stats/skills/documentation.txt @@ -94,6 +94,7 @@ DeleteHateOfMe: Has a chance to delete target's hate towards you. DeleteTopAgro: Has a chance to delete target's most hated from the list. DetectHiddenObjects: Finds hidden doors Detection: Detects hidden creatures. +DisableSkill: Disables effectors known skills specified by skill ID. (l2jmobius) DisableTargeting: Disables your target's ability to target. Disarm: Removes the weapon of target player. Disarmor: Removes the armor of target player. diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/xsd/skills.xsd b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/xsd/skills.xsd index 77e2d44cd8..ab7a333af6 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/xsd/skills.xsd +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/xsd/skills.xsd @@ -1488,6 +1488,7 @@ + diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/EffectMasterHandler.java index 784c03164c..4a48ca4c26 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -125,6 +125,7 @@ public class EffectMasterHandler EffectHandler.getInstance().registerHandler("DeleteTopAgro", DeleteTopAgro::new); EffectHandler.getInstance().registerHandler("DetectHiddenObjects", DetectHiddenObjects::new); EffectHandler.getInstance().registerHandler("Detection", Detection::new); + EffectHandler.getInstance().registerHandler("DisableSkill", DisableSkill::new); EffectHandler.getInstance().registerHandler("DisableTargeting", DisableTargeting::new); EffectHandler.getInstance().registerHandler("Disarm", Disarm::new); EffectHandler.getInstance().registerHandler("Disarmor", Disarmor::new); diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java new file mode 100644 index 0000000000..37f1d5e248 --- /dev/null +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java @@ -0,0 +1,80 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program 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. + * + * This program 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 . + */ +package handlers.effecthandlers; + +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; + +import org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.item.instance.Item; +import org.l2jmobius.gameserver.model.skill.Skill; + +/** + * @author Ofelin + */ +public class DisableSkill extends AbstractEffect +{ + private final Set _disabledSkills; + + public DisableSkill(StatSet params) + { + final String disable = params.getString("disable"); + if ((disable != null) && !disable.isEmpty()) + { + _disabledSkills = new HashSet<>(); + for (String slot : disable.split(";")) + { + _disabledSkills.add(Integer.parseInt(slot)); + } + } + else + { + _disabledSkills = Collections.emptySet(); + } + } + + @Override + public void onStart(Creature effector, Creature effected, Skill skill, Item item) + { + Skill knownSkill; + for (int disableSkillId : _disabledSkills) + { + knownSkill = effected.getKnownSkill(disableSkillId); + if (knownSkill != null) + { + effected.disableSkill(knownSkill, 0); + } + } + } + + @Override + public void onExit(Creature effector, Creature effected, Skill skill) + { + Skill knownSkill; + for (int enableSkillId : _disabledSkills) + { + knownSkill = effected.getKnownSkill(enableSkillId); + if (knownSkill != null) + { + effected.enableSkill(knownSkill); + } + } + } +} \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/stats/skills/documentation.txt index 641e68892f..541c98d46c 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/stats/skills/documentation.txt @@ -95,6 +95,7 @@ DeleteHateOfMe: Has a chance to delete target's hate towards you. DeleteTopAgro: Has a chance to delete target's most hated from the list. DetectHiddenObjects: Finds hidden doors Detection: Detects hidden creatures. +DisableSkill: Disables effectors known skills specified by skill ID. (l2jmobius) DisableTargeting: Disables your target's ability to target. Disarm: Removes the weapon of target player. Disarmor: Removes the armor of target player. diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/xsd/skills.xsd b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/xsd/skills.xsd index 4021ae334b..a7c1b1bd5c 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/xsd/skills.xsd +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/xsd/skills.xsd @@ -1490,6 +1490,7 @@ + diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/EffectMasterHandler.java index 784c03164c..4a48ca4c26 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -125,6 +125,7 @@ public class EffectMasterHandler EffectHandler.getInstance().registerHandler("DeleteTopAgro", DeleteTopAgro::new); EffectHandler.getInstance().registerHandler("DetectHiddenObjects", DetectHiddenObjects::new); EffectHandler.getInstance().registerHandler("Detection", Detection::new); + EffectHandler.getInstance().registerHandler("DisableSkill", DisableSkill::new); EffectHandler.getInstance().registerHandler("DisableTargeting", DisableTargeting::new); EffectHandler.getInstance().registerHandler("Disarm", Disarm::new); EffectHandler.getInstance().registerHandler("Disarmor", Disarmor::new); diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java new file mode 100644 index 0000000000..37f1d5e248 --- /dev/null +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java @@ -0,0 +1,80 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program 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. + * + * This program 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 . + */ +package handlers.effecthandlers; + +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; + +import org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.item.instance.Item; +import org.l2jmobius.gameserver.model.skill.Skill; + +/** + * @author Ofelin + */ +public class DisableSkill extends AbstractEffect +{ + private final Set _disabledSkills; + + public DisableSkill(StatSet params) + { + final String disable = params.getString("disable"); + if ((disable != null) && !disable.isEmpty()) + { + _disabledSkills = new HashSet<>(); + for (String slot : disable.split(";")) + { + _disabledSkills.add(Integer.parseInt(slot)); + } + } + else + { + _disabledSkills = Collections.emptySet(); + } + } + + @Override + public void onStart(Creature effector, Creature effected, Skill skill, Item item) + { + Skill knownSkill; + for (int disableSkillId : _disabledSkills) + { + knownSkill = effected.getKnownSkill(disableSkillId); + if (knownSkill != null) + { + effected.disableSkill(knownSkill, 0); + } + } + } + + @Override + public void onExit(Creature effector, Creature effected, Skill skill) + { + Skill knownSkill; + for (int enableSkillId : _disabledSkills) + { + knownSkill = effected.getKnownSkill(enableSkillId); + if (knownSkill != null) + { + effected.enableSkill(knownSkill); + } + } + } +} \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/stats/skills/documentation.txt index 641e68892f..541c98d46c 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/stats/skills/documentation.txt @@ -95,6 +95,7 @@ DeleteHateOfMe: Has a chance to delete target's hate towards you. DeleteTopAgro: Has a chance to delete target's most hated from the list. DetectHiddenObjects: Finds hidden doors Detection: Detects hidden creatures. +DisableSkill: Disables effectors known skills specified by skill ID. (l2jmobius) DisableTargeting: Disables your target's ability to target. Disarm: Removes the weapon of target player. Disarmor: Removes the armor of target player. diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/xsd/skills.xsd b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/xsd/skills.xsd index a1fe9e8e51..790311d36d 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/xsd/skills.xsd +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/xsd/skills.xsd @@ -1490,6 +1490,7 @@ + diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/EffectMasterHandler.java index 8840b4d6ad..cef9fec4ef 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -125,6 +125,7 @@ public class EffectMasterHandler EffectHandler.getInstance().registerHandler("DeleteTopAgro", DeleteTopAgro::new); EffectHandler.getInstance().registerHandler("DetectHiddenObjects", DetectHiddenObjects::new); EffectHandler.getInstance().registerHandler("Detection", Detection::new); + EffectHandler.getInstance().registerHandler("DisableSkill", DisableSkill::new); EffectHandler.getInstance().registerHandler("DisableTargeting", DisableTargeting::new); EffectHandler.getInstance().registerHandler("Disarm", Disarm::new); EffectHandler.getInstance().registerHandler("Disarmor", Disarmor::new); diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java new file mode 100644 index 0000000000..37f1d5e248 --- /dev/null +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java @@ -0,0 +1,80 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program 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. + * + * This program 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 . + */ +package handlers.effecthandlers; + +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; + +import org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.item.instance.Item; +import org.l2jmobius.gameserver.model.skill.Skill; + +/** + * @author Ofelin + */ +public class DisableSkill extends AbstractEffect +{ + private final Set _disabledSkills; + + public DisableSkill(StatSet params) + { + final String disable = params.getString("disable"); + if ((disable != null) && !disable.isEmpty()) + { + _disabledSkills = new HashSet<>(); + for (String slot : disable.split(";")) + { + _disabledSkills.add(Integer.parseInt(slot)); + } + } + else + { + _disabledSkills = Collections.emptySet(); + } + } + + @Override + public void onStart(Creature effector, Creature effected, Skill skill, Item item) + { + Skill knownSkill; + for (int disableSkillId : _disabledSkills) + { + knownSkill = effected.getKnownSkill(disableSkillId); + if (knownSkill != null) + { + effected.disableSkill(knownSkill, 0); + } + } + } + + @Override + public void onExit(Creature effector, Creature effected, Skill skill) + { + Skill knownSkill; + for (int enableSkillId : _disabledSkills) + { + knownSkill = effected.getKnownSkill(enableSkillId); + if (knownSkill != null) + { + effected.enableSkill(knownSkill); + } + } + } +} \ No newline at end of file diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/stats/skills/documentation.txt index bbea9d3307..d655c574db 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/stats/skills/documentation.txt @@ -95,6 +95,7 @@ DeleteHateOfMe: Has a chance to delete target's hate towards you. DeleteTopAgro: Has a chance to delete target's most hated from the list. DetectHiddenObjects: Finds hidden doors Detection: Detects hidden creatures. +DisableSkill: Disables effectors known skills specified by skill ID. (l2jmobius) DisableTargeting: Disables your target's ability to target. Disarm: Removes the weapon of target player. Disarmor: Removes the armor of target player. diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/xsd/skills.xsd b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/xsd/skills.xsd index 9314eaa52a..d97e422c56 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/xsd/skills.xsd +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/xsd/skills.xsd @@ -1471,6 +1471,7 @@ + diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java index 1b0d3e053b..96f21857e4 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java @@ -31,36 +31,35 @@ import org.l2jmobius.gameserver.model.skill.Skill; */ public class DisableSkill extends AbstractEffect { - private final Set disableSkills; - private Skill knownSKill; + private final Set _disabledSkills; public DisableSkill(StatSet params) { final String disable = params.getString("disable"); if ((disable != null) && !disable.isEmpty()) { - disableSkills = new HashSet<>(); + _disabledSkills = new HashSet<>(); for (String slot : disable.split(";")) { - disableSkills.add(Integer.parseInt(slot)); + _disabledSkills.add(Integer.parseInt(slot)); } } else { - disableSkills = Collections. emptySet(); + _disabledSkills = Collections.emptySet(); } } @Override public void onStart(Creature effector, Creature effected, Skill skill, Item item) { - for (int disableSkillId : disableSkills) + Skill knownSkill; + for (int disableSkillId : _disabledSkills) { - knownSKill = effected.getKnownSkill(disableSkillId); - if (knownSKill != null) + knownSkill = effected.getKnownSkill(disableSkillId); + if (knownSkill != null) { - effected.disableSkill(knownSKill, 0); - + effected.disableSkill(knownSkill, 0); } } } @@ -68,12 +67,13 @@ public class DisableSkill extends AbstractEffect @Override public void onExit(Creature effector, Creature effected, Skill skill) { - for (int enableSkillId : disableSkills) + Skill knownSkill; + for (int enableSkillId : _disabledSkills) { - knownSKill = effected.getKnownSkill(enableSkillId); - if (knownSKill != null) + knownSkill = effected.getKnownSkill(enableSkillId); + if (knownSkill != null) { - effected.enableSkill(knownSKill); + effected.enableSkill(knownSkill); } } } diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/EffectMasterHandler.java index f9f0c877ce..9763f10191 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -126,6 +126,7 @@ public class EffectMasterHandler EffectHandler.getInstance().registerHandler("DeleteTopAgro", DeleteTopAgro::new); EffectHandler.getInstance().registerHandler("DetectHiddenObjects", DetectHiddenObjects::new); EffectHandler.getInstance().registerHandler("Detection", Detection::new); + EffectHandler.getInstance().registerHandler("DisableSkill", DisableSkill::new); EffectHandler.getInstance().registerHandler("DisableTargeting", DisableTargeting::new); EffectHandler.getInstance().registerHandler("Disarm", Disarm::new); EffectHandler.getInstance().registerHandler("Disarmor", Disarmor::new); diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java new file mode 100644 index 0000000000..37f1d5e248 --- /dev/null +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java @@ -0,0 +1,80 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program 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. + * + * This program 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 . + */ +package handlers.effecthandlers; + +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; + +import org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.item.instance.Item; +import org.l2jmobius.gameserver.model.skill.Skill; + +/** + * @author Ofelin + */ +public class DisableSkill extends AbstractEffect +{ + private final Set _disabledSkills; + + public DisableSkill(StatSet params) + { + final String disable = params.getString("disable"); + if ((disable != null) && !disable.isEmpty()) + { + _disabledSkills = new HashSet<>(); + for (String slot : disable.split(";")) + { + _disabledSkills.add(Integer.parseInt(slot)); + } + } + else + { + _disabledSkills = Collections.emptySet(); + } + } + + @Override + public void onStart(Creature effector, Creature effected, Skill skill, Item item) + { + Skill knownSkill; + for (int disableSkillId : _disabledSkills) + { + knownSkill = effected.getKnownSkill(disableSkillId); + if (knownSkill != null) + { + effected.disableSkill(knownSkill, 0); + } + } + } + + @Override + public void onExit(Creature effector, Creature effected, Skill skill) + { + Skill knownSkill; + for (int enableSkillId : _disabledSkills) + { + knownSkill = effected.getKnownSkill(enableSkillId); + if (knownSkill != null) + { + effected.enableSkill(knownSkill); + } + } + } +} \ No newline at end of file diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/stats/skills/documentation.txt index 2a0cf7a2b5..89eb3be69b 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/stats/skills/documentation.txt @@ -96,6 +96,7 @@ DeleteHateOfMe: Has a chance to delete target's hate towards you. DeleteTopAgro: Has a chance to delete target's most hated from the list. DetectHiddenObjects: Finds hidden doors Detection: Detects hidden creatures. +DisableSkill: Disables effectors known skills specified by skill ID. (l2jmobius) DisableTargeting: Disables your target's ability to target. Disarm: Removes the weapon of target player. Disarmor: Removes the armor of target player. diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/xsd/skills.xsd b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/xsd/skills.xsd index 29f959d0c5..4a4b5e02e9 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/xsd/skills.xsd +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/xsd/skills.xsd @@ -1615,6 +1615,7 @@ + diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/EffectMasterHandler.java index ba49b48e11..f7c93eb5ba 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -126,6 +126,7 @@ public class EffectMasterHandler EffectHandler.getInstance().registerHandler("DeleteTopAgro", DeleteTopAgro::new); EffectHandler.getInstance().registerHandler("DetectHiddenObjects", DetectHiddenObjects::new); EffectHandler.getInstance().registerHandler("Detection", Detection::new); + EffectHandler.getInstance().registerHandler("DisableSkill", DisableSkill::new); EffectHandler.getInstance().registerHandler("DisableTargeting", DisableTargeting::new); EffectHandler.getInstance().registerHandler("Disarm", Disarm::new); EffectHandler.getInstance().registerHandler("Disarmor", Disarmor::new); diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java new file mode 100644 index 0000000000..37f1d5e248 --- /dev/null +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java @@ -0,0 +1,80 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program 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. + * + * This program 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 . + */ +package handlers.effecthandlers; + +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; + +import org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.item.instance.Item; +import org.l2jmobius.gameserver.model.skill.Skill; + +/** + * @author Ofelin + */ +public class DisableSkill extends AbstractEffect +{ + private final Set _disabledSkills; + + public DisableSkill(StatSet params) + { + final String disable = params.getString("disable"); + if ((disable != null) && !disable.isEmpty()) + { + _disabledSkills = new HashSet<>(); + for (String slot : disable.split(";")) + { + _disabledSkills.add(Integer.parseInt(slot)); + } + } + else + { + _disabledSkills = Collections.emptySet(); + } + } + + @Override + public void onStart(Creature effector, Creature effected, Skill skill, Item item) + { + Skill knownSkill; + for (int disableSkillId : _disabledSkills) + { + knownSkill = effected.getKnownSkill(disableSkillId); + if (knownSkill != null) + { + effected.disableSkill(knownSkill, 0); + } + } + } + + @Override + public void onExit(Creature effector, Creature effected, Skill skill) + { + Skill knownSkill; + for (int enableSkillId : _disabledSkills) + { + knownSkill = effected.getKnownSkill(enableSkillId); + if (knownSkill != null) + { + effected.enableSkill(knownSkill); + } + } + } +} \ No newline at end of file diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/stats/skills/documentation.txt index 8e203417d1..4ba29e877a 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/stats/skills/documentation.txt @@ -96,6 +96,7 @@ DeleteHateOfMe: Has a chance to delete target's hate towards you. DeleteTopAgro: Has a chance to delete target's most hated from the list. DetectHiddenObjects: Finds hidden doors Detection: Detects hidden creatures. +DisableSkill: Disables effectors known skills specified by skill ID. (l2jmobius) DisableTargeting: Disables your target's ability to target. Disarm: Removes the weapon of target player. Disarmor: Removes the armor of target player. diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/xsd/skills.xsd b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/xsd/skills.xsd index 31c11a5113..d6c96de25a 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/xsd/skills.xsd +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/xsd/skills.xsd @@ -1671,6 +1671,7 @@ + diff --git a/L2J_Mobius_Essence_6.1_BattleChronicle/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Essence_6.1_BattleChronicle/dist/game/data/scripts/handlers/EffectMasterHandler.java index 94c16f30ed..1ef4caac26 100644 --- a/L2J_Mobius_Essence_6.1_BattleChronicle/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Essence_6.1_BattleChronicle/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -126,6 +126,7 @@ public class EffectMasterHandler EffectHandler.getInstance().registerHandler("DeleteTopAgro", DeleteTopAgro::new); EffectHandler.getInstance().registerHandler("DetectHiddenObjects", DetectHiddenObjects::new); EffectHandler.getInstance().registerHandler("Detection", Detection::new); + EffectHandler.getInstance().registerHandler("DisableSkill", DisableSkill::new); EffectHandler.getInstance().registerHandler("DisableTargeting", DisableTargeting::new); EffectHandler.getInstance().registerHandler("Disarm", Disarm::new); EffectHandler.getInstance().registerHandler("Disarmor", Disarmor::new); diff --git a/L2J_Mobius_Essence_6.1_BattleChronicle/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_Essence_6.1_BattleChronicle/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java new file mode 100644 index 0000000000..37f1d5e248 --- /dev/null +++ b/L2J_Mobius_Essence_6.1_BattleChronicle/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java @@ -0,0 +1,80 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program 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. + * + * This program 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 . + */ +package handlers.effecthandlers; + +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; + +import org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.item.instance.Item; +import org.l2jmobius.gameserver.model.skill.Skill; + +/** + * @author Ofelin + */ +public class DisableSkill extends AbstractEffect +{ + private final Set _disabledSkills; + + public DisableSkill(StatSet params) + { + final String disable = params.getString("disable"); + if ((disable != null) && !disable.isEmpty()) + { + _disabledSkills = new HashSet<>(); + for (String slot : disable.split(";")) + { + _disabledSkills.add(Integer.parseInt(slot)); + } + } + else + { + _disabledSkills = Collections.emptySet(); + } + } + + @Override + public void onStart(Creature effector, Creature effected, Skill skill, Item item) + { + Skill knownSkill; + for (int disableSkillId : _disabledSkills) + { + knownSkill = effected.getKnownSkill(disableSkillId); + if (knownSkill != null) + { + effected.disableSkill(knownSkill, 0); + } + } + } + + @Override + public void onExit(Creature effector, Creature effected, Skill skill) + { + Skill knownSkill; + for (int enableSkillId : _disabledSkills) + { + knownSkill = effected.getKnownSkill(enableSkillId); + if (knownSkill != null) + { + effected.enableSkill(knownSkill); + } + } + } +} \ No newline at end of file diff --git a/L2J_Mobius_Essence_6.1_BattleChronicle/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Essence_6.1_BattleChronicle/dist/game/data/stats/skills/documentation.txt index 8ef05444ef..9d92ad01e8 100644 --- a/L2J_Mobius_Essence_6.1_BattleChronicle/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Essence_6.1_BattleChronicle/dist/game/data/stats/skills/documentation.txt @@ -96,6 +96,7 @@ DeleteHateOfMe: Has a chance to delete target's hate towards you. DeleteTopAgro: Has a chance to delete target's most hated from the list. DetectHiddenObjects: Finds hidden doors Detection: Detects hidden creatures. +DisableSkill: Disables effectors known skills specified by skill ID. (l2jmobius) DisableTargeting: Disables your target's ability to target. Disarm: Removes the weapon of target player. Disarmor: Removes the armor of target player. diff --git a/L2J_Mobius_Essence_6.1_BattleChronicle/dist/game/data/xsd/skills.xsd b/L2J_Mobius_Essence_6.1_BattleChronicle/dist/game/data/xsd/skills.xsd index 12f6c2cb2a..d7c13db99d 100644 --- a/L2J_Mobius_Essence_6.1_BattleChronicle/dist/game/data/xsd/skills.xsd +++ b/L2J_Mobius_Essence_6.1_BattleChronicle/dist/game/data/xsd/skills.xsd @@ -1684,6 +1684,7 @@ + diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/EffectMasterHandler.java index 1d10d35e21..21c37a7199 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -128,6 +128,7 @@ public class EffectMasterHandler EffectHandler.getInstance().registerHandler("DeleteTopAgro", DeleteTopAgro::new); EffectHandler.getInstance().registerHandler("DetectHiddenObjects", DetectHiddenObjects::new); EffectHandler.getInstance().registerHandler("Detection", Detection::new); + EffectHandler.getInstance().registerHandler("DisableSkill", DisableSkill::new); EffectHandler.getInstance().registerHandler("DisableTargeting", DisableTargeting::new); EffectHandler.getInstance().registerHandler("Disarm", Disarm::new); EffectHandler.getInstance().registerHandler("Disarmor", Disarmor::new); diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java new file mode 100644 index 0000000000..37f1d5e248 --- /dev/null +++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java @@ -0,0 +1,80 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program 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. + * + * This program 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 . + */ +package handlers.effecthandlers; + +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; + +import org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.item.instance.Item; +import org.l2jmobius.gameserver.model.skill.Skill; + +/** + * @author Ofelin + */ +public class DisableSkill extends AbstractEffect +{ + private final Set _disabledSkills; + + public DisableSkill(StatSet params) + { + final String disable = params.getString("disable"); + if ((disable != null) && !disable.isEmpty()) + { + _disabledSkills = new HashSet<>(); + for (String slot : disable.split(";")) + { + _disabledSkills.add(Integer.parseInt(slot)); + } + } + else + { + _disabledSkills = Collections.emptySet(); + } + } + + @Override + public void onStart(Creature effector, Creature effected, Skill skill, Item item) + { + Skill knownSkill; + for (int disableSkillId : _disabledSkills) + { + knownSkill = effected.getKnownSkill(disableSkillId); + if (knownSkill != null) + { + effected.disableSkill(knownSkill, 0); + } + } + } + + @Override + public void onExit(Creature effector, Creature effected, Skill skill) + { + Skill knownSkill; + for (int enableSkillId : _disabledSkills) + { + knownSkill = effected.getKnownSkill(enableSkillId); + if (knownSkill != null) + { + effected.enableSkill(knownSkill); + } + } + } +} \ No newline at end of file diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/stats/skills/documentation.txt index ebd42e1bc4..9ab19b7e0f 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/stats/skills/documentation.txt @@ -98,6 +98,7 @@ DeleteHateOfMe: Has a chance to delete target's hate towards you. DeleteTopAgro: Has a chance to delete target's most hated from the list. DetectHiddenObjects: Finds hidden doors Detection: Detects hidden creatures. +DisableSkill: Disables effectors known skills specified by skill ID. (l2jmobius) DisableTargeting: Disables your target's ability to target. Disarm: Removes the weapon of target player. Disarmor: Removes the armor of target player. diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/xsd/skills.xsd b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/xsd/skills.xsd index 12f6c2cb2a..d7c13db99d 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/xsd/skills.xsd +++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/xsd/skills.xsd @@ -1684,6 +1684,7 @@ +