From 6aad685da38ce67589caa171290a289de6163b0d Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Thu, 31 May 2018 12:12:18 +0000 Subject: [PATCH] CallSkill effect can use 0 to trigger max learned skill level. --- .../handlers/effecthandlers/CallSkill.java | 20 +++++++++++++++++-- .../handlers/effecthandlers/CallSkill.java | 20 +++++++++++++++++-- .../handlers/effecthandlers/CallSkill.java | 20 +++++++++++++++++-- .../handlers/effecthandlers/CallSkill.java | 20 +++++++++++++++++-- .../handlers/effecthandlers/CallSkill.java | 20 +++++++++++++++++-- .../handlers/effecthandlers/CallSkill.java | 20 +++++++++++++++++-- .../handlers/effecthandlers/CallSkill.java | 20 +++++++++++++++++-- 7 files changed, 126 insertions(+), 14 deletions(-) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java index 3b0c1fb514..d51844fbdd 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java @@ -50,10 +50,26 @@ public final class CallSkill extends AbstractEffect @Override public void instant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) { - final Skill triggerSkill; + Skill triggerSkill = null; if (_skillLevelScaleTo <= 0) { - triggerSkill = _skill.getSkill(); + // Mobius: Use 0 to trigger max learned skill level. + if (_skill.getSkillLevel() == 0) + { + final int knownLevel = effected.getSkillLevel(_skill.getSkillId()); + if (knownLevel > 0) + { + triggerSkill = new SkillHolder(_skill.getSkillId(), knownLevel, _skill.getSkillSubLevel()).getSkill(); + } + else + { + LOGGER.warning("Player " + effected + " called unknown skill " + _skill + " triggered by " + skill + " CallSkill."); + } + } + else + { + triggerSkill = _skill.getSkill(); + } } else { diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java index 3b0c1fb514..d51844fbdd 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java @@ -50,10 +50,26 @@ public final class CallSkill extends AbstractEffect @Override public void instant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) { - final Skill triggerSkill; + Skill triggerSkill = null; if (_skillLevelScaleTo <= 0) { - triggerSkill = _skill.getSkill(); + // Mobius: Use 0 to trigger max learned skill level. + if (_skill.getSkillLevel() == 0) + { + final int knownLevel = effected.getSkillLevel(_skill.getSkillId()); + if (knownLevel > 0) + { + triggerSkill = new SkillHolder(_skill.getSkillId(), knownLevel, _skill.getSkillSubLevel()).getSkill(); + } + else + { + LOGGER.warning("Player " + effected + " called unknown skill " + _skill + " triggered by " + skill + " CallSkill."); + } + } + else + { + triggerSkill = _skill.getSkill(); + } } else { diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java index 3b0c1fb514..d51844fbdd 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java @@ -50,10 +50,26 @@ public final class CallSkill extends AbstractEffect @Override public void instant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) { - final Skill triggerSkill; + Skill triggerSkill = null; if (_skillLevelScaleTo <= 0) { - triggerSkill = _skill.getSkill(); + // Mobius: Use 0 to trigger max learned skill level. + if (_skill.getSkillLevel() == 0) + { + final int knownLevel = effected.getSkillLevel(_skill.getSkillId()); + if (knownLevel > 0) + { + triggerSkill = new SkillHolder(_skill.getSkillId(), knownLevel, _skill.getSkillSubLevel()).getSkill(); + } + else + { + LOGGER.warning("Player " + effected + " called unknown skill " + _skill + " triggered by " + skill + " CallSkill."); + } + } + else + { + triggerSkill = _skill.getSkill(); + } } else { diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java index 3b0c1fb514..d51844fbdd 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java @@ -50,10 +50,26 @@ public final class CallSkill extends AbstractEffect @Override public void instant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) { - final Skill triggerSkill; + Skill triggerSkill = null; if (_skillLevelScaleTo <= 0) { - triggerSkill = _skill.getSkill(); + // Mobius: Use 0 to trigger max learned skill level. + if (_skill.getSkillLevel() == 0) + { + final int knownLevel = effected.getSkillLevel(_skill.getSkillId()); + if (knownLevel > 0) + { + triggerSkill = new SkillHolder(_skill.getSkillId(), knownLevel, _skill.getSkillSubLevel()).getSkill(); + } + else + { + LOGGER.warning("Player " + effected + " called unknown skill " + _skill + " triggered by " + skill + " CallSkill."); + } + } + else + { + triggerSkill = _skill.getSkill(); + } } else { diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java index 3b0c1fb514..d51844fbdd 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java @@ -50,10 +50,26 @@ public final class CallSkill extends AbstractEffect @Override public void instant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) { - final Skill triggerSkill; + Skill triggerSkill = null; if (_skillLevelScaleTo <= 0) { - triggerSkill = _skill.getSkill(); + // Mobius: Use 0 to trigger max learned skill level. + if (_skill.getSkillLevel() == 0) + { + final int knownLevel = effected.getSkillLevel(_skill.getSkillId()); + if (knownLevel > 0) + { + triggerSkill = new SkillHolder(_skill.getSkillId(), knownLevel, _skill.getSkillSubLevel()).getSkill(); + } + else + { + LOGGER.warning("Player " + effected + " called unknown skill " + _skill + " triggered by " + skill + " CallSkill."); + } + } + else + { + triggerSkill = _skill.getSkill(); + } } else { diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java index 3b0c1fb514..d51844fbdd 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java @@ -50,10 +50,26 @@ public final class CallSkill extends AbstractEffect @Override public void instant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) { - final Skill triggerSkill; + Skill triggerSkill = null; if (_skillLevelScaleTo <= 0) { - triggerSkill = _skill.getSkill(); + // Mobius: Use 0 to trigger max learned skill level. + if (_skill.getSkillLevel() == 0) + { + final int knownLevel = effected.getSkillLevel(_skill.getSkillId()); + if (knownLevel > 0) + { + triggerSkill = new SkillHolder(_skill.getSkillId(), knownLevel, _skill.getSkillSubLevel()).getSkill(); + } + else + { + LOGGER.warning("Player " + effected + " called unknown skill " + _skill + " triggered by " + skill + " CallSkill."); + } + } + else + { + triggerSkill = _skill.getSkill(); + } } else { diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java index 3b0c1fb514..d51844fbdd 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/CallSkill.java @@ -50,10 +50,26 @@ public final class CallSkill extends AbstractEffect @Override public void instant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) { - final Skill triggerSkill; + Skill triggerSkill = null; if (_skillLevelScaleTo <= 0) { - triggerSkill = _skill.getSkill(); + // Mobius: Use 0 to trigger max learned skill level. + if (_skill.getSkillLevel() == 0) + { + final int knownLevel = effected.getSkillLevel(_skill.getSkillId()); + if (knownLevel > 0) + { + triggerSkill = new SkillHolder(_skill.getSkillId(), knownLevel, _skill.getSkillSubLevel()).getSkill(); + } + else + { + LOGGER.warning("Player " + effected + " called unknown skill " + _skill + " triggered by " + skill + " CallSkill."); + } + } + else + { + triggerSkill = _skill.getSkill(); + } } else {