From 399ebe3686a85c4ce1fe7be4fd904e526589d0a5 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Wed, 18 Aug 2021 14:04:15 +0000 Subject: [PATCH] Addition of parameter to replace existing effect with triggered. --- .../handlers/effecthandlers/TriggerSkillBySkill.java | 8 ++++++++ .../handlers/effecthandlers/TriggerSkillBySkill.java | 8 ++++++++ .../handlers/effecthandlers/TriggerSkillBySkill.java | 8 ++++++++ .../handlers/effecthandlers/TriggerSkillBySkill.java | 8 ++++++++ .../handlers/effecthandlers/TriggerSkillBySkill.java | 8 ++++++++ .../handlers/effecthandlers/TriggerSkillBySkill.java | 8 ++++++++ .../handlers/effecthandlers/TriggerSkillBySkill.java | 8 ++++++++ .../handlers/effecthandlers/TriggerSkillBySkill.java | 8 ++++++++ .../handlers/effecthandlers/TriggerSkillBySkill.java | 8 ++++++++ .../handlers/effecthandlers/TriggerSkillBySkill.java | 8 ++++++++ .../handlers/effecthandlers/TriggerSkillBySkill.java | 8 ++++++++ .../handlers/effecthandlers/TriggerSkillBySkill.java | 8 ++++++++ .../handlers/effecthandlers/TriggerSkillBySkill.java | 8 ++++++++ .../handlers/effecthandlers/TriggerSkillBySkill.java | 8 ++++++++ .../handlers/effecthandlers/TriggerSkillBySkill.java | 8 ++++++++ .../handlers/effecthandlers/TriggerSkillBySkill.java | 8 ++++++++ .../handlers/effecthandlers/TriggerSkillBySkill.java | 8 ++++++++ .../handlers/effecthandlers/TriggerSkillBySkill.java | 8 ++++++++ .../handlers/effecthandlers/TriggerSkillBySkill.java | 8 ++++++++ .../handlers/effecthandlers/TriggerSkillBySkill.java | 8 ++++++++ .../handlers/effecthandlers/TriggerSkillBySkill.java | 8 ++++++++ 21 files changed, 168 insertions(+) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java index 466e65dc9f..0841446637 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java @@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect private final SkillHolder _skill; private final int _skillLevelScaleTo; private final TargetType _targetType; + private final boolean _replace; public TriggerSkillBySkill(StatSet params) { @@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); + _replace = params.getBoolean("replace", true); } @Override @@ -122,6 +124,12 @@ public class TriggerSkillBySkill extends AbstractEffect } } + // Remove existing effect, otherwise time will not be renewed at max level. + if (_replace) + { + ((Creature) target).getEffectList().stopSkillEffects(true, triggerSkill); + } + SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill); } } diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java index 466e65dc9f..0841446637 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java @@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect private final SkillHolder _skill; private final int _skillLevelScaleTo; private final TargetType _targetType; + private final boolean _replace; public TriggerSkillBySkill(StatSet params) { @@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); + _replace = params.getBoolean("replace", true); } @Override @@ -122,6 +124,12 @@ public class TriggerSkillBySkill extends AbstractEffect } } + // Remove existing effect, otherwise time will not be renewed at max level. + if (_replace) + { + ((Creature) target).getEffectList().stopSkillEffects(true, triggerSkill); + } + SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill); } } diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java index 466e65dc9f..0841446637 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java @@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect private final SkillHolder _skill; private final int _skillLevelScaleTo; private final TargetType _targetType; + private final boolean _replace; public TriggerSkillBySkill(StatSet params) { @@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); + _replace = params.getBoolean("replace", true); } @Override @@ -122,6 +124,12 @@ public class TriggerSkillBySkill extends AbstractEffect } } + // Remove existing effect, otherwise time will not be renewed at max level. + if (_replace) + { + ((Creature) target).getEffectList().stopSkillEffects(true, triggerSkill); + } + SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill); } } diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java index 466e65dc9f..0841446637 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java @@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect private final SkillHolder _skill; private final int _skillLevelScaleTo; private final TargetType _targetType; + private final boolean _replace; public TriggerSkillBySkill(StatSet params) { @@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); + _replace = params.getBoolean("replace", true); } @Override @@ -122,6 +124,12 @@ public class TriggerSkillBySkill extends AbstractEffect } } + // Remove existing effect, otherwise time will not be renewed at max level. + if (_replace) + { + ((Creature) target).getEffectList().stopSkillEffects(true, triggerSkill); + } + SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill); } } diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java index 466e65dc9f..0841446637 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java @@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect private final SkillHolder _skill; private final int _skillLevelScaleTo; private final TargetType _targetType; + private final boolean _replace; public TriggerSkillBySkill(StatSet params) { @@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); + _replace = params.getBoolean("replace", true); } @Override @@ -122,6 +124,12 @@ public class TriggerSkillBySkill extends AbstractEffect } } + // Remove existing effect, otherwise time will not be renewed at max level. + if (_replace) + { + ((Creature) target).getEffectList().stopSkillEffects(true, triggerSkill); + } + SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill); } } diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java index 466e65dc9f..0841446637 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java @@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect private final SkillHolder _skill; private final int _skillLevelScaleTo; private final TargetType _targetType; + private final boolean _replace; public TriggerSkillBySkill(StatSet params) { @@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); + _replace = params.getBoolean("replace", true); } @Override @@ -122,6 +124,12 @@ public class TriggerSkillBySkill extends AbstractEffect } } + // Remove existing effect, otherwise time will not be renewed at max level. + if (_replace) + { + ((Creature) target).getEffectList().stopSkillEffects(true, triggerSkill); + } + SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill); } } diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java index 466e65dc9f..0841446637 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java @@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect private final SkillHolder _skill; private final int _skillLevelScaleTo; private final TargetType _targetType; + private final boolean _replace; public TriggerSkillBySkill(StatSet params) { @@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); + _replace = params.getBoolean("replace", true); } @Override @@ -122,6 +124,12 @@ public class TriggerSkillBySkill extends AbstractEffect } } + // Remove existing effect, otherwise time will not be renewed at max level. + if (_replace) + { + ((Creature) target).getEffectList().stopSkillEffects(true, triggerSkill); + } + SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill); } } diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java index 466e65dc9f..0841446637 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java @@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect private final SkillHolder _skill; private final int _skillLevelScaleTo; private final TargetType _targetType; + private final boolean _replace; public TriggerSkillBySkill(StatSet params) { @@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); + _replace = params.getBoolean("replace", true); } @Override @@ -122,6 +124,12 @@ public class TriggerSkillBySkill extends AbstractEffect } } + // Remove existing effect, otherwise time will not be renewed at max level. + if (_replace) + { + ((Creature) target).getEffectList().stopSkillEffects(true, triggerSkill); + } + SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill); } } diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java index 466e65dc9f..0841446637 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java @@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect private final SkillHolder _skill; private final int _skillLevelScaleTo; private final TargetType _targetType; + private final boolean _replace; public TriggerSkillBySkill(StatSet params) { @@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); + _replace = params.getBoolean("replace", true); } @Override @@ -122,6 +124,12 @@ public class TriggerSkillBySkill extends AbstractEffect } } + // Remove existing effect, otherwise time will not be renewed at max level. + if (_replace) + { + ((Creature) target).getEffectList().stopSkillEffects(true, triggerSkill); + } + SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill); } } diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java index 466e65dc9f..0841446637 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java @@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect private final SkillHolder _skill; private final int _skillLevelScaleTo; private final TargetType _targetType; + private final boolean _replace; public TriggerSkillBySkill(StatSet params) { @@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); + _replace = params.getBoolean("replace", true); } @Override @@ -122,6 +124,12 @@ public class TriggerSkillBySkill extends AbstractEffect } } + // Remove existing effect, otherwise time will not be renewed at max level. + if (_replace) + { + ((Creature) target).getEffectList().stopSkillEffects(true, triggerSkill); + } + SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill); } } diff --git a/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java b/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java index 466e65dc9f..0841446637 100644 --- a/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java +++ b/L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java @@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect private final SkillHolder _skill; private final int _skillLevelScaleTo; private final TargetType _targetType; + private final boolean _replace; public TriggerSkillBySkill(StatSet params) { @@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); + _replace = params.getBoolean("replace", true); } @Override @@ -122,6 +124,12 @@ public class TriggerSkillBySkill extends AbstractEffect } } + // Remove existing effect, otherwise time will not be renewed at max level. + if (_replace) + { + ((Creature) target).getEffectList().stopSkillEffects(true, triggerSkill); + } + SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill); } } diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java index 466e65dc9f..0841446637 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java @@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect private final SkillHolder _skill; private final int _skillLevelScaleTo; private final TargetType _targetType; + private final boolean _replace; public TriggerSkillBySkill(StatSet params) { @@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); + _replace = params.getBoolean("replace", true); } @Override @@ -122,6 +124,12 @@ public class TriggerSkillBySkill extends AbstractEffect } } + // Remove existing effect, otherwise time will not be renewed at max level. + if (_replace) + { + ((Creature) target).getEffectList().stopSkillEffects(true, triggerSkill); + } + SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill); } } diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java index 466e65dc9f..0841446637 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java @@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect private final SkillHolder _skill; private final int _skillLevelScaleTo; private final TargetType _targetType; + private final boolean _replace; public TriggerSkillBySkill(StatSet params) { @@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); + _replace = params.getBoolean("replace", true); } @Override @@ -122,6 +124,12 @@ public class TriggerSkillBySkill extends AbstractEffect } } + // Remove existing effect, otherwise time will not be renewed at max level. + if (_replace) + { + ((Creature) target).getEffectList().stopSkillEffects(true, triggerSkill); + } + SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill); } } diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java index 466e65dc9f..0841446637 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java @@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect private final SkillHolder _skill; private final int _skillLevelScaleTo; private final TargetType _targetType; + private final boolean _replace; public TriggerSkillBySkill(StatSet params) { @@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); + _replace = params.getBoolean("replace", true); } @Override @@ -122,6 +124,12 @@ public class TriggerSkillBySkill extends AbstractEffect } } + // Remove existing effect, otherwise time will not be renewed at max level. + if (_replace) + { + ((Creature) target).getEffectList().stopSkillEffects(true, triggerSkill); + } + SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill); } } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java index 466e65dc9f..0841446637 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java @@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect private final SkillHolder _skill; private final int _skillLevelScaleTo; private final TargetType _targetType; + private final boolean _replace; public TriggerSkillBySkill(StatSet params) { @@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); + _replace = params.getBoolean("replace", true); } @Override @@ -122,6 +124,12 @@ public class TriggerSkillBySkill extends AbstractEffect } } + // Remove existing effect, otherwise time will not be renewed at max level. + if (_replace) + { + ((Creature) target).getEffectList().stopSkillEffects(true, triggerSkill); + } + SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill); } } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java index 466e65dc9f..0841446637 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java @@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect private final SkillHolder _skill; private final int _skillLevelScaleTo; private final TargetType _targetType; + private final boolean _replace; public TriggerSkillBySkill(StatSet params) { @@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); + _replace = params.getBoolean("replace", true); } @Override @@ -122,6 +124,12 @@ public class TriggerSkillBySkill extends AbstractEffect } } + // Remove existing effect, otherwise time will not be renewed at max level. + if (_replace) + { + ((Creature) target).getEffectList().stopSkillEffects(true, triggerSkill); + } + SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill); } } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java index 466e65dc9f..0841446637 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java @@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect private final SkillHolder _skill; private final int _skillLevelScaleTo; private final TargetType _targetType; + private final boolean _replace; public TriggerSkillBySkill(StatSet params) { @@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); + _replace = params.getBoolean("replace", true); } @Override @@ -122,6 +124,12 @@ public class TriggerSkillBySkill extends AbstractEffect } } + // Remove existing effect, otherwise time will not be renewed at max level. + if (_replace) + { + ((Creature) target).getEffectList().stopSkillEffects(true, triggerSkill); + } + SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill); } } diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java index 466e65dc9f..0841446637 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java @@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect private final SkillHolder _skill; private final int _skillLevelScaleTo; private final TargetType _targetType; + private final boolean _replace; public TriggerSkillBySkill(StatSet params) { @@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); + _replace = params.getBoolean("replace", true); } @Override @@ -122,6 +124,12 @@ public class TriggerSkillBySkill extends AbstractEffect } } + // Remove existing effect, otherwise time will not be renewed at max level. + if (_replace) + { + ((Creature) target).getEffectList().stopSkillEffects(true, triggerSkill); + } + SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill); } } diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java index 466e65dc9f..0841446637 100644 --- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java +++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java @@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect private final SkillHolder _skill; private final int _skillLevelScaleTo; private final TargetType _targetType; + private final boolean _replace; public TriggerSkillBySkill(StatSet params) { @@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); + _replace = params.getBoolean("replace", true); } @Override @@ -122,6 +124,12 @@ public class TriggerSkillBySkill extends AbstractEffect } } + // Remove existing effect, otherwise time will not be renewed at max level. + if (_replace) + { + ((Creature) target).getEffectList().stopSkillEffects(true, triggerSkill); + } + SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill); } } diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java index 466e65dc9f..0841446637 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java @@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect private final SkillHolder _skill; private final int _skillLevelScaleTo; private final TargetType _targetType; + private final boolean _replace; public TriggerSkillBySkill(StatSet params) { @@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); + _replace = params.getBoolean("replace", true); } @Override @@ -122,6 +124,12 @@ public class TriggerSkillBySkill extends AbstractEffect } } + // Remove existing effect, otherwise time will not be renewed at max level. + if (_replace) + { + ((Creature) target).getEffectList().stopSkillEffects(true, triggerSkill); + } + SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill); } } diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java index 466e65dc9f..0841446637 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java @@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect private final SkillHolder _skill; private final int _skillLevelScaleTo; private final TargetType _targetType; + private final boolean _replace; public TriggerSkillBySkill(StatSet params) { @@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); + _replace = params.getBoolean("replace", true); } @Override @@ -122,6 +124,12 @@ public class TriggerSkillBySkill extends AbstractEffect } } + // Remove existing effect, otherwise time will not be renewed at max level. + if (_replace) + { + ((Creature) target).getEffectList().stopSkillEffects(true, triggerSkill); + } + SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill); } }