Addition of parameter to replace existing effect with triggered.

This commit is contained in:
MobiusDevelopment
2021-08-18 14:04:15 +00:00
parent 13ca1e1de4
commit 399ebe3686
21 changed files with 168 additions and 0 deletions

View File

@@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect
private final SkillHolder _skill; private final SkillHolder _skill;
private final int _skillLevelScaleTo; private final int _skillLevelScaleTo;
private final TargetType _targetType; private final TargetType _targetType;
private final boolean _replace;
public TriggerSkillBySkill(StatSet params) public TriggerSkillBySkill(StatSet params)
{ {
@@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect
_skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel"));
_skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0);
_targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET);
_replace = params.getBoolean("replace", true);
} }
@Override @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); SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill);
} }
} }

View File

@@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect
private final SkillHolder _skill; private final SkillHolder _skill;
private final int _skillLevelScaleTo; private final int _skillLevelScaleTo;
private final TargetType _targetType; private final TargetType _targetType;
private final boolean _replace;
public TriggerSkillBySkill(StatSet params) public TriggerSkillBySkill(StatSet params)
{ {
@@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect
_skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel"));
_skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0);
_targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET);
_replace = params.getBoolean("replace", true);
} }
@Override @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); SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill);
} }
} }

View File

@@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect
private final SkillHolder _skill; private final SkillHolder _skill;
private final int _skillLevelScaleTo; private final int _skillLevelScaleTo;
private final TargetType _targetType; private final TargetType _targetType;
private final boolean _replace;
public TriggerSkillBySkill(StatSet params) public TriggerSkillBySkill(StatSet params)
{ {
@@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect
_skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel"));
_skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0);
_targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET);
_replace = params.getBoolean("replace", true);
} }
@Override @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); SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill);
} }
} }

View File

@@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect
private final SkillHolder _skill; private final SkillHolder _skill;
private final int _skillLevelScaleTo; private final int _skillLevelScaleTo;
private final TargetType _targetType; private final TargetType _targetType;
private final boolean _replace;
public TriggerSkillBySkill(StatSet params) public TriggerSkillBySkill(StatSet params)
{ {
@@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect
_skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel"));
_skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0);
_targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET);
_replace = params.getBoolean("replace", true);
} }
@Override @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); SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill);
} }
} }

View File

@@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect
private final SkillHolder _skill; private final SkillHolder _skill;
private final int _skillLevelScaleTo; private final int _skillLevelScaleTo;
private final TargetType _targetType; private final TargetType _targetType;
private final boolean _replace;
public TriggerSkillBySkill(StatSet params) public TriggerSkillBySkill(StatSet params)
{ {
@@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect
_skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel"));
_skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0);
_targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET);
_replace = params.getBoolean("replace", true);
} }
@Override @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); SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill);
} }
} }

View File

@@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect
private final SkillHolder _skill; private final SkillHolder _skill;
private final int _skillLevelScaleTo; private final int _skillLevelScaleTo;
private final TargetType _targetType; private final TargetType _targetType;
private final boolean _replace;
public TriggerSkillBySkill(StatSet params) public TriggerSkillBySkill(StatSet params)
{ {
@@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect
_skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel"));
_skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0);
_targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET);
_replace = params.getBoolean("replace", true);
} }
@Override @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); SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill);
} }
} }

View File

@@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect
private final SkillHolder _skill; private final SkillHolder _skill;
private final int _skillLevelScaleTo; private final int _skillLevelScaleTo;
private final TargetType _targetType; private final TargetType _targetType;
private final boolean _replace;
public TriggerSkillBySkill(StatSet params) public TriggerSkillBySkill(StatSet params)
{ {
@@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect
_skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel"));
_skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0);
_targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET);
_replace = params.getBoolean("replace", true);
} }
@Override @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); SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill);
} }
} }

View File

@@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect
private final SkillHolder _skill; private final SkillHolder _skill;
private final int _skillLevelScaleTo; private final int _skillLevelScaleTo;
private final TargetType _targetType; private final TargetType _targetType;
private final boolean _replace;
public TriggerSkillBySkill(StatSet params) public TriggerSkillBySkill(StatSet params)
{ {
@@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect
_skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel"));
_skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0);
_targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET);
_replace = params.getBoolean("replace", true);
} }
@Override @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); SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill);
} }
} }

View File

@@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect
private final SkillHolder _skill; private final SkillHolder _skill;
private final int _skillLevelScaleTo; private final int _skillLevelScaleTo;
private final TargetType _targetType; private final TargetType _targetType;
private final boolean _replace;
public TriggerSkillBySkill(StatSet params) public TriggerSkillBySkill(StatSet params)
{ {
@@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect
_skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel"));
_skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0);
_targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET);
_replace = params.getBoolean("replace", true);
} }
@Override @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); SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill);
} }
} }

View File

@@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect
private final SkillHolder _skill; private final SkillHolder _skill;
private final int _skillLevelScaleTo; private final int _skillLevelScaleTo;
private final TargetType _targetType; private final TargetType _targetType;
private final boolean _replace;
public TriggerSkillBySkill(StatSet params) public TriggerSkillBySkill(StatSet params)
{ {
@@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect
_skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel"));
_skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0);
_targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET);
_replace = params.getBoolean("replace", true);
} }
@Override @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); SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill);
} }
} }

View File

@@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect
private final SkillHolder _skill; private final SkillHolder _skill;
private final int _skillLevelScaleTo; private final int _skillLevelScaleTo;
private final TargetType _targetType; private final TargetType _targetType;
private final boolean _replace;
public TriggerSkillBySkill(StatSet params) public TriggerSkillBySkill(StatSet params)
{ {
@@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect
_skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel"));
_skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0);
_targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET);
_replace = params.getBoolean("replace", true);
} }
@Override @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); SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill);
} }
} }

