diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/EffectMasterHandler.java
index 9eacb2421a..cdb7d1f146 100644
--- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/EffectMasterHandler.java
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/EffectMasterHandler.java
@@ -119,6 +119,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_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java
new file mode 100644
index 0000000000..942cf72c52
--- /dev/null
+++ b/L2J_Mobius_1.0_Ertheia/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.StatsSet;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.effects.AbstractEffect;
+import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.model.skills.Skill;
+
+/**
+ * @author Ofelin
+ */
+public class DisableSkill extends AbstractEffect
+{
+ private final Set disableSkills;
+ private Skill knownSKill;
+
+ public DisableSkill(StatsSet params)
+ {
+ String disable = params.getString("disable");
+ if ((disable != null) && !disable.isEmpty())
+ {
+ disableSkills = new HashSet<>();
+ for (String slot : disable.split(";"))
+ {
+ disableSkills.add(Integer.parseInt(slot));
+ }
+ }
+ else
+ {
+ disableSkills = Collections. emptySet();
+ }
+ }
+
+ @Override
+ public void onStart(Creature effector, Creature effected, Skill skill, ItemInstance item)
+ {
+ for (int disableSkillId : disableSkills)
+ {
+ knownSKill = effected.getKnownSkill(disableSkillId);
+ if (knownSKill != null)
+ {
+ effected.disableSkill(knownSKill, 0);
+
+ }
+ }
+ }
+
+ @Override
+ public void onExit(Creature effector, Creature effected, Skill skill)
+ {
+ for (int enableSkillId : disableSkills)
+ {
+ knownSKill = effected.getKnownSkill(enableSkillId);
+ if (knownSKill != null)
+ {
+ effected.enableSkill(knownSKill);
+ }
+ }
+ }
+}
diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/10500-10599.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/10500-10599.xml
index 164f8edf42..40b047714c 100644
--- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/10500-10599.xml
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/10500-10599.xml
@@ -1842,13 +1842,14 @@
93
T
5
- 1
+ 200
+ 200
800
NONE
- 20
- 5
+ 100
+ 1
diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/10600-10699.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/10600-10699.xml
index fafcb5fb3f..cbae151340 100644
--- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/10600-10699.xml
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/10600-10699.xml
@@ -28,6 +28,18 @@
0
90
+
+
+ {0.6 + 0.4 * subIndex}
+
+ PER
+
+
+
+ {0.6 + 0.4 * subIndex}
+
+ PER
+
@@ -194,6 +206,21 @@
90
+
+
+ {0.6 + 0.4 * subIndex}
+
+ PER
+
+
+
+ {0.6 + 0.4 * subIndex}
+
+ PER
+
+
+ 10517
+
diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/documentation.txt
index 3dd6a1e7be..d480168313 100644
--- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/documentation.txt
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/documentation.txt
@@ -89,6 +89,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_1.0_Ertheia/dist/game/data/xsd/skills.xsd b/L2J_Mobius_1.0_Ertheia/dist/game/data/xsd/skills.xsd
index 7ba176053f..7c7c394648 100644
--- a/L2J_Mobius_1.0_Ertheia/dist/game/data/xsd/skills.xsd
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/xsd/skills.xsd
@@ -451,29 +451,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -1961,11 +1939,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2034,21 +2028,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/EffectMasterHandler.java
index 9eacb2421a..cdb7d1f146 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/EffectMasterHandler.java
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/EffectMasterHandler.java
@@ -119,6 +119,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_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java
new file mode 100644
index 0000000000..942cf72c52
--- /dev/null
+++ b/L2J_Mobius_2.5_Underground/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.StatsSet;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.effects.AbstractEffect;
+import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.model.skills.Skill;
+
+/**
+ * @author Ofelin
+ */
+public class DisableSkill extends AbstractEffect
+{
+ private final Set disableSkills;
+ private Skill knownSKill;
+
+ public DisableSkill(StatsSet params)
+ {
+ String disable = params.getString("disable");
+ if ((disable != null) && !disable.isEmpty())
+ {
+ disableSkills = new HashSet<>();
+ for (String slot : disable.split(";"))
+ {
+ disableSkills.add(Integer.parseInt(slot));
+ }
+ }
+ else
+ {
+ disableSkills = Collections. emptySet();
+ }
+ }
+
+ @Override
+ public void onStart(Creature effector, Creature effected, Skill skill, ItemInstance item)
+ {
+ for (int disableSkillId : disableSkills)
+ {
+ knownSKill = effected.getKnownSkill(disableSkillId);
+ if (knownSKill != null)
+ {
+ effected.disableSkill(knownSKill, 0);
+
+ }
+ }
+ }
+
+ @Override
+ public void onExit(Creature effector, Creature effected, Skill skill)
+ {
+ for (int enableSkillId : disableSkills)
+ {
+ knownSKill = effected.getKnownSkill(enableSkillId);
+ if (knownSKill != null)
+ {
+ effected.enableSkill(knownSKill);
+ }
+ }
+ }
+}
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/10500-10599.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/10500-10599.xml
index b07413e804..bb5d430ecf 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/10500-10599.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/10500-10599.xml
@@ -1848,13 +1848,14 @@
93
T
5
- 1
+ 200
+ 200
800
NONE
- 20
- 5
+ 100
+ 1
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/10600-10699.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/10600-10699.xml
index d67a6b183a..68281c30c5 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/10600-10699.xml
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/10600-10699.xml
@@ -218,6 +218,9 @@
PER
+
+ 10517
+
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/documentation.txt
index 3dd6a1e7be..d480168313 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/documentation.txt
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/documentation.txt
@@ -89,6 +89,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_2.5_Underground/dist/game/data/xsd/skills.xsd b/L2J_Mobius_2.5_Underground/dist/game/data/xsd/skills.xsd
index 6b86811928..8800c5e0b6 100644
--- a/L2J_Mobius_2.5_Underground/dist/game/data/xsd/skills.xsd
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/xsd/skills.xsd
@@ -455,29 +455,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -2007,11 +1985,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2093,21 +2087,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/EffectMasterHandler.java
index 9eacb2421a..cdb7d1f146 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/EffectMasterHandler.java
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/EffectMasterHandler.java
@@ -119,6 +119,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_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java
new file mode 100644
index 0000000000..942cf72c52
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/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.StatsSet;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.effects.AbstractEffect;
+import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.model.skills.Skill;
+
+/**
+ * @author Ofelin
+ */
+public class DisableSkill extends AbstractEffect
+{
+ private final Set disableSkills;
+ private Skill knownSKill;
+
+ public DisableSkill(StatsSet params)
+ {
+ String disable = params.getString("disable");
+ if ((disable != null) && !disable.isEmpty())
+ {
+ disableSkills = new HashSet<>();
+ for (String slot : disable.split(";"))
+ {
+ disableSkills.add(Integer.parseInt(slot));
+ }
+ }
+ else
+ {
+ disableSkills = Collections. emptySet();
+ }
+ }
+
+ @Override
+ public void onStart(Creature effector, Creature effected, Skill skill, ItemInstance item)
+ {
+ for (int disableSkillId : disableSkills)
+ {
+ knownSKill = effected.getKnownSkill(disableSkillId);
+ if (knownSKill != null)
+ {
+ effected.disableSkill(knownSKill, 0);
+
+ }
+ }
+ }
+
+ @Override
+ public void onExit(Creature effector, Creature effected, Skill skill)
+ {
+ for (int enableSkillId : disableSkills)
+ {
+ knownSKill = effected.getKnownSkill(enableSkillId);
+ if (knownSKill != null)
+ {
+ effected.enableSkill(knownSKill);
+ }
+ }
+ }
+}
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/10500-10599.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/10500-10599.xml
index 14f8985b20..aafb64312b 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/10500-10599.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/10500-10599.xml
@@ -1841,13 +1841,14 @@
93
T
5
- 1
+ 200
+ 200
800
NONE
- 20
- 5
+ 100
+ 1
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/10600-10699.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/10600-10699.xml
index d67a6b183a..68281c30c5 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/10600-10699.xml
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/10600-10699.xml
@@ -218,6 +218,9 @@
PER
+
+ 10517
+
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/documentation.txt
index 3dd6a1e7be..d480168313 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/documentation.txt
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/documentation.txt
@@ -89,6 +89,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_3.0_Helios/dist/game/data/xsd/skills.xsd b/L2J_Mobius_3.0_Helios/dist/game/data/xsd/skills.xsd
index a9fb270727..9d5976986e 100644
--- a/L2J_Mobius_3.0_Helios/dist/game/data/xsd/skills.xsd
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/xsd/skills.xsd
@@ -455,29 +455,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -2039,11 +2017,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2124,21 +2118,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/EffectMasterHandler.java
index dbd8ce0ea3..ab5e8d462d 100644
--- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/EffectMasterHandler.java
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/EffectMasterHandler.java
@@ -123,6 +123,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_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java
new file mode 100644
index 0000000000..942cf72c52
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/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.StatsSet;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.effects.AbstractEffect;
+import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.model.skills.Skill;
+
+/**
+ * @author Ofelin
+ */
+public class DisableSkill extends AbstractEffect
+{
+ private final Set disableSkills;
+ private Skill knownSKill;
+
+ public DisableSkill(StatsSet params)
+ {
+ String disable = params.getString("disable");
+ if ((disable != null) && !disable.isEmpty())
+ {
+ disableSkills = new HashSet<>();
+ for (String slot : disable.split(";"))
+ {
+ disableSkills.add(Integer.parseInt(slot));
+ }
+ }
+ else
+ {
+ disableSkills = Collections. emptySet();
+ }
+ }
+
+ @Override
+ public void onStart(Creature effector, Creature effected, Skill skill, ItemInstance item)
+ {
+ for (int disableSkillId : disableSkills)
+ {
+ knownSKill = effected.getKnownSkill(disableSkillId);
+ if (knownSKill != null)
+ {
+ effected.disableSkill(knownSKill, 0);
+
+ }
+ }
+ }
+
+ @Override
+ public void onExit(Creature effector, Creature effected, Skill skill)
+ {
+ for (int enableSkillId : disableSkills)
+ {
+ knownSKill = effected.getKnownSkill(enableSkillId);
+ if (knownSKill != null)
+ {
+ effected.enableSkill(knownSKill);
+ }
+ }
+ }
+}
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/10500-10599.xml b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/10500-10599.xml
index f7ac53b3e4..555924dc29 100644
--- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/10500-10599.xml
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/10500-10599.xml
@@ -1914,13 +1914,14 @@
93
T
5
- 1
+ 200
+ 200
800
NONE
- 20
- 5
+ 100
+ 1
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/10600-10699.xml b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/10600-10699.xml
index 4cb11fec72..a82c0bdfa0 100644
--- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/10600-10699.xml
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/10600-10699.xml
@@ -218,6 +218,9 @@
PER
+
+ 10517
+
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/19300-19399.xml b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/19300-19399.xml
index a525ba3be2..0c0155ae19 100644
--- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/19300-19399.xml
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/19300-19399.xml
@@ -397,6 +397,7 @@
icon.skill19307
669
A2
+ DWARF_BUFF
1
60
SELF
@@ -425,7 +426,7 @@
icon.skill19308
669
A2
- BIG_HEAD
+ DWARF_BUFF
BIG_HEAD
1
60
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/documentation.txt
index 723f9765bf..9bd91e0781 100644
--- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/documentation.txt
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/documentation.txt
@@ -93,6 +93,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_4.0_GrandCrusade/dist/game/data/xsd/skills.xsd b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/xsd/skills.xsd
index 00a8763327..6bda244bdf 100644
--- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/xsd/skills.xsd
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/xsd/skills.xsd
@@ -457,29 +457,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -2055,11 +2033,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2115,21 +2109,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -2431,7 +2410,6 @@
-
@@ -2568,7 +2546,6 @@
-
@@ -2587,7 +2564,6 @@
-
@@ -2606,21 +2582,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -2705,21 +2667,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/10000-10099.xml b/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/10000-10099.xml
index 97b034b508..0d58189873 100644
--- a/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/10000-10099.xml
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/10000-10099.xml
@@ -1414,13 +1414,8 @@
NONE
0
300000
- TARGET
+ SELF
SINGLE
-
-
- false
-
-
@@ -1435,13 +1430,11 @@
PER
-
-
10022
1
-
+
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/10500-10599.xml b/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/10500-10599.xml
index ba3442a1f5..336a1a5c4f 100644
--- a/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/10500-10599.xml
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/10500-10599.xml
@@ -1914,13 +1914,14 @@
93
T
5
- 1
+ 200
+ 200
800
NONE
- 20
- 5
+ 100
+ 1
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/10600-10699.xml b/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/10600-10699.xml
index e107e4049c..a65e42444b 100644
--- a/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/10600-10699.xml
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/10600-10699.xml
@@ -218,6 +218,9 @@
PER
+
+ 10517
+
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/19300-19399.xml b/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/19300-19399.xml
index ffb50b154f..650115923c 100644
--- a/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/19300-19399.xml
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/19300-19399.xml
@@ -400,6 +400,7 @@
icon.skill19307
669
A2
+ DWARF_BUFF
1
60
SELF
@@ -428,7 +429,7 @@
icon.skill19308
669
A2
- BIG_HEAD
+ DWARF_BUFF
BIG_HEAD
1
60
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/10000-10099.xml b/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/10000-10099.xml
index 3edba36844..120ba826c3 100644
--- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/10000-10099.xml
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/10000-10099.xml
@@ -1414,13 +1414,8 @@
NONE
0
300000
- TARGET
+ SELF
SINGLE
-
-
- false
-
-
@@ -1435,13 +1430,11 @@
PER
-
-
10022
1
-
+
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/10500-10599.xml b/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/10500-10599.xml
index 8febc5829b..662c71b25d 100644
--- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/10500-10599.xml
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/10500-10599.xml
@@ -1914,13 +1914,14 @@
93
T
5
- 1
+ 200
+ 200
800
NONE
- 20
- 5
+ 100
+ 1
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/10600-10699.xml b/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/10600-10699.xml
index 8e7ec01afb..dd8ce5d003 100644
--- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/10600-10699.xml
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/10600-10699.xml
@@ -218,6 +218,9 @@
PER
+
+ 10517
+
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/19300-19399.xml b/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/19300-19399.xml
index 3ecf536a82..63e676fb86 100644
--- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/19300-19399.xml
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/19300-19399.xml
@@ -400,6 +400,7 @@
icon.skill19307
669
A2
+ DWARF_BUFF
1
60
SELF
@@ -428,7 +429,7 @@
icon.skill19308
669
A2
- BIG_HEAD
+ DWARF_BUFF
BIG_HEAD
1
60
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/10000-10099.xml b/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/10000-10099.xml
index 0607d23528..1046391cd0 100644
--- a/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/10000-10099.xml
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/10000-10099.xml
@@ -1477,13 +1477,8 @@
NONE
0
300000
- TARGET
+ SELF
SINGLE
-
-
- false
-
-
@@ -1498,13 +1493,11 @@
PER
-
-
10022
1
-
+
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/10500-10599.xml b/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/10500-10599.xml
index e676e6d345..f6b5122ecf 100644
--- a/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/10500-10599.xml
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/10500-10599.xml
@@ -2057,13 +2057,14 @@
93
T
5
- 100
+ 200
+ 200
800
NONE
- 20
- 5
+ 100
+ 1
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/10600-10699.xml b/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/10600-10699.xml
index 0dbba3840a..42062edc31 100644
--- a/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/10600-10699.xml
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/10600-10699.xml
@@ -218,6 +218,9 @@
PER
+
+ 10517
+
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/19300-19399.xml b/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/19300-19399.xml
index 07964c6178..500b996748 100644
--- a/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/19300-19399.xml
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/19300-19399.xml
@@ -428,6 +428,7 @@
icon.skill19307
669
A2
+ DWARF_BUFF
1
60
SELF
@@ -456,7 +457,7 @@
icon.skill19308
669
A2
- BIG_HEAD
+ DWARF_BUFF
BIG_HEAD
1
60
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/10000-10099.xml b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/10000-10099.xml
index 0e495defe6..51747311ba 100644
--- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/10000-10099.xml
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/10000-10099.xml
@@ -1445,7 +1445,7 @@
-
+
icon.skill10020
1
@@ -1477,13 +1477,8 @@
NONE
0
300000
- TARGET
+ SELF
SINGLE
-
-
- false
-
-
@@ -1498,13 +1493,11 @@
PER
-
-
10022
1
-
+
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/10500-10599.xml b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/10500-10599.xml
index 4104904fcb..d1f2dfa449 100644
--- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/10500-10599.xml
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/10500-10599.xml
@@ -2057,13 +2057,14 @@
93
T
5
- 100
+ 200
+ 200
800
NONE
- 20
- 5
+ 100
+ 1
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/10600-10699.xml b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/10600-10699.xml
index bf13069444..8d809c7c08 100644
--- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/10600-10699.xml
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/10600-10699.xml
@@ -218,6 +218,9 @@
PER
+
+ 10517
+
diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/19300-19399.xml b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/19300-19399.xml
index 0217b08786..12699b9b77 100644
--- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/19300-19399.xml
+++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/19300-19399.xml
@@ -428,6 +428,7 @@
icon.skill19307
669
A2
+ DWARF_BUFF
1
60
SELF
@@ -456,7 +457,7 @@
icon.skill19308
669
A2
- BIG_HEAD
+ DWARF_BUFF
BIG_HEAD
1
60
diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/EffectMasterHandler.java
index 6807903b42..b37ec95f47 100644
--- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/EffectMasterHandler.java
+++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/EffectMasterHandler.java
@@ -119,6 +119,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_Interlude/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/DisableSkill.java
new file mode 100644
index 0000000000..942cf72c52
--- /dev/null
+++ b/L2J_Mobius_Classic_Interlude/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.StatsSet;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.effects.AbstractEffect;
+import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.model.skills.Skill;
+
+/**
+ * @author Ofelin
+ */
+public class DisableSkill extends AbstractEffect
+{
+ private final Set disableSkills;
+ private Skill knownSKill;
+
+ public DisableSkill(StatsSet params)
+ {
+ String disable = params.getString("disable");
+ if ((disable != null) && !disable.isEmpty())
+ {
+ disableSkills = new HashSet<>();
+ for (String slot : disable.split(";"))
+ {
+ disableSkills.add(Integer.parseInt(slot));
+ }
+ }
+ else
+ {
+ disableSkills = Collections. emptySet();
+ }
+ }
+
+ @Override
+ public void onStart(Creature effector, Creature effected, Skill skill, ItemInstance item)
+ {
+ for (int disableSkillId : disableSkills)
+ {
+ knownSKill = effected.getKnownSkill(disableSkillId);
+ if (knownSKill != null)
+ {
+ effected.disableSkill(knownSKill, 0);
+
+ }
+ }
+ }
+
+ @Override
+ public void onExit(Creature effector, Creature effected, Skill skill)
+ {
+ for (int enableSkillId : disableSkills)
+ {
+ knownSKill = effected.getKnownSkill(enableSkillId);
+ if (knownSKill != null)
+ {
+ effected.enableSkill(knownSKill);
+ }
+ }
+ }
+}
diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/10500-10599.xml b/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/10500-10599.xml
index f7ac53b3e4..555924dc29 100644
--- a/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/10500-10599.xml
+++ b/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/10500-10599.xml
@@ -1914,13 +1914,14 @@
93
T
5
- 1
+ 200
+ 200
800
NONE
- 20
- 5
+ 100
+ 1
diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/10600-10699.xml b/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/10600-10699.xml
index 4cb11fec72..a82c0bdfa0 100644
--- a/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/10600-10699.xml
+++ b/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/10600-10699.xml
@@ -218,6 +218,9 @@
PER
+
+ 10517
+
diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/19300-19399.xml b/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/19300-19399.xml
index a525ba3be2..0c0155ae19 100644
--- a/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/19300-19399.xml
+++ b/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/19300-19399.xml
@@ -397,6 +397,7 @@
icon.skill19307
669
A2
+ DWARF_BUFF
1
60
SELF
@@ -425,7 +426,7 @@
icon.skill19308
669
A2
- BIG_HEAD
+ DWARF_BUFF
BIG_HEAD
1
60
diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/documentation.txt
index 9db67429b2..7ca4d4eac3 100644
--- a/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/documentation.txt
+++ b/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/documentation.txt
@@ -89,6 +89,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_Interlude/dist/game/data/xsd/skills.xsd b/L2J_Mobius_Classic_Interlude/dist/game/data/xsd/skills.xsd
index 173deda22b..9ba9f1e323 100644
--- a/L2J_Mobius_Classic_Interlude/dist/game/data/xsd/skills.xsd
+++ b/L2J_Mobius_Classic_Interlude/dist/game/data/xsd/skills.xsd
@@ -2018,11 +2018,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2079,21 +2095,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -2395,7 +2396,6 @@
-
@@ -2532,7 +2532,6 @@
-
@@ -2551,7 +2550,6 @@
-
@@ -2570,21 +2568,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -2669,21 +2653,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+