Fixed TriggerSkillByDamage effect handler.

Contributed by nasseka.
This commit is contained in:
MobiusDevelopment
2022-08-17 06:32:12 +00:00
parent 32d64f1037
commit 79a629c9ca
37 changed files with 199 additions and 399 deletions

View File

@@ -92,7 +92,7 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
if ((_hpPercent < 100) && (event.getAttacker().getCurrentHpPercent() > _hpPercent))
if ((_hpPercent < 100) && (event.getTarget().getCurrentHpPercent() > _hpPercent))
{
return;
}
@@ -102,10 +102,11 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
Skill triggerSkill = _skill.getSkill();
WorldObject target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), _skill.getSkill(), false, false, false);
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), triggerSkill, false, false, false);
}
catch (Exception e)
{
@@ -116,25 +117,16 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
final Skill triggerSkill;
if (_skillLevelScaleTo <= 0)
if (_skillLevelScaleTo > 0)
{
triggerSkill = _skill.getSkill();
}
else
{
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(_skill.getSkillId());
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(triggerSkill.getId());
if (buffInfo != null)
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
else
{
triggerSkill = _skill.getSkill();
triggerSkill = SkillData.getInstance().getSkill(triggerSkill.getId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
}
SkillCaster.triggerCast(event.getAttacker(), (Creature) target, triggerSkill);
SkillCaster.triggerCast(event.getTarget(), (Creature) target, triggerSkill);
}
@Override

View File

@@ -371,11 +371,11 @@
<excludedFromCheck>true</excludedFromCheck>
<effects>
<effect name="TriggerSkillByDamage">
<!-- Undying Will -->
<attackerType>Creature</attackerType>
<chance>100</chance>
<targetType>SELF</targetType>
<minDamage>1</minDamage>
<hpPercent>30</hpPercent>
<skillId>1918</skillId> <!-- Undying Will -->
<skillLevel>1</skillLevel>
</effect>
@@ -400,7 +400,7 @@
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="RemainHpPer">
<amount>20</amount>
<amount>30</amount>
<percentType>LESS</percentType>
<affectType>CASTER</affectType>
</condition>

View File

@@ -92,7 +92,7 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
if ((_hpPercent < 100) && (event.getAttacker().getCurrentHpPercent() > _hpPercent))
if ((_hpPercent < 100) && (event.getTarget().getCurrentHpPercent() > _hpPercent))
{
return;
}
@@ -102,10 +102,11 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
Skill triggerSkill = _skill.getSkill();
WorldObject target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), _skill.getSkill(), false, false, false);
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), triggerSkill, false, false, false);
}
catch (Exception e)
{
@@ -116,25 +117,16 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
final Skill triggerSkill;
if (_skillLevelScaleTo <= 0)
if (_skillLevelScaleTo > 0)
{
triggerSkill = _skill.getSkill();
}
else
{
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(_skill.getSkillId());
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(triggerSkill.getId());
if (buffInfo != null)
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
else
{
triggerSkill = _skill.getSkill();
triggerSkill = SkillData.getInstance().getSkill(triggerSkill.getId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
}
SkillCaster.triggerCast(event.getAttacker(), (Creature) target, triggerSkill);
SkillCaster.triggerCast(event.getTarget(), (Creature) target, triggerSkill);
}
@Override

View File

@@ -371,11 +371,11 @@
<excludedFromCheck>true</excludedFromCheck>
<effects>
<effect name="TriggerSkillByDamage">
<!-- Undying Will -->
<attackerType>Creature</attackerType>
<chance>100</chance>
<targetType>SELF</targetType>
<minDamage>1</minDamage>
<hpPercent>30</hpPercent>
<skillId>1918</skillId> <!-- Undying Will -->
<skillLevel>1</skillLevel>
</effect>
@@ -400,7 +400,7 @@
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="RemainHpPer">
<amount>20</amount>
<amount>30</amount>
<percentType>LESS</percentType>
<affectType>CASTER</affectType>
</condition>

View File

@@ -92,7 +92,7 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
if ((_hpPercent < 100) && (event.getAttacker().getCurrentHpPercent() > _hpPercent))
if ((_hpPercent < 100) && (event.getTarget().getCurrentHpPercent() > _hpPercent))
{
return;
}
@@ -102,10 +102,11 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
Skill triggerSkill = _skill.getSkill();
WorldObject target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), _skill.getSkill(), false, false, false);
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), triggerSkill, false, false, false);
}
catch (Exception e)
{
@@ -116,25 +117,16 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
final Skill triggerSkill;
if (_skillLevelScaleTo <= 0)
if (_skillLevelScaleTo > 0)
{
triggerSkill = _skill.getSkill();
}
else
{
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(_skill.getSkillId());
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(triggerSkill.getId());
if (buffInfo != null)
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
else
{
triggerSkill = _skill.getSkill();
triggerSkill = SkillData.getInstance().getSkill(triggerSkill.getId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
}
SkillCaster.triggerCast(event.getAttacker(), (Creature) target, triggerSkill);
SkillCaster.triggerCast(event.getTarget(), (Creature) target, triggerSkill);
}
@Override

View File

@@ -371,11 +371,11 @@
<excludedFromCheck>true</excludedFromCheck>
<effects>
<effect name="TriggerSkillByDamage">
<!-- Undying Will -->
<attackerType>Creature</attackerType>
<chance>100</chance>
<targetType>SELF</targetType>
<minDamage>1</minDamage>
<hpPercent>30</hpPercent>
<skillId>1918</skillId> <!-- Undying Will -->
<skillLevel>1</skillLevel>
</effect>
@@ -400,7 +400,7 @@
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="RemainHpPer">
<amount>20</amount>
<amount>30</amount>
<percentType>LESS</percentType>
<affectType>CASTER</affectType>
</condition>

View File

@@ -92,7 +92,7 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
if ((_hpPercent < 100) && (event.getAttacker().getCurrentHpPercent() > _hpPercent))
if ((_hpPercent < 100) && (event.getTarget().getCurrentHpPercent() > _hpPercent))
{
return;
}
@@ -102,10 +102,11 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
Skill triggerSkill = _skill.getSkill();
WorldObject target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), _skill.getSkill(), false, false, false);
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), triggerSkill, false, false, false);
}
catch (Exception e)
{
@@ -116,25 +117,16 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
final Skill triggerSkill;
if (_skillLevelScaleTo <= 0)
if (_skillLevelScaleTo > 0)
{
triggerSkill = _skill.getSkill();
}
else
{
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(_skill.getSkillId());
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(triggerSkill.getId());
if (buffInfo != null)
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
else
{
triggerSkill = _skill.getSkill();
triggerSkill = SkillData.getInstance().getSkill(triggerSkill.getId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
}
SkillCaster.triggerCast(event.getAttacker(), (Creature) target, triggerSkill);
SkillCaster.triggerCast(event.getTarget(), (Creature) target, triggerSkill);
}
@Override

View File

@@ -371,11 +371,11 @@
<excludedFromCheck>true</excludedFromCheck>
<effects>
<effect name="TriggerSkillByDamage">
<!-- Undying Will -->
<attackerType>Creature</attackerType>
<chance>100</chance>
<targetType>SELF</targetType>
<minDamage>1</minDamage>
<hpPercent>30</hpPercent>
<skillId>1918</skillId> <!-- Undying Will -->
<skillLevel>1</skillLevel>
</effect>
@@ -400,7 +400,7 @@
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="RemainHpPer">
<amount>20</amount>
<amount>30</amount>
<percentType>LESS</percentType>
<affectType>CASTER</affectType>
</condition>

View File

@@ -92,7 +92,7 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
if ((_hpPercent < 100) && (event.getAttacker().getCurrentHpPercent() > _hpPercent))
if ((_hpPercent < 100) && (event.getTarget().getCurrentHpPercent() > _hpPercent))
{
return;
}
@@ -102,10 +102,11 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
Skill triggerSkill = _skill.getSkill();
WorldObject target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), _skill.getSkill(), false, false, false);
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), triggerSkill, false, false, false);
}
catch (Exception e)
{
@@ -116,25 +117,16 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
final Skill triggerSkill;
if (_skillLevelScaleTo <= 0)
if (_skillLevelScaleTo > 0)
{
triggerSkill = _skill.getSkill();
}
else
{
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(_skill.getSkillId());
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(triggerSkill.getId());
if (buffInfo != null)
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
else
{
triggerSkill = _skill.getSkill();
triggerSkill = SkillData.getInstance().getSkill(triggerSkill.getId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
}
SkillCaster.triggerCast(event.getAttacker(), (Creature) target, triggerSkill);
SkillCaster.triggerCast(event.getTarget(), (Creature) target, triggerSkill);
}
@Override

View File

@@ -371,11 +371,11 @@
<excludedFromCheck>true</excludedFromCheck>
<effects>
<effect name="TriggerSkillByDamage">
<!-- Undying Will -->
<attackerType>Creature</attackerType>
<chance>100</chance>
<targetType>SELF</targetType>
<minDamage>1</minDamage>
<hpPercent>30</hpPercent>
<skillId>1918</skillId> <!-- Undying Will -->
<skillLevel>1</skillLevel>
</effect>
@@ -400,7 +400,7 @@
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="RemainHpPer">
<amount>20</amount>
<amount>30</amount>
<percentType>LESS</percentType>
<affectType>CASTER</affectType>
</condition>

View File

@@ -92,7 +92,7 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
if ((_hpPercent < 100) && (event.getAttacker().getCurrentHpPercent() > _hpPercent))
if ((_hpPercent < 100) && (event.getTarget().getCurrentHpPercent() > _hpPercent))
{
return;
}
@@ -102,10 +102,11 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
Skill triggerSkill = _skill.getSkill();
WorldObject target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), _skill.getSkill(), false, false, false);
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), triggerSkill, false, false, false);
}
catch (Exception e)
{
@@ -116,25 +117,16 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
final Skill triggerSkill;
if (_skillLevelScaleTo <= 0)
if (_skillLevelScaleTo > 0)
{
triggerSkill = _skill.getSkill();
}
else
{
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(_skill.getSkillId());
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(triggerSkill.getId());
if (buffInfo != null)
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
else
{
triggerSkill = _skill.getSkill();
triggerSkill = SkillData.getInstance().getSkill(triggerSkill.getId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
}
SkillCaster.triggerCast(event.getAttacker(), (Creature) target, triggerSkill);
SkillCaster.triggerCast(event.getTarget(), (Creature) target, triggerSkill);
}
@Override

View File

@@ -371,11 +371,11 @@
<excludedFromCheck>true</excludedFromCheck>
<effects>
<effect name="TriggerSkillByDamage">
<!-- Undying Will -->
<attackerType>Creature</attackerType>
<chance>100</chance>
<targetType>SELF</targetType>
<minDamage>1</minDamage>
<hpPercent>30</hpPercent>
<skillId>1918</skillId> <!-- Undying Will -->
<skillLevel>1</skillLevel>
</effect>
@@ -400,7 +400,7 @@
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="RemainHpPer">
<amount>20</amount>
<amount>30</amount>
<percentType>LESS</percentType>
<affectType>CASTER</affectType>
</condition>

View File

@@ -92,7 +92,7 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
if ((_hpPercent < 100) && (event.getAttacker().getCurrentHpPercent() > _hpPercent))
if ((_hpPercent < 100) && (event.getTarget().getCurrentHpPercent() > _hpPercent))
{
return;
}
@@ -102,10 +102,11 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
Skill triggerSkill = _skill.getSkill();
WorldObject target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), _skill.getSkill(), false, false, false);
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), triggerSkill, false, false, false);
}
catch (Exception e)
{
@@ -116,25 +117,16 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
final Skill triggerSkill;
if (_skillLevelScaleTo <= 0)
if (_skillLevelScaleTo > 0)
{
triggerSkill = _skill.getSkill();
}
else
{
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(_skill.getSkillId());
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(triggerSkill.getId());
if (buffInfo != null)
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
else
{
triggerSkill = _skill.getSkill();
triggerSkill = SkillData.getInstance().getSkill(triggerSkill.getId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
}
SkillCaster.triggerCast(event.getAttacker(), (Creature) target, triggerSkill);
SkillCaster.triggerCast(event.getTarget(), (Creature) target, triggerSkill);
}
@Override

View File

@@ -371,11 +371,11 @@
<excludedFromCheck>true</excludedFromCheck>
<effects>
<effect name="TriggerSkillByDamage">
<!-- Undying Will -->
<attackerType>Creature</attackerType>
<chance>100</chance>
<targetType>SELF</targetType>
<minDamage>1</minDamage>
<hpPercent>30</hpPercent>
<skillId>1918</skillId> <!-- Undying Will -->
<skillLevel>1</skillLevel>
</effect>
@@ -400,7 +400,7 @@
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="RemainHpPer">
<amount>20</amount>
<amount>30</amount>
<percentType>LESS</percentType>
<affectType>CASTER</affectType>
</condition>

View File

@@ -92,7 +92,7 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
if ((_hpPercent < 100) && (event.getAttacker().getCurrentHpPercent() > _hpPercent))
if ((_hpPercent < 100) && (event.getTarget().getCurrentHpPercent() > _hpPercent))
{
return;
}
@@ -102,10 +102,11 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
Skill triggerSkill = _skill.getSkill();
WorldObject target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), _skill.getSkill(), false, false, false);
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), triggerSkill, false, false, false);
}
catch (Exception e)
{
@@ -116,25 +117,16 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
final Skill triggerSkill;
if (_skillLevelScaleTo <= 0)
if (_skillLevelScaleTo > 0)
{
triggerSkill = _skill.getSkill();
}
else
{
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(_skill.getSkillId());
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(triggerSkill.getId());
if (buffInfo != null)
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
else
{
triggerSkill = _skill.getSkill();
triggerSkill = SkillData.getInstance().getSkill(triggerSkill.getId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
}
SkillCaster.triggerCast(event.getAttacker(), (Creature) target, triggerSkill);
SkillCaster.triggerCast(event.getTarget(), (Creature) target, triggerSkill);
}
@Override

View File

@@ -371,11 +371,11 @@
<excludedFromCheck>true</excludedFromCheck>
<effects>
<effect name="TriggerSkillByDamage">
<!-- Undying Will -->
<attackerType>Creature</attackerType>
<chance>100</chance>
<targetType>SELF</targetType>
<minDamage>1</minDamage>
<hpPercent>30</hpPercent>
<skillId>1918</skillId> <!-- Undying Will -->
<skillLevel>1</skillLevel>
</effect>
@@ -400,7 +400,7 @@
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="RemainHpPer">
<amount>20</amount>
<amount>30</amount>
<percentType>LESS</percentType>
<affectType>CASTER</affectType>
</condition>

View File

@@ -92,7 +92,7 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
if ((_hpPercent < 100) && (event.getAttacker().getCurrentHpPercent() > _hpPercent))
if ((_hpPercent < 100) && (event.getTarget().getCurrentHpPercent() > _hpPercent))
{
return;
}
@@ -102,10 +102,11 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
Skill triggerSkill = _skill.getSkill();
WorldObject target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), _skill.getSkill(), false, false, false);
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), triggerSkill, false, false, false);
}
catch (Exception e)
{
@@ -116,25 +117,16 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
final Skill triggerSkill;
if (_skillLevelScaleTo <= 0)
if (_skillLevelScaleTo > 0)
{
triggerSkill = _skill.getSkill();
}
else
{
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(_skill.getSkillId());
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(triggerSkill.getId());
if (buffInfo != null)
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
else
{
triggerSkill = _skill.getSkill();
triggerSkill = SkillData.getInstance().getSkill(triggerSkill.getId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
}
SkillCaster.triggerCast(event.getAttacker(), (Creature) target, triggerSkill);
SkillCaster.triggerCast(event.getTarget(), (Creature) target, triggerSkill);
}
@Override

View File

@@ -468,11 +468,11 @@
<excludedFromCheck>true</excludedFromCheck>
<effects>
<effect name="TriggerSkillByDamage">
<!-- Undying Will -->
<attackerType>Creature</attackerType>
<chance>100</chance>
<targetType>SELF</targetType>
<minDamage>1</minDamage>
<hpPercent>30</hpPercent>
<skillId>1918</skillId> <!-- Undying Will -->
<skillLevel>1</skillLevel>
</effect>
@@ -497,7 +497,7 @@
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="RemainHpPer">
<amount>20</amount>
<amount>30</amount>
<percentType>LESS</percentType>
<affectType>CASTER</affectType>
</condition>

View File

@@ -92,7 +92,7 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
if ((_hpPercent < 100) && (event.getAttacker().getCurrentHpPercent() > _hpPercent))
if ((_hpPercent < 100) && (event.getTarget().getCurrentHpPercent() > _hpPercent))
{
return;
}
@@ -102,10 +102,11 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
Skill triggerSkill = _skill.getSkill();
WorldObject target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), _skill.getSkill(), false, false, false);
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), triggerSkill, false, false, false);
}
catch (Exception e)
{
@@ -116,25 +117,16 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
final Skill triggerSkill;
if (_skillLevelScaleTo <= 0)
if (_skillLevelScaleTo > 0)
{
triggerSkill = _skill.getSkill();
}
else
{
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(_skill.getSkillId());
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(triggerSkill.getId());
if (buffInfo != null)
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
else
{
triggerSkill = _skill.getSkill();
triggerSkill = SkillData.getInstance().getSkill(triggerSkill.getId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
}
SkillCaster.triggerCast(event.getAttacker(), (Creature) target, triggerSkill);
SkillCaster.triggerCast(event.getTarget(), (Creature) target, triggerSkill);
}
@Override

View File

@@ -468,11 +468,11 @@
<excludedFromCheck>true</excludedFromCheck>
<effects>
<effect name="TriggerSkillByDamage">
<!-- Undying Will -->
<attackerType>Creature</attackerType>
<chance>100</chance>
<targetType>SELF</targetType>
<minDamage>1</minDamage>
<hpPercent>30</hpPercent>
<skillId>1918</skillId> <!-- Undying Will -->
<skillLevel>1</skillLevel>
</effect>
@@ -497,7 +497,7 @@
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="RemainHpPer">
<amount>20</amount>
<amount>30</amount>
<percentType>LESS</percentType>
<affectType>CASTER</affectType>
</condition>

View File

@@ -92,7 +92,7 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
if ((_hpPercent < 100) && (event.getAttacker().getCurrentHpPercent() > _hpPercent))
if ((_hpPercent < 100) && (event.getTarget().getCurrentHpPercent() > _hpPercent))
{
return;
}
@@ -102,10 +102,11 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
Skill triggerSkill = _skill.getSkill();
WorldObject target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), _skill.getSkill(), false, false, false);
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), triggerSkill, false, false, false);
}
catch (Exception e)
{
@@ -116,25 +117,16 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
final Skill triggerSkill;
if (_skillLevelScaleTo <= 0)
if (_skillLevelScaleTo > 0)
{
triggerSkill = _skill.getSkill();
}
else
{
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(_skill.getSkillId());
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(triggerSkill.getId());
if (buffInfo != null)
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
else
{
triggerSkill = _skill.getSkill();
triggerSkill = SkillData.getInstance().getSkill(triggerSkill.getId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
}
SkillCaster.triggerCast(event.getAttacker(), (Creature) target, triggerSkill);
SkillCaster.triggerCast(event.getTarget(), (Creature) target, triggerSkill);
}
@Override

View File

@@ -468,11 +468,11 @@
<excludedFromCheck>true</excludedFromCheck>
<effects>
<effect name="TriggerSkillByDamage">
<!-- Undying Will -->
<attackerType>Creature</attackerType>
<chance>100</chance>
<targetType>SELF</targetType>
<minDamage>1</minDamage>
<hpPercent>30</hpPercent>
<skillId>1918</skillId> <!-- Undying Will -->
<skillLevel>1</skillLevel>
</effect>
@@ -497,7 +497,7 @@
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="RemainHpPer">
<amount>20</amount>
<amount>30</amount>
<percentType>LESS</percentType>
<affectType>CASTER</affectType>
</condition>

View File

@@ -92,7 +92,7 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
if ((_hpPercent < 100) && (event.getAttacker().getCurrentHpPercent() > _hpPercent))
if ((_hpPercent < 100) && (event.getTarget().getCurrentHpPercent() > _hpPercent))
{
return;
}
@@ -102,10 +102,11 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
Skill triggerSkill = _skill.getSkill();
WorldObject target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), _skill.getSkill(), false, false, false);
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), triggerSkill, false, false, false);
}
catch (Exception e)
{
@@ -116,25 +117,16 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
final Skill triggerSkill;
if (_skillLevelScaleTo <= 0)
if (_skillLevelScaleTo > 0)
{
triggerSkill = _skill.getSkill();
}
else
{
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(_skill.getSkillId());
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(triggerSkill.getId());
if (buffInfo != null)
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
else
{
triggerSkill = _skill.getSkill();
triggerSkill = SkillData.getInstance().getSkill(triggerSkill.getId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
}
SkillCaster.triggerCast(event.getAttacker(), (Creature) target, triggerSkill);
SkillCaster.triggerCast(event.getTarget(), (Creature) target, triggerSkill);
}
@Override

View File

@@ -468,11 +468,11 @@
<excludedFromCheck>true</excludedFromCheck>
<effects>
<effect name="TriggerSkillByDamage">
<!-- Undying Will -->
<attackerType>Creature</attackerType>
<chance>100</chance>
<targetType>SELF</targetType>
<minDamage>1</minDamage>
<hpPercent>30</hpPercent>
<skillId>1918</skillId> <!-- Undying Will -->
<skillLevel>1</skillLevel>
</effect>
@@ -497,7 +497,7 @@
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="RemainHpPer">
<amount>20</amount>
<amount>30</amount>
<percentType>LESS</percentType>
<affectType>CASTER</affectType>
</condition>

View File

@@ -92,7 +92,7 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
if ((_hpPercent < 100) && (event.getAttacker().getCurrentHpPercent() > _hpPercent))
if ((_hpPercent < 100) && (event.getTarget().getCurrentHpPercent() > _hpPercent))
{
return;
}
@@ -102,10 +102,11 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
Skill triggerSkill = _skill.getSkill();
WorldObject target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), _skill.getSkill(), false, false, false);
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), triggerSkill, false, false, false);
}
catch (Exception e)
{
@@ -116,25 +117,16 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
final Skill triggerSkill;
if (_skillLevelScaleTo <= 0)
if (_skillLevelScaleTo > 0)
{
triggerSkill = _skill.getSkill();
}
else
{
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(_skill.getSkillId());
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(triggerSkill.getId());
if (buffInfo != null)
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
else
{
triggerSkill = _skill.getSkill();
triggerSkill = SkillData.getInstance().getSkill(triggerSkill.getId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
}
SkillCaster.triggerCast(event.getAttacker(), (Creature) target, triggerSkill);
SkillCaster.triggerCast(event.getTarget(), (Creature) target, triggerSkill);
}
@Override

View File

@@ -92,7 +92,7 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
if ((_hpPercent < 100) && (event.getAttacker().getCurrentHpPercent() > _hpPercent))
if ((_hpPercent < 100) && (event.getTarget().getCurrentHpPercent() > _hpPercent))
{
return;
}
@@ -102,10 +102,11 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
Skill triggerSkill = _skill.getSkill();
WorldObject target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), _skill.getSkill(), false, false, false);
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), triggerSkill, false, false, false);
}
catch (Exception e)
{
@@ -116,25 +117,16 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
final Skill triggerSkill;
if (_skillLevelScaleTo <= 0)
if (_skillLevelScaleTo > 0)
{
triggerSkill = _skill.getSkill();
}
else
{
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(_skill.getSkillId());
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(triggerSkill.getId());
if (buffInfo != null)
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
else
{
triggerSkill = _skill.getSkill();
triggerSkill = SkillData.getInstance().getSkill(triggerSkill.getId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
}
SkillCaster.triggerCast(event.getAttacker(), (Creature) target, triggerSkill);
SkillCaster.triggerCast(event.getTarget(), (Creature) target, triggerSkill);
}
@Override

View File

@@ -92,7 +92,7 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
if ((_hpPercent < 100) && (event.getAttacker().getCurrentHpPercent() > _hpPercent))
if ((_hpPercent < 100) && (event.getTarget().getCurrentHpPercent() > _hpPercent))
{
return;
}
@@ -102,10 +102,11 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
Skill triggerSkill = _skill.getSkill();
WorldObject target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), _skill.getSkill(), false, false, false);
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), triggerSkill, false, false, false);
}
catch (Exception e)
{
@@ -116,25 +117,16 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
final Skill triggerSkill;
if (_skillLevelScaleTo <= 0)
if (_skillLevelScaleTo > 0)
{
triggerSkill = _skill.getSkill();
}
else
{
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(_skill.getSkillId());
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(triggerSkill.getId());
if (buffInfo != null)
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
else
{
triggerSkill = _skill.getSkill();
triggerSkill = SkillData.getInstance().getSkill(triggerSkill.getId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
}
SkillCaster.triggerCast(event.getAttacker(), (Creature) target, triggerSkill);
SkillCaster.triggerCast(event.getTarget(), (Creature) target, triggerSkill);
}
@Override

View File

@@ -92,7 +92,7 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
if ((_hpPercent < 100) && (event.getAttacker().getCurrentHpPercent() > _hpPercent))
if ((_hpPercent < 100) && (event.getTarget().getCurrentHpPercent() > _hpPercent))
{
return;
}
@@ -102,10 +102,11 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
Skill triggerSkill = _skill.getSkill();
WorldObject target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), _skill.getSkill(), false, false, false);
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), triggerSkill, false, false, false);
}
catch (Exception e)
{
@@ -116,25 +117,16 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
final Skill triggerSkill;
if (_skillLevelScaleTo <= 0)
if (_skillLevelScaleTo > 0)
{
triggerSkill = _skill.getSkill();
}
else
{
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(_skill.getSkillId());
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(triggerSkill.getId());
if (buffInfo != null)
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
else
{
triggerSkill = _skill.getSkill();
triggerSkill = SkillData.getInstance().getSkill(triggerSkill.getId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
}
SkillCaster.triggerCast(event.getAttacker(), (Creature) target, triggerSkill);
SkillCaster.triggerCast(event.getTarget(), (Creature) target, triggerSkill);
}
@Override

View File

@@ -92,7 +92,7 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
if ((_hpPercent < 100) && (event.getAttacker().getCurrentHpPercent() > _hpPercent))
if ((_hpPercent < 100) && (event.getTarget().getCurrentHpPercent() > _hpPercent))
{
return;
}
@@ -102,10 +102,11 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
Skill triggerSkill = _skill.getSkill();
WorldObject target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), _skill.getSkill(), false, false, false);
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), triggerSkill, false, false, false);
}
catch (Exception e)
{
@@ -116,25 +117,16 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
final Skill triggerSkill;
if (_skillLevelScaleTo <= 0)
if (_skillLevelScaleTo > 0)
{
triggerSkill = _skill.getSkill();
}
else
{
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(_skill.getSkillId());
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(triggerSkill.getId());
if (buffInfo != null)
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
else
{
triggerSkill = _skill.getSkill();
triggerSkill = SkillData.getInstance().getSkill(triggerSkill.getId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
}
SkillCaster.triggerCast(event.getAttacker(), (Creature) target, triggerSkill);
SkillCaster.triggerCast(event.getTarget(), (Creature) target, triggerSkill);
}
@Override

View File

@@ -92,7 +92,7 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
if ((_hpPercent < 100) && (event.getAttacker().getCurrentHpPercent() > _hpPercent))
if ((_hpPercent < 100) && (event.getTarget().getCurrentHpPercent() > _hpPercent))
{
return;
}
@@ -102,10 +102,11 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
Skill triggerSkill = _skill.getSkill();
WorldObject target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), _skill.getSkill(), false, false, false);
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), triggerSkill, false, false, false);
}
catch (Exception e)
{
@@ -116,25 +117,16 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
final Skill triggerSkill;
if (_skillLevelScaleTo <= 0)
if (_skillLevelScaleTo > 0)
{
triggerSkill = _skill.getSkill();
}
else
{
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(_skill.getSkillId());
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(triggerSkill.getId());
if (buffInfo != null)
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
else
{
triggerSkill = _skill.getSkill();
triggerSkill = SkillData.getInstance().getSkill(triggerSkill.getId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
}
SkillCaster.triggerCast(event.getAttacker(), (Creature) target, triggerSkill);
SkillCaster.triggerCast(event.getTarget(), (Creature) target, triggerSkill);
}
@Override

View File

@@ -92,7 +92,7 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
if ((_hpPercent < 100) && (event.getAttacker().getCurrentHpPercent() > _hpPercent))
if ((_hpPercent < 100) && (event.getTarget().getCurrentHpPercent() > _hpPercent))
{
return;
}
@@ -102,10 +102,11 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
Skill triggerSkill = _skill.getSkill();
WorldObject target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), _skill.getSkill(), false, false, false);
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), triggerSkill, false, false, false);
}
catch (Exception e)
{
@@ -116,25 +117,16 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
final Skill triggerSkill;
if (_skillLevelScaleTo <= 0)
if (_skillLevelScaleTo > 0)
{
triggerSkill = _skill.getSkill();
}
else
{
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(_skill.getSkillId());
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(triggerSkill.getId());
if (buffInfo != null)
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
else
{
triggerSkill = _skill.getSkill();
triggerSkill = SkillData.getInstance().getSkill(triggerSkill.getId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
}
SkillCaster.triggerCast(event.getAttacker(), (Creature) target, triggerSkill);
SkillCaster.triggerCast(event.getTarget(), (Creature) target, triggerSkill);
}
@Override

View File

@@ -92,7 +92,7 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
if ((_hpPercent < 100) && (event.getAttacker().getCurrentHpPercent() > _hpPercent))
if ((_hpPercent < 100) && (event.getTarget().getCurrentHpPercent() > _hpPercent))
{
return;
}
@@ -102,10 +102,11 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
Skill triggerSkill = _skill.getSkill();
WorldObject target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), _skill.getSkill(), false, false, false);
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), triggerSkill, false, false, false);
}
catch (Exception e)
{
@@ -116,25 +117,16 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
final Skill triggerSkill;
if (_skillLevelScaleTo <= 0)
if (_skillLevelScaleTo > 0)
{
triggerSkill = _skill.getSkill();
}
else
{
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(_skill.getSkillId());
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(triggerSkill.getId());
if (buffInfo != null)
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
else
{
triggerSkill = _skill.getSkill();
triggerSkill = SkillData.getInstance().getSkill(triggerSkill.getId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
}
SkillCaster.triggerCast(event.getAttacker(), (Creature) target, triggerSkill);
SkillCaster.triggerCast(event.getTarget(), (Creature) target, triggerSkill);
}
@Override

View File

@@ -92,7 +92,7 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
if ((_hpPercent < 100) && (event.getAttacker().getCurrentHpPercent() > _hpPercent))
if ((_hpPercent < 100) && (event.getTarget().getCurrentHpPercent() > _hpPercent))
{
return;
}
@@ -102,10 +102,11 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
Skill triggerSkill = _skill.getSkill();
WorldObject target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), _skill.getSkill(), false, false, false);
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), triggerSkill, false, false, false);
}
catch (Exception e)
{
@@ -116,25 +117,16 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
final Skill triggerSkill;
if (_skillLevelScaleTo <= 0)
if (_skillLevelScaleTo > 0)
{
triggerSkill = _skill.getSkill();
}
else
{
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(_skill.getSkillId());
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(triggerSkill.getId());
if (buffInfo != null)
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
else
{
triggerSkill = _skill.getSkill();
triggerSkill = SkillData.getInstance().getSkill(triggerSkill.getId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
}
SkillCaster.triggerCast(event.getAttacker(), (Creature) target, triggerSkill);
SkillCaster.triggerCast(event.getTarget(), (Creature) target, triggerSkill);
}
@Override

View File

@@ -92,7 +92,7 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
if ((_hpPercent < 100) && (event.getAttacker().getCurrentHpPercent() > _hpPercent))
if ((_hpPercent < 100) && (event.getTarget().getCurrentHpPercent() > _hpPercent))
{
return;
}
@@ -102,10 +102,11 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
Skill triggerSkill = _skill.getSkill();
WorldObject target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), _skill.getSkill(), false, false, false);
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), triggerSkill, false, false, false);
}
catch (Exception e)
{
@@ -116,25 +117,16 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
final Skill triggerSkill;
if (_skillLevelScaleTo <= 0)
if (_skillLevelScaleTo > 0)
{
triggerSkill = _skill.getSkill();
}
else
{
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(_skill.getSkillId());
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(triggerSkill.getId());
if (buffInfo != null)
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
else
{
triggerSkill = _skill.getSkill();
triggerSkill = SkillData.getInstance().getSkill(triggerSkill.getId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
}
SkillCaster.triggerCast(event.getAttacker(), (Creature) target, triggerSkill);
SkillCaster.triggerCast(event.getTarget(), (Creature) target, triggerSkill);
}
@Override

View File

@@ -92,7 +92,7 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
if ((_hpPercent < 100) && (event.getAttacker().getCurrentHpPercent() > _hpPercent))
if ((_hpPercent < 100) && (event.getTarget().getCurrentHpPercent() > _hpPercent))
{
return;
}
@@ -102,10 +102,11 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
Skill triggerSkill = _skill.getSkill();
WorldObject target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), _skill.getSkill(), false, false, false);
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), triggerSkill, false, false, false);
}
catch (Exception e)
{
@@ -116,25 +117,16 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
final Skill triggerSkill;
if (_skillLevelScaleTo <= 0)
if (_skillLevelScaleTo > 0)
{
triggerSkill = _skill.getSkill();
}
else
{
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(_skill.getSkillId());
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(triggerSkill.getId());
if (buffInfo != null)
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
else
{
triggerSkill = _skill.getSkill();
triggerSkill = SkillData.getInstance().getSkill(triggerSkill.getId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
}
SkillCaster.triggerCast(event.getAttacker(), (Creature) target, triggerSkill);
SkillCaster.triggerCast(event.getTarget(), (Creature) target, triggerSkill);
}
@Override

View File

@@ -92,7 +92,7 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
if ((_hpPercent < 100) && (event.getAttacker().getCurrentHpPercent() > _hpPercent))
if ((_hpPercent < 100) && (event.getTarget().getCurrentHpPercent() > _hpPercent))
{
return;
}
@@ -102,10 +102,11 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
Skill triggerSkill = _skill.getSkill();
WorldObject target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), _skill.getSkill(), false, false, false);
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), triggerSkill, false, false, false);
}
catch (Exception e)
{
@@ -116,25 +117,16 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
final Skill triggerSkill;
if (_skillLevelScaleTo <= 0)
if (_skillLevelScaleTo > 0)
{
triggerSkill = _skill.getSkill();
}
else
{
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(_skill.getSkillId());
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(triggerSkill.getId());
if (buffInfo != null)
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
else
{
triggerSkill = _skill.getSkill();
triggerSkill = SkillData.getInstance().getSkill(triggerSkill.getId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
}
SkillCaster.triggerCast(event.getAttacker(), (Creature) target, triggerSkill);
SkillCaster.triggerCast(event.getTarget(), (Creature) target, triggerSkill);
}
@Override

View File

@@ -92,7 +92,7 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
if ((_hpPercent < 100) && (event.getAttacker().getCurrentHpPercent() > _hpPercent))
if ((_hpPercent < 100) && (event.getTarget().getCurrentHpPercent() > _hpPercent))
{
return;
}
@@ -102,10 +102,11 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
Skill triggerSkill = _skill.getSkill();
WorldObject target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), _skill.getSkill(), false, false, false);
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getTarget(), event.getAttacker(), triggerSkill, false, false, false);
}
catch (Exception e)
{
@@ -116,25 +117,16 @@ public class TriggerSkillByDamage extends AbstractEffect
return;
}
final Skill triggerSkill;
if (_skillLevelScaleTo <= 0)
if (_skillLevelScaleTo > 0)
{
triggerSkill = _skill.getSkill();
}
else
{
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(_skill.getSkillId());
final BuffInfo buffInfo = ((Creature) target).getEffectList().getBuffInfoBySkillId(triggerSkill.getId());
if (buffInfo != null)
{
triggerSkill = SkillData.getInstance().getSkill(_skill.getSkillId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
else
{
triggerSkill = _skill.getSkill();
triggerSkill = SkillData.getInstance().getSkill(triggerSkill.getId(), Math.min(_skillLevelScaleTo, buffInfo.getSkill().getLevel() + 1));
}
}
SkillCaster.triggerCast(event.getAttacker(), (Creature) target, triggerSkill);
SkillCaster.triggerCast(event.getTarget(), (Creature) target, triggerSkill);
}
@Override