View File

@@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect
private final SkillHolder _skill; private final SkillHolder _skill;
private final int _skillLevelScaleTo; private final int _skillLevelScaleTo;
private final TargetType _targetType; private final TargetType _targetType;
private final boolean _replace;
public TriggerSkillBySkill(StatSet params) public TriggerSkillBySkill(StatSet params)
{ {
@@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect
_skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel"));
_skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0);
_targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET);
_replace = params.getBoolean("replace", true);
} }
@Override @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); SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill);
} }
} }

View File

@@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect
private final SkillHolder _skill; private final SkillHolder _skill;
private final int _skillLevelScaleTo; private final int _skillLevelScaleTo;
private final TargetType _targetType; private final TargetType _targetType;
private final boolean _replace;
public TriggerSkillBySkill(StatSet params) public TriggerSkillBySkill(StatSet params)
{ {
@@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect
_skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel"));
_skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0);
_targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET);
_replace = params.getBoolean("replace", true);
} }
@Override @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); SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill);
} }
} }

View File

@@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect
private final SkillHolder _skill; private final SkillHolder _skill;
private final int _skillLevelScaleTo; private final int _skillLevelScaleTo;
private final TargetType _targetType; private final TargetType _targetType;
private final boolean _replace;
public TriggerSkillBySkill(StatSet params) public TriggerSkillBySkill(StatSet params)
{ {
@@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect
_skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel"));
_skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0);
_targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET);
_replace = params.getBoolean("replace", true);
} }
@Override @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); SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill);
} }
} }

View File

@@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect
private final SkillHolder _skill; private final SkillHolder _skill;
private final int _skillLevelScaleTo; private final int _skillLevelScaleTo;
private final TargetType _targetType; private final TargetType _targetType;
private final boolean _replace;
public TriggerSkillBySkill(StatSet params) public TriggerSkillBySkill(StatSet params)
{ {
@@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect
_skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel"));
_skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0);
_targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET);
_replace = params.getBoolean("replace", true);
} }
@Override @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); SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill);
} }
} }

View File

@@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect
private final SkillHolder _skill; private final SkillHolder _skill;
private final int _skillLevelScaleTo; private final int _skillLevelScaleTo;
private final TargetType _targetType; private final TargetType _targetType;
private final boolean _replace;
public TriggerSkillBySkill(StatSet params) public TriggerSkillBySkill(StatSet params)
{ {
@@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect
_skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel"));
_skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0);
_targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET);
_replace = params.getBoolean("replace", true);
} }
@Override @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); SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill);
} }
} }

View File

@@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect
private final SkillHolder _skill; private final SkillHolder _skill;
private final int _skillLevelScaleTo; private final int _skillLevelScaleTo;
private final TargetType _targetType; private final TargetType _targetType;
private final boolean _replace;
public TriggerSkillBySkill(StatSet params) public TriggerSkillBySkill(StatSet params)
{ {
@@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect
_skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel"));
_skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0);
_targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET);
_replace = params.getBoolean("replace", true);
} }
@Override @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); SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill);
} }
} }

View File

@@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect
private final SkillHolder _skill; private final SkillHolder _skill;
private final int _skillLevelScaleTo; private final int _skillLevelScaleTo;
private final TargetType _targetType; private final TargetType _targetType;
private final boolean _replace;
public TriggerSkillBySkill(StatSet params) public TriggerSkillBySkill(StatSet params)
{ {
@@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect
_skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel"));
_skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0);
_targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET);
_replace = params.getBoolean("replace", true);
} }
@Override @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); SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill);
} }
} }

View File

@@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect
private final SkillHolder _skill; private final SkillHolder _skill;
private final int _skillLevelScaleTo; private final int _skillLevelScaleTo;
private final TargetType _targetType; private final TargetType _targetType;
private final boolean _replace;
public TriggerSkillBySkill(StatSet params) public TriggerSkillBySkill(StatSet params)
{ {
@@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect
_skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel"));
_skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0);
_targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET);
_replace = params.getBoolean("replace", true);
} }
@Override @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); SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill);
} }
} }

View File

@@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect
private final SkillHolder _skill; private final SkillHolder _skill;
private final int _skillLevelScaleTo; private final int _skillLevelScaleTo;
private final TargetType _targetType; private final TargetType _targetType;
private final boolean _replace;
public TriggerSkillBySkill(StatSet params) public TriggerSkillBySkill(StatSet params)
{ {
@@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect
_skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel"));
_skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0);
_targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET);
_replace = params.getBoolean("replace", true);
} }
@Override @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); SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill);
} }
} }

View File

@@ -46,6 +46,7 @@ public class TriggerSkillBySkill extends AbstractEffect
private final SkillHolder _skill; private final SkillHolder _skill;
private final int _skillLevelScaleTo; private final int _skillLevelScaleTo;
private final TargetType _targetType; private final TargetType _targetType;
private final boolean _replace;
public TriggerSkillBySkill(StatSet params) public TriggerSkillBySkill(StatSet params)
{ {
@@ -54,6 +55,7 @@ public class TriggerSkillBySkill extends AbstractEffect
_skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel")); _skill = new SkillHolder(params.getInt("skillId"), params.getInt("skillLevel"));
_skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0); _skillLevelScaleTo = params.getInt("skillLevelScaleTo", 0);
_targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET); _targetType = params.getEnum("targetType", TargetType.class, TargetType.TARGET);
_replace = params.getBoolean("replace", true);
} }
@Override @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); SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill);
} }
} }