From 707f988a470ccc0e7e40ac88a339d0830eda75bf Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Thu, 12 Mar 2020 09:39:13 +0000 Subject: [PATCH] Addition of TriggerSkillByDamage hpPercent parameter. --- .../handlers/effecthandlers/TriggerSkillByDamage.java | 7 +++++++ .../handlers/effecthandlers/TriggerSkillByDamage.java | 7 +++++++ .../handlers/effecthandlers/TriggerSkillByDamage.java | 7 +++++++ .../handlers/effecthandlers/TriggerSkillByDamage.java | 7 +++++++ .../handlers/effecthandlers/TriggerSkillByDamage.java | 7 +++++++ .../handlers/effecthandlers/TriggerSkillByDamage.java | 7 +++++++ .../handlers/effecthandlers/TriggerSkillByDamage.java | 7 +++++++ .../handlers/effecthandlers/TriggerSkillByDamage.java | 7 +++++++ .../handlers/effecthandlers/TriggerSkillByDamage.java | 7 +++++++ .../handlers/effecthandlers/TriggerSkillByDamage.java | 7 +++++++ .../handlers/effecthandlers/TriggerSkillByDamage.java | 7 +++++++ .../handlers/effecthandlers/TriggerSkillByDamage.java | 7 +++++++ .../handlers/effecthandlers/TriggerSkillByDamage.java | 7 +++++++ .../handlers/effecthandlers/TriggerSkillByDamage.java | 7 +++++++ .../handlers/effecthandlers/TriggerSkillByDamage.java | 7 +++++++ 15 files changed, 105 insertions(+) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java index 501dacedc4..f9c3e40e46 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java @@ -44,6 +44,7 @@ public class TriggerSkillByDamage extends AbstractEffect private final int _maxAttackerLevel; private final int _minDamage; private final int _chance; + private final int _hpPercent; private final SkillHolder _skill; private final TargetType _targetType; private final InstanceType _attackerType; @@ -54,6 +55,7 @@ public class TriggerSkillByDamage extends AbstractEffect _maxAttackerLevel = params.getInt("maxAttackerLevel", 127); _minDamage = params.getInt("minDamage", 1); _chance = params.getInt("chance", 100); + _hpPercent = params.getInt("hpPercent", 100); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel", 1)); _targetType = params.getEnum("targetType", TargetType.class, TargetType.SELF); _attackerType = params.getEnum("attackerType", InstanceType.class, InstanceType.Creature); @@ -76,6 +78,11 @@ public class TriggerSkillByDamage extends AbstractEffect return; } + if (event.getAttacker().getCurrentHpPercent() > _hpPercent) + { + return; + } + if ((event.getDamage() < _minDamage) || ((_chance < 100) && (Rnd.get(100) > _chance)) || !event.getAttacker().getInstanceType().isType(_attackerType)) { return; diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java index 501dacedc4..f9c3e40e46 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java @@ -44,6 +44,7 @@ public class TriggerSkillByDamage extends AbstractEffect private final int _maxAttackerLevel; private final int _minDamage; private final int _chance; + private final int _hpPercent; private final SkillHolder _skill; private final TargetType _targetType; private final InstanceType _attackerType; @@ -54,6 +55,7 @@ public class TriggerSkillByDamage extends AbstractEffect _maxAttackerLevel = params.getInt("maxAttackerLevel", 127); _minDamage = params.getInt("minDamage", 1); _chance = params.getInt("chance", 100); + _hpPercent = params.getInt("hpPercent", 100); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel", 1)); _targetType = params.getEnum("targetType", TargetType.class, TargetType.SELF); _attackerType = params.getEnum("attackerType", InstanceType.class, InstanceType.Creature); @@ -76,6 +78,11 @@ public class TriggerSkillByDamage extends AbstractEffect return; } + if (event.getAttacker().getCurrentHpPercent() > _hpPercent) + { + return; + } + if ((event.getDamage() < _minDamage) || ((_chance < 100) && (Rnd.get(100) > _chance)) || !event.getAttacker().getInstanceType().isType(_attackerType)) { return; diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java index 501dacedc4..f9c3e40e46 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java @@ -44,6 +44,7 @@ public class TriggerSkillByDamage extends AbstractEffect private final int _maxAttackerLevel; private final int _minDamage; private final int _chance; + private final int _hpPercent; private final SkillHolder _skill; private final TargetType _targetType; private final InstanceType _attackerType; @@ -54,6 +55,7 @@ public class TriggerSkillByDamage extends AbstractEffect _maxAttackerLevel = params.getInt("maxAttackerLevel", 127); _minDamage = params.getInt("minDamage", 1); _chance = params.getInt("chance", 100); + _hpPercent = params.getInt("hpPercent", 100); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel", 1)); _targetType = params.getEnum("targetType", TargetType.class, TargetType.SELF); _attackerType = params.getEnum("attackerType", InstanceType.class, InstanceType.Creature); @@ -76,6 +78,11 @@ public class TriggerSkillByDamage extends AbstractEffect return; } + if (event.getAttacker().getCurrentHpPercent() > _hpPercent) + { + return; + } + if ((event.getDamage() < _minDamage) || ((_chance < 100) && (Rnd.get(100) > _chance)) || !event.getAttacker().getInstanceType().isType(_attackerType)) { return; diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java index 501dacedc4..f9c3e40e46 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java @@ -44,6 +44,7 @@ public class TriggerSkillByDamage extends AbstractEffect private final int _maxAttackerLevel; private final int _minDamage; private final int _chance; + private final int _hpPercent; private final SkillHolder _skill; private final TargetType _targetType; private final InstanceType _attackerType; @@ -54,6 +55,7 @@ public class TriggerSkillByDamage extends AbstractEffect _maxAttackerLevel = params.getInt("maxAttackerLevel", 127); _minDamage = params.getInt("minDamage", 1); _chance = params.getInt("chance", 100); + _hpPercent = params.getInt("hpPercent", 100); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel", 1)); _targetType = params.getEnum("targetType", TargetType.class, TargetType.SELF); _attackerType = params.getEnum("attackerType", InstanceType.class, InstanceType.Creature); @@ -76,6 +78,11 @@ public class TriggerSkillByDamage extends AbstractEffect return; } + if (event.getAttacker().getCurrentHpPercent() > _hpPercent) + { + return; + } + if ((event.getDamage() < _minDamage) || ((_chance < 100) && (Rnd.get(100) > _chance)) || !event.getAttacker().getInstanceType().isType(_attackerType)) { return; diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java index 501dacedc4..f9c3e40e46 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java @@ -44,6 +44,7 @@ public class TriggerSkillByDamage extends AbstractEffect private final int _maxAttackerLevel; private final int _minDamage; private final int _chance; + private final int _hpPercent; private final SkillHolder _skill; private final TargetType _targetType; private final InstanceType _attackerType; @@ -54,6 +55,7 @@ public class TriggerSkillByDamage extends AbstractEffect _maxAttackerLevel = params.getInt("maxAttackerLevel", 127); _minDamage = params.getInt("minDamage", 1); _chance = params.getInt("chance", 100); + _hpPercent = params.getInt("hpPercent", 100); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel", 1)); _targetType = params.getEnum("targetType", TargetType.class, TargetType.SELF); _attackerType = params.getEnum("attackerType", InstanceType.class, InstanceType.Creature); @@ -76,6 +78,11 @@ public class TriggerSkillByDamage extends AbstractEffect return; } + if (event.getAttacker().getCurrentHpPercent() > _hpPercent) + { + return; + } + if ((event.getDamage() < _minDamage) || ((_chance < 100) && (Rnd.get(100) > _chance)) || !event.getAttacker().getInstanceType().isType(_attackerType)) { return; diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java index 501dacedc4..f9c3e40e46 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java @@ -44,6 +44,7 @@ public class TriggerSkillByDamage extends AbstractEffect private final int _maxAttackerLevel; private final int _minDamage; private final int _chance; + private final int _hpPercent; private final SkillHolder _skill; private final TargetType _targetType; private final InstanceType _attackerType; @@ -54,6 +55,7 @@ public class TriggerSkillByDamage extends AbstractEffect _maxAttackerLevel = params.getInt("maxAttackerLevel", 127); _minDamage = params.getInt("minDamage", 1); _chance = params.getInt("chance", 100); + _hpPercent = params.getInt("hpPercent", 100); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel", 1)); _targetType = params.getEnum("targetType", TargetType.class, TargetType.SELF); _attackerType = params.getEnum("attackerType", InstanceType.class, InstanceType.Creature); @@ -76,6 +78,11 @@ public class TriggerSkillByDamage extends AbstractEffect return; } + if (event.getAttacker().getCurrentHpPercent() > _hpPercent) + { + return; + } + if ((event.getDamage() < _minDamage) || ((_chance < 100) && (Rnd.get(100) > _chance)) || !event.getAttacker().getInstanceType().isType(_attackerType)) { return; diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java index 501dacedc4..f9c3e40e46 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java @@ -44,6 +44,7 @@ public class TriggerSkillByDamage extends AbstractEffect private final int _maxAttackerLevel; private final int _minDamage; private final int _chance; + private final int _hpPercent; private final SkillHolder _skill; private final TargetType _targetType; private final InstanceType _attackerType; @@ -54,6 +55,7 @@ public class TriggerSkillByDamage extends AbstractEffect _maxAttackerLevel = params.getInt("maxAttackerLevel", 127); _minDamage = params.getInt("minDamage", 1); _chance = params.getInt("chance", 100); + _hpPercent = params.getInt("hpPercent", 100); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel", 1)); _targetType = params.getEnum("targetType", TargetType.class, TargetType.SELF); _attackerType = params.getEnum("attackerType", InstanceType.class, InstanceType.Creature); @@ -76,6 +78,11 @@ public class TriggerSkillByDamage extends AbstractEffect return; } + if (event.getAttacker().getCurrentHpPercent() > _hpPercent) + { + return; + } + if ((event.getDamage() < _minDamage) || ((_chance < 100) && (Rnd.get(100) > _chance)) || !event.getAttacker().getInstanceType().isType(_attackerType)) { return; diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java index 501dacedc4..f9c3e40e46 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java @@ -44,6 +44,7 @@ public class TriggerSkillByDamage extends AbstractEffect private final int _maxAttackerLevel; private final int _minDamage; private final int _chance; + private final int _hpPercent; private final SkillHolder _skill; private final TargetType _targetType; private final InstanceType _attackerType; @@ -54,6 +55,7 @@ public class TriggerSkillByDamage extends AbstractEffect _maxAttackerLevel = params.getInt("maxAttackerLevel", 127); _minDamage = params.getInt("minDamage", 1); _chance = params.getInt("chance", 100); + _hpPercent = params.getInt("hpPercent", 100); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel", 1)); _targetType = params.getEnum("targetType", TargetType.class, TargetType.SELF); _attackerType = params.getEnum("attackerType", InstanceType.class, InstanceType.Creature); @@ -76,6 +78,11 @@ public class TriggerSkillByDamage extends AbstractEffect return; } + if (event.getAttacker().getCurrentHpPercent() > _hpPercent) + { + return; + } + if ((event.getDamage() < _minDamage) || ((_chance < 100) && (Rnd.get(100) > _chance)) || !event.getAttacker().getInstanceType().isType(_attackerType)) { return; diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java index 501dacedc4..f9c3e40e46 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java @@ -44,6 +44,7 @@ public class TriggerSkillByDamage extends AbstractEffect private final int _maxAttackerLevel; private final int _minDamage; private final int _chance; + private final int _hpPercent; private final SkillHolder _skill; private final TargetType _targetType; private final InstanceType _attackerType; @@ -54,6 +55,7 @@ public class TriggerSkillByDamage extends AbstractEffect _maxAttackerLevel = params.getInt("maxAttackerLevel", 127); _minDamage = params.getInt("minDamage", 1); _chance = params.getInt("chance", 100); + _hpPercent = params.getInt("hpPercent", 100); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel", 1)); _targetType = params.getEnum("targetType", TargetType.class, TargetType.SELF); _attackerType = params.getEnum("attackerType", InstanceType.class, InstanceType.Creature); @@ -76,6 +78,11 @@ public class TriggerSkillByDamage extends AbstractEffect return; } + if (event.getAttacker().getCurrentHpPercent() > _hpPercent) + { + return; + } + if ((event.getDamage() < _minDamage) || ((_chance < 100) && (Rnd.get(100) > _chance)) || !event.getAttacker().getInstanceType().isType(_attackerType)) { return; diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java index 501dacedc4..f9c3e40e46 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java @@ -44,6 +44,7 @@ public class TriggerSkillByDamage extends AbstractEffect private final int _maxAttackerLevel; private final int _minDamage; private final int _chance; + private final int _hpPercent; private final SkillHolder _skill; private final TargetType _targetType; private final InstanceType _attackerType; @@ -54,6 +55,7 @@ public class TriggerSkillByDamage extends AbstractEffect _maxAttackerLevel = params.getInt("maxAttackerLevel", 127); _minDamage = params.getInt("minDamage", 1); _chance = params.getInt("chance", 100); + _hpPercent = params.getInt("hpPercent", 100); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel", 1)); _targetType = params.getEnum("targetType", TargetType.class, TargetType.SELF); _attackerType = params.getEnum("attackerType", InstanceType.class, InstanceType.Creature); @@ -76,6 +78,11 @@ public class TriggerSkillByDamage extends AbstractEffect return; } + if (event.getAttacker().getCurrentHpPercent() > _hpPercent) + { + return; + } + if ((event.getDamage() < _minDamage) || ((_chance < 100) && (Rnd.get(100) > _chance)) || !event.getAttacker().getInstanceType().isType(_attackerType)) { return; diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java index 501dacedc4..f9c3e40e46 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java @@ -44,6 +44,7 @@ public class TriggerSkillByDamage extends AbstractEffect private final int _maxAttackerLevel; private final int _minDamage; private final int _chance; + private final int _hpPercent; private final SkillHolder _skill; private final TargetType _targetType; private final InstanceType _attackerType; @@ -54,6 +55,7 @@ public class TriggerSkillByDamage extends AbstractEffect _maxAttackerLevel = params.getInt("maxAttackerLevel", 127); _minDamage = params.getInt("minDamage", 1); _chance = params.getInt("chance", 100); + _hpPercent = params.getInt("hpPercent", 100); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel", 1)); _targetType = params.getEnum("targetType", TargetType.class, TargetType.SELF); _attackerType = params.getEnum("attackerType", InstanceType.class, InstanceType.Creature); @@ -76,6 +78,11 @@ public class TriggerSkillByDamage extends AbstractEffect return; } + if (event.getAttacker().getCurrentHpPercent() > _hpPercent) + { + return; + } + if ((event.getDamage() < _minDamage) || ((_chance < 100) && (Rnd.get(100) > _chance)) || !event.getAttacker().getInstanceType().isType(_attackerType)) { return; diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java index 501dacedc4..f9c3e40e46 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java @@ -44,6 +44,7 @@ public class TriggerSkillByDamage extends AbstractEffect private final int _maxAttackerLevel; private final int _minDamage; private final int _chance; + private final int _hpPercent; private final SkillHolder _skill; private final TargetType _targetType; private final InstanceType _attackerType; @@ -54,6 +55,7 @@ public class TriggerSkillByDamage extends AbstractEffect _maxAttackerLevel = params.getInt("maxAttackerLevel", 127); _minDamage = params.getInt("minDamage", 1); _chance = params.getInt("chance", 100); + _hpPercent = params.getInt("hpPercent", 100); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel", 1)); _targetType = params.getEnum("targetType", TargetType.class, TargetType.SELF); _attackerType = params.getEnum("attackerType", InstanceType.class, InstanceType.Creature); @@ -76,6 +78,11 @@ public class TriggerSkillByDamage extends AbstractEffect return; } + if (event.getAttacker().getCurrentHpPercent() > _hpPercent) + { + return; + } + if ((event.getDamage() < _minDamage) || ((_chance < 100) && (Rnd.get(100) > _chance)) || !event.getAttacker().getInstanceType().isType(_attackerType)) { return; diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java index 501dacedc4..f9c3e40e46 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java @@ -44,6 +44,7 @@ public class TriggerSkillByDamage extends AbstractEffect private final int _maxAttackerLevel; private final int _minDamage; private final int _chance; + private final int _hpPercent; private final SkillHolder _skill; private final TargetType _targetType; private final InstanceType _attackerType; @@ -54,6 +55,7 @@ public class TriggerSkillByDamage extends AbstractEffect _maxAttackerLevel = params.getInt("maxAttackerLevel", 127); _minDamage = params.getInt("minDamage", 1); _chance = params.getInt("chance", 100); + _hpPercent = params.getInt("hpPercent", 100); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel", 1)); _targetType = params.getEnum("targetType", TargetType.class, TargetType.SELF); _attackerType = params.getEnum("attackerType", InstanceType.class, InstanceType.Creature); @@ -76,6 +78,11 @@ public class TriggerSkillByDamage extends AbstractEffect return; } + if (event.getAttacker().getCurrentHpPercent() > _hpPercent) + { + return; + } + if ((event.getDamage() < _minDamage) || ((_chance < 100) && (Rnd.get(100) > _chance)) || !event.getAttacker().getInstanceType().isType(_attackerType)) { return; diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java index 501dacedc4..f9c3e40e46 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java @@ -44,6 +44,7 @@ public class TriggerSkillByDamage extends AbstractEffect private final int _maxAttackerLevel; private final int _minDamage; private final int _chance; + private final int _hpPercent; private final SkillHolder _skill; private final TargetType _targetType; private final InstanceType _attackerType; @@ -54,6 +55,7 @@ public class TriggerSkillByDamage extends AbstractEffect _maxAttackerLevel = params.getInt("maxAttackerLevel", 127); _minDamage = params.getInt("minDamage", 1); _chance = params.getInt("chance", 100); + _hpPercent = params.getInt("hpPercent", 100); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel", 1)); _targetType = params.getEnum("targetType", TargetType.class, TargetType.SELF); _attackerType = params.getEnum("attackerType", InstanceType.class, InstanceType.Creature); @@ -76,6 +78,11 @@ public class TriggerSkillByDamage extends AbstractEffect return; } + if (event.getAttacker().getCurrentHpPercent() > _hpPercent) + { + return; + } + if ((event.getDamage() < _minDamage) || ((_chance < 100) && (Rnd.get(100) > _chance)) || !event.getAttacker().getInstanceType().isType(_attackerType)) { return; diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java index 501dacedc4..f9c3e40e46 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByDamage.java @@ -44,6 +44,7 @@ public class TriggerSkillByDamage extends AbstractEffect private final int _maxAttackerLevel; private final int _minDamage; private final int _chance; + private final int _hpPercent; private final SkillHolder _skill; private final TargetType _targetType; private final InstanceType _attackerType; @@ -54,6 +55,7 @@ public class TriggerSkillByDamage extends AbstractEffect _maxAttackerLevel = params.getInt("maxAttackerLevel", 127); _minDamage = params.getInt("minDamage", 1); _chance = params.getInt("chance", 100); + _hpPercent = params.getInt("hpPercent", 100); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel", 1)); _targetType = params.getEnum("targetType", TargetType.class, TargetType.SELF); _attackerType = params.getEnum("attackerType", InstanceType.class, InstanceType.Creature); @@ -76,6 +78,11 @@ public class TriggerSkillByDamage extends AbstractEffect return; } + if (event.getAttacker().getCurrentHpPercent() > _hpPercent) + { + return; + } + if ((event.getDamage() < _minDamage) || ((_chance < 100) && (Rnd.get(100) > _chance)) || !event.getAttacker().getInstanceType().isType(_attackerType)) { return;