From 0e6579265229b146fa0dfbac4a95f032b321a961 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Thu, 26 Mar 2020 15:39:41 +0000 Subject: [PATCH] Changed OpSocialClassSkillCondition according to previous core changes. --- .../OpSocialClassSkillCondition.java | 15 ++++++++++++++- .../dist/game/data/stats/skills/15000-15099.xml | 2 +- .../dist/game/data/stats/skills/19000-19099.xml | 3 +++ .../dist/game/data/xsd/skills.xsd | 2 +- .../OpSocialClassSkillCondition.java | 15 ++++++++++++++- .../dist/game/data/stats/skills/15000-15099.xml | 2 +- .../dist/game/data/stats/skills/19000-19099.xml | 3 +++ .../dist/game/data/xsd/skills.xsd | 2 +- .../OpSocialClassSkillCondition.java | 15 ++++++++++++++- .../dist/game/data/stats/skills/15000-15099.xml | 2 +- .../dist/game/data/stats/skills/19000-19099.xml | 3 +++ .../dist/game/data/xsd/skills.xsd | 2 +- .../OpSocialClassSkillCondition.java | 15 ++++++++++++++- .../dist/game/data/stats/skills/15000-15099.xml | 2 +- .../dist/game/data/stats/skills/19000-19099.xml | 3 +++ .../dist/game/data/xsd/skills.xsd | 2 +- .../OpSocialClassSkillCondition.java | 15 ++++++++++++++- .../dist/game/data/stats/skills/15000-15099.xml | 2 +- .../dist/game/data/stats/skills/19000-19099.xml | 2 +- .../dist/game/data/stats/skills/19500-19599.xml | 8 ++++---- .../dist/game/data/xsd/skills.xsd | 2 +- .../OpSocialClassSkillCondition.java | 15 ++++++++++++++- .../dist/game/data/stats/skills/15000-15099.xml | 2 +- .../dist/game/data/stats/skills/19000-19099.xml | 2 +- .../dist/game/data/stats/skills/19500-19599.xml | 8 ++++---- .../dist/game/data/xsd/skills.xsd | 2 +- .../OpSocialClassSkillCondition.java | 15 ++++++++++++++- .../dist/game/data/stats/skills/15000-15099.xml | 2 +- .../dist/game/data/stats/skills/19000-19099.xml | 2 +- .../dist/game/data/stats/skills/19500-19599.xml | 8 ++++---- .../dist/game/data/xsd/skills.xsd | 2 +- .../OpSocialClassSkillCondition.java | 15 ++++++++++++++- .../dist/game/data/stats/skills/15000-15099.xml | 2 +- .../dist/game/data/stats/skills/19000-19099.xml | 2 +- .../dist/game/data/stats/skills/19500-19599.xml | 8 ++++---- .../dist/game/data/xsd/skills.xsd | 2 +- .../OpSocialClassSkillCondition.java | 15 ++++++++++++++- .../OpSocialClassSkillCondition.java | 15 ++++++++++++++- .../OpSocialClassSkillCondition.java | 15 ++++++++++++++- .../OpSocialClassSkillCondition.java | 15 ++++++++++++++- .../OpSocialClassSkillCondition.java | 15 ++++++++++++++- .../OpSocialClassSkillCondition.java | 15 ++++++++++++++- .../OpSocialClassSkillCondition.java | 15 ++++++++++++++- .../dist/game/data/stats/skills/15000-15099.xml | 2 +- .../dist/game/data/stats/skills/19000-19099.xml | 3 +++ .../dist/game/data/xsd/skills.xsd | 2 +- 46 files changed, 263 insertions(+), 53 deletions(-) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java index f2a7bfedf6..370df17a85 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java @@ -19,6 +19,7 @@ package handlers.skillconditionhandlers; import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.ISkillCondition; import org.l2jmobius.gameserver.model.skills.Skill; @@ -37,6 +38,18 @@ public class OpSocialClassSkillCondition implements ISkillCondition @Override public boolean canUse(Creature caster, Skill skill, WorldObject target) { - return caster.isPlayer() && (caster.getActingPlayer().getPledgeClass() >= _socialClass); + final PlayerInstance player = caster.getActingPlayer(); + if ((player == null) || (player.getClan() == null)) + { + return false; + } + + final boolean isClanLeader = player.isClanLeader(); + if ((_socialClass == -1) && !isClanLeader) + { + return false; + } + + return isClanLeader || (player.getPledgeClass() >= _socialClass); } } diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/15000-15099.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/15000-15099.xml index ec2e220d80..0c904e5d66 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/15000-15099.xml +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/15000-15099.xml @@ -2788,7 +2788,7 @@ - 8 + -1 diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/19000-19099.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/19000-19099.xml index ab79816506..e6f634cc56 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/19000-19099.xml +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/19000-19099.xml @@ -219,6 +219,9 @@ 3031 + + -1 + 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 57cd89f529..1feadfb902 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 @@ -439,7 +439,7 @@ - + diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java index f2a7bfedf6..370df17a85 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java @@ -19,6 +19,7 @@ package handlers.skillconditionhandlers; import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.ISkillCondition; import org.l2jmobius.gameserver.model.skills.Skill; @@ -37,6 +38,18 @@ public class OpSocialClassSkillCondition implements ISkillCondition @Override public boolean canUse(Creature caster, Skill skill, WorldObject target) { - return caster.isPlayer() && (caster.getActingPlayer().getPledgeClass() >= _socialClass); + final PlayerInstance player = caster.getActingPlayer(); + if ((player == null) || (player.getClan() == null)) + { + return false; + } + + final boolean isClanLeader = player.isClanLeader(); + if ((_socialClass == -1) && !isClanLeader) + { + return false; + } + + return isClanLeader || (player.getPledgeClass() >= _socialClass); } } diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/15000-15099.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/15000-15099.xml index 434935de06..5198d29648 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/15000-15099.xml +++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/15000-15099.xml @@ -2788,7 +2788,7 @@ - 8 + -1 diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/19000-19099.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/19000-19099.xml index 7fa6fcdec6..c9e27f6bde 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/19000-19099.xml +++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/19000-19099.xml @@ -218,6 +218,9 @@ 3031 + + -1 + 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 05ef32a51d..5616b56295 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 @@ -443,7 +443,7 @@ - + diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java index f2a7bfedf6..370df17a85 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java @@ -19,6 +19,7 @@ package handlers.skillconditionhandlers; import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.ISkillCondition; import org.l2jmobius.gameserver.model.skills.Skill; @@ -37,6 +38,18 @@ public class OpSocialClassSkillCondition implements ISkillCondition @Override public boolean canUse(Creature caster, Skill skill, WorldObject target) { - return caster.isPlayer() && (caster.getActingPlayer().getPledgeClass() >= _socialClass); + final PlayerInstance player = caster.getActingPlayer(); + if ((player == null) || (player.getClan() == null)) + { + return false; + } + + final boolean isClanLeader = player.isClanLeader(); + if ((_socialClass == -1) && !isClanLeader) + { + return false; + } + + return isClanLeader || (player.getPledgeClass() >= _socialClass); } } diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/15000-15099.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/15000-15099.xml index 434935de06..5198d29648 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/15000-15099.xml +++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/15000-15099.xml @@ -2788,7 +2788,7 @@ - 8 + -1 diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/19000-19099.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/19000-19099.xml index 7fa6fcdec6..c9e27f6bde 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/19000-19099.xml +++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/19000-19099.xml @@ -218,6 +218,9 @@ 3031 + + -1 + 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 4e660dd344..6c15e63f85 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 @@ -443,7 +443,7 @@ - + diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java index f2a7bfedf6..370df17a85 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java @@ -19,6 +19,7 @@ package handlers.skillconditionhandlers; import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.ISkillCondition; import org.l2jmobius.gameserver.model.skills.Skill; @@ -37,6 +38,18 @@ public class OpSocialClassSkillCondition implements ISkillCondition @Override public boolean canUse(Creature caster, Skill skill, WorldObject target) { - return caster.isPlayer() && (caster.getActingPlayer().getPledgeClass() >= _socialClass); + final PlayerInstance player = caster.getActingPlayer(); + if ((player == null) || (player.getClan() == null)) + { + return false; + } + + final boolean isClanLeader = player.isClanLeader(); + if ((_socialClass == -1) && !isClanLeader) + { + return false; + } + + return isClanLeader || (player.getPledgeClass() >= _socialClass); } } diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/15000-15099.xml b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/15000-15099.xml index 434935de06..5198d29648 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/15000-15099.xml +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/15000-15099.xml @@ -2788,7 +2788,7 @@ - 8 + -1 diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/19000-19099.xml b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/19000-19099.xml index b512ad319a..03383a7df4 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/19000-19099.xml +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/19000-19099.xml @@ -218,6 +218,9 @@ 3031 + + -1 + 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 6c81fcb945..fb7c0a6615 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 @@ -445,7 +445,7 @@ - + diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java index f2a7bfedf6..370df17a85 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java @@ -19,6 +19,7 @@ package handlers.skillconditionhandlers; import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.ISkillCondition; import org.l2jmobius.gameserver.model.skills.Skill; @@ -37,6 +38,18 @@ public class OpSocialClassSkillCondition implements ISkillCondition @Override public boolean canUse(Creature caster, Skill skill, WorldObject target) { - return caster.isPlayer() && (caster.getActingPlayer().getPledgeClass() >= _socialClass); + final PlayerInstance player = caster.getActingPlayer(); + if ((player == null) || (player.getClan() == null)) + { + return false; + } + + final boolean isClanLeader = player.isClanLeader(); + if ((_socialClass == -1) && !isClanLeader) + { + return false; + } + + return isClanLeader || (player.getPledgeClass() >= _socialClass); } } diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/15000-15099.xml b/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/15000-15099.xml index 0b0f248ddd..8efccf1649 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/15000-15099.xml +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/15000-15099.xml @@ -2787,7 +2787,7 @@ - 8 + -1 diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/19000-19099.xml b/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/19000-19099.xml index bfce7ab658..0ad88961de 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/19000-19099.xml +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/19000-19099.xml @@ -222,7 +222,7 @@ true - 8 + -1 diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/19500-19599.xml b/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/19500-19599.xml index a28929e820..63b8e67e22 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/19500-19599.xml +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/19500-19599.xml @@ -1053,7 +1053,7 @@ - 8 + -1 @@ -1081,7 +1081,7 @@ - 8 + -1 @@ -1109,7 +1109,7 @@ - 8 + -1 @@ -1137,7 +1137,7 @@ - 8 + -1 diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/xsd/skills.xsd b/L2J_Mobius_5.0_Salvation/dist/game/data/xsd/skills.xsd index bdb51310ff..16112d7bdb 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/xsd/skills.xsd +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/xsd/skills.xsd @@ -348,7 +348,7 @@ - + diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java index f2a7bfedf6..370df17a85 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java @@ -19,6 +19,7 @@ package handlers.skillconditionhandlers; import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.ISkillCondition; import org.l2jmobius.gameserver.model.skills.Skill; @@ -37,6 +38,18 @@ public class OpSocialClassSkillCondition implements ISkillCondition @Override public boolean canUse(Creature caster, Skill skill, WorldObject target) { - return caster.isPlayer() && (caster.getActingPlayer().getPledgeClass() >= _socialClass); + final PlayerInstance player = caster.getActingPlayer(); + if ((player == null) || (player.getClan() == null)) + { + return false; + } + + final boolean isClanLeader = player.isClanLeader(); + if ((_socialClass == -1) && !isClanLeader) + { + return false; + } + + return isClanLeader || (player.getPledgeClass() >= _socialClass); } } diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/15000-15099.xml b/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/15000-15099.xml index 9d40b8f3a8..ee163f00ac 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/15000-15099.xml +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/15000-15099.xml @@ -2787,7 +2787,7 @@ - 8 + -1 diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/19000-19099.xml b/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/19000-19099.xml index 143efd211b..b3af019a4b 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/19000-19099.xml +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/19000-19099.xml @@ -222,7 +222,7 @@ true - 8 + -1 diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/19500-19599.xml b/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/19500-19599.xml index 386f291907..ccae1db057 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/19500-19599.xml +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/19500-19599.xml @@ -1053,7 +1053,7 @@ - 8 + -1 @@ -1081,7 +1081,7 @@ - 8 + -1 @@ -1109,7 +1109,7 @@ - 8 + -1 @@ -1137,7 +1137,7 @@ - 8 + -1 diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/xsd/skills.xsd b/L2J_Mobius_5.5_EtinasFate/dist/game/data/xsd/skills.xsd index bdb51310ff..16112d7bdb 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/xsd/skills.xsd +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/xsd/skills.xsd @@ -348,7 +348,7 @@ - + diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java index f2a7bfedf6..370df17a85 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java @@ -19,6 +19,7 @@ package handlers.skillconditionhandlers; import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.ISkillCondition; import org.l2jmobius.gameserver.model.skills.Skill; @@ -37,6 +38,18 @@ public class OpSocialClassSkillCondition implements ISkillCondition @Override public boolean canUse(Creature caster, Skill skill, WorldObject target) { - return caster.isPlayer() && (caster.getActingPlayer().getPledgeClass() >= _socialClass); + final PlayerInstance player = caster.getActingPlayer(); + if ((player == null) || (player.getClan() == null)) + { + return false; + } + + final boolean isClanLeader = player.isClanLeader(); + if ((_socialClass == -1) && !isClanLeader) + { + return false; + } + + return isClanLeader || (player.getPledgeClass() >= _socialClass); } } diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/15000-15099.xml b/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/15000-15099.xml index d8a2991725..e1ed321a5b 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/15000-15099.xml +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/15000-15099.xml @@ -2788,7 +2788,7 @@ - 8 + -1 diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/19000-19099.xml b/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/19000-19099.xml index d9a7b7d5cb..476811b1d6 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/19000-19099.xml +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/19000-19099.xml @@ -222,7 +222,7 @@ true - 8 + -1 diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/19500-19599.xml b/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/19500-19599.xml index a533eaa491..8aa10ef077 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/19500-19599.xml +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/19500-19599.xml @@ -1061,7 +1061,7 @@ - 8 + -1 @@ -1089,7 +1089,7 @@ - 8 + -1 @@ -1117,7 +1117,7 @@ - 8 + -1 @@ -1145,7 +1145,7 @@ - 8 + -1 diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/xsd/skills.xsd b/L2J_Mobius_6.0_Fafurion/dist/game/data/xsd/skills.xsd index 8ae89bb560..9e2ceb8a20 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/xsd/skills.xsd +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/xsd/skills.xsd @@ -348,7 +348,7 @@ - + diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java index f2a7bfedf6..370df17a85 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java @@ -19,6 +19,7 @@ package handlers.skillconditionhandlers; import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.ISkillCondition; import org.l2jmobius.gameserver.model.skills.Skill; @@ -37,6 +38,18 @@ public class OpSocialClassSkillCondition implements ISkillCondition @Override public boolean canUse(Creature caster, Skill skill, WorldObject target) { - return caster.isPlayer() && (caster.getActingPlayer().getPledgeClass() >= _socialClass); + final PlayerInstance player = caster.getActingPlayer(); + if ((player == null) || (player.getClan() == null)) + { + return false; + } + + final boolean isClanLeader = player.isClanLeader(); + if ((_socialClass == -1) && !isClanLeader) + { + return false; + } + + return isClanLeader || (player.getPledgeClass() >= _socialClass); } } diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/15000-15099.xml b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/15000-15099.xml index ffbf2588ae..ca3ad005a3 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/15000-15099.xml +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/15000-15099.xml @@ -2789,7 +2789,7 @@ - 8 + -1 diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/19000-19099.xml b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/19000-19099.xml index 3095706fef..fb7447f1c4 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/19000-19099.xml +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/19000-19099.xml @@ -222,7 +222,7 @@ true - 8 + -1 diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/19500-19599.xml b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/19500-19599.xml index 6495eb3518..f9e903070f 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/19500-19599.xml +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/19500-19599.xml @@ -1061,7 +1061,7 @@ - 8 + -1 @@ -1089,7 +1089,7 @@ - 8 + -1 @@ -1117,7 +1117,7 @@ - 8 + -1 @@ -1145,7 +1145,7 @@ - 8 + -1 diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/xsd/skills.xsd b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/xsd/skills.xsd index f4e94b76ca..4eac2a95c5 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/xsd/skills.xsd +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/xsd/skills.xsd @@ -348,7 +348,7 @@ - + diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java index f2a7bfedf6..370df17a85 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java @@ -19,6 +19,7 @@ package handlers.skillconditionhandlers; import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.ISkillCondition; import org.l2jmobius.gameserver.model.skills.Skill; @@ -37,6 +38,18 @@ public class OpSocialClassSkillCondition implements ISkillCondition @Override public boolean canUse(Creature caster, Skill skill, WorldObject target) { - return caster.isPlayer() && (caster.getActingPlayer().getPledgeClass() >= _socialClass); + final PlayerInstance player = caster.getActingPlayer(); + if ((player == null) || (player.getClan() == null)) + { + return false; + } + + final boolean isClanLeader = player.isClanLeader(); + if ((_socialClass == -1) && !isClanLeader) + { + return false; + } + + return isClanLeader || (player.getPledgeClass() >= _socialClass); } } diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java index f2a7bfedf6..370df17a85 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java @@ -19,6 +19,7 @@ package handlers.skillconditionhandlers; import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.ISkillCondition; import org.l2jmobius.gameserver.model.skills.Skill; @@ -37,6 +38,18 @@ public class OpSocialClassSkillCondition implements ISkillCondition @Override public boolean canUse(Creature caster, Skill skill, WorldObject target) { - return caster.isPlayer() && (caster.getActingPlayer().getPledgeClass() >= _socialClass); + final PlayerInstance player = caster.getActingPlayer(); + if ((player == null) || (player.getClan() == null)) + { + return false; + } + + final boolean isClanLeader = player.isClanLeader(); + if ((_socialClass == -1) && !isClanLeader) + { + return false; + } + + return isClanLeader || (player.getPledgeClass() >= _socialClass); } } diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java index f2a7bfedf6..370df17a85 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java @@ -19,6 +19,7 @@ package handlers.skillconditionhandlers; import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.ISkillCondition; import org.l2jmobius.gameserver.model.skills.Skill; @@ -37,6 +38,18 @@ public class OpSocialClassSkillCondition implements ISkillCondition @Override public boolean canUse(Creature caster, Skill skill, WorldObject target) { - return caster.isPlayer() && (caster.getActingPlayer().getPledgeClass() >= _socialClass); + final PlayerInstance player = caster.getActingPlayer(); + if ((player == null) || (player.getClan() == null)) + { + return false; + } + + final boolean isClanLeader = player.isClanLeader(); + if ((_socialClass == -1) && !isClanLeader) + { + return false; + } + + return isClanLeader || (player.getPledgeClass() >= _socialClass); } } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java index f2a7bfedf6..370df17a85 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java @@ -19,6 +19,7 @@ package handlers.skillconditionhandlers; import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.ISkillCondition; import org.l2jmobius.gameserver.model.skills.Skill; @@ -37,6 +38,18 @@ public class OpSocialClassSkillCondition implements ISkillCondition @Override public boolean canUse(Creature caster, Skill skill, WorldObject target) { - return caster.isPlayer() && (caster.getActingPlayer().getPledgeClass() >= _socialClass); + final PlayerInstance player = caster.getActingPlayer(); + if ((player == null) || (player.getClan() == null)) + { + return false; + } + + final boolean isClanLeader = player.isClanLeader(); + if ((_socialClass == -1) && !isClanLeader) + { + return false; + } + + return isClanLeader || (player.getPledgeClass() >= _socialClass); } } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java index f2a7bfedf6..370df17a85 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java @@ -19,6 +19,7 @@ package handlers.skillconditionhandlers; import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.ISkillCondition; import org.l2jmobius.gameserver.model.skills.Skill; @@ -37,6 +38,18 @@ public class OpSocialClassSkillCondition implements ISkillCondition @Override public boolean canUse(Creature caster, Skill skill, WorldObject target) { - return caster.isPlayer() && (caster.getActingPlayer().getPledgeClass() >= _socialClass); + final PlayerInstance player = caster.getActingPlayer(); + if ((player == null) || (player.getClan() == null)) + { + return false; + } + + final boolean isClanLeader = player.isClanLeader(); + if ((_socialClass == -1) && !isClanLeader) + { + return false; + } + + return isClanLeader || (player.getPledgeClass() >= _socialClass); } } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java index f2a7bfedf6..370df17a85 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java @@ -19,6 +19,7 @@ package handlers.skillconditionhandlers; import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.ISkillCondition; import org.l2jmobius.gameserver.model.skills.Skill; @@ -37,6 +38,18 @@ public class OpSocialClassSkillCondition implements ISkillCondition @Override public boolean canUse(Creature caster, Skill skill, WorldObject target) { - return caster.isPlayer() && (caster.getActingPlayer().getPledgeClass() >= _socialClass); + final PlayerInstance player = caster.getActingPlayer(); + if ((player == null) || (player.getClan() == null)) + { + return false; + } + + final boolean isClanLeader = player.isClanLeader(); + if ((_socialClass == -1) && !isClanLeader) + { + return false; + } + + return isClanLeader || (player.getPledgeClass() >= _socialClass); } } diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java index f2a7bfedf6..370df17a85 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/skillconditionhandlers/OpSocialClassSkillCondition.java @@ -19,6 +19,7 @@ package handlers.skillconditionhandlers; import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.ISkillCondition; import org.l2jmobius.gameserver.model.skills.Skill; @@ -37,6 +38,18 @@ public class OpSocialClassSkillCondition implements ISkillCondition @Override public boolean canUse(Creature caster, Skill skill, WorldObject target) { - return caster.isPlayer() && (caster.getActingPlayer().getPledgeClass() >= _socialClass); + final PlayerInstance player = caster.getActingPlayer(); + if ((player == null) || (player.getClan() == null)) + { + return false; + } + + final boolean isClanLeader = player.isClanLeader(); + if ((_socialClass == -1) && !isClanLeader) + { + return false; + } + + return isClanLeader || (player.getPledgeClass() >= _socialClass); } } diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/15000-15099.xml b/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/15000-15099.xml index 434935de06..5198d29648 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/15000-15099.xml +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/15000-15099.xml @@ -2788,7 +2788,7 @@ - 8 + -1 diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/19000-19099.xml b/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/19000-19099.xml index b512ad319a..03383a7df4 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/19000-19099.xml +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/19000-19099.xml @@ -218,6 +218,9 @@ 3031 + + -1 + 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 ef0da7b623..fc60bfda8a 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/xsd/skills.xsd +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/xsd/skills.xsd @@ -445,7 +445,7 @@ - +