Vampiric effects from killing blows.
Contributed by nasseka.
This commit is contained in:
@@ -4638,32 +4638,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target receives the damage.
|
|
||||||
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
|
||||||
|
|
||||||
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
|
||||||
if (!reflect && !isDOT && !target.isDead())
|
|
||||||
{
|
|
||||||
int reflectedDamage = 0;
|
|
||||||
|
|
||||||
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
|
||||||
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
|
||||||
if (reflectPercent > 0)
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
|
||||||
|
|
||||||
// Reflected damage is limited by P.Def/M.Def
|
|
||||||
if ((skill != null) && skill.isMagic())
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Absorb HP from the damage inflicted
|
// Absorb HP from the damage inflicted
|
||||||
final boolean isPvP = isPlayable() && target.isPlayable();
|
final boolean isPvP = isPlayable() && target.isPlayable();
|
||||||
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
||||||
@@ -4701,6 +4675,32 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Target receives the damage.
|
||||||
|
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
||||||
|
|
||||||
|
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
||||||
|
if (!reflect && !isDOT && !target.isDead())
|
||||||
|
{
|
||||||
|
int reflectedDamage = 0;
|
||||||
|
|
||||||
|
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
||||||
|
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
||||||
|
if (reflectPercent > 0)
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
||||||
|
|
||||||
|
// Reflected damage is limited by P.Def/M.Def
|
||||||
|
if ((skill != null) && skill.isMagic())
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reflectedDamage > 0)
|
if (reflectedDamage > 0)
|
||||||
{
|
{
|
||||||
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
||||||
|
|||||||
+26
-26
@@ -4638,32 +4638,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target receives the damage.
|
|
||||||
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
|
||||||
|
|
||||||
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
|
||||||
if (!reflect && !isDOT && !target.isDead())
|
|
||||||
{
|
|
||||||
int reflectedDamage = 0;
|
|
||||||
|
|
||||||
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
|
||||||
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
|
||||||
if (reflectPercent > 0)
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
|
||||||
|
|
||||||
// Reflected damage is limited by P.Def/M.Def
|
|
||||||
if ((skill != null) && skill.isMagic())
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Absorb HP from the damage inflicted
|
// Absorb HP from the damage inflicted
|
||||||
final boolean isPvP = isPlayable() && target.isPlayable();
|
final boolean isPvP = isPlayable() && target.isPlayable();
|
||||||
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
||||||
@@ -4701,6 +4675,32 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Target receives the damage.
|
||||||
|
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
||||||
|
|
||||||
|
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
||||||
|
if (!reflect && !isDOT && !target.isDead())
|
||||||
|
{
|
||||||
|
int reflectedDamage = 0;
|
||||||
|
|
||||||
|
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
||||||
|
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
||||||
|
if (reflectPercent > 0)
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
||||||
|
|
||||||
|
// Reflected damage is limited by P.Def/M.Def
|
||||||
|
if ((skill != null) && skill.isMagic())
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reflectedDamage > 0)
|
if (reflectedDamage > 0)
|
||||||
{
|
{
|
||||||
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
||||||
|
|||||||
@@ -4638,32 +4638,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target receives the damage.
|
|
||||||
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
|
||||||
|
|
||||||
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
|
||||||
if (!reflect && !isDOT && !target.isDead())
|
|
||||||
{
|
|
||||||
int reflectedDamage = 0;
|
|
||||||
|
|
||||||
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
|
||||||
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
|
||||||
if (reflectPercent > 0)
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
|
||||||
|
|
||||||
// Reflected damage is limited by P.Def/M.Def
|
|
||||||
if ((skill != null) && skill.isMagic())
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Absorb HP from the damage inflicted
|
// Absorb HP from the damage inflicted
|
||||||
final boolean isPvP = isPlayable() && target.isPlayable();
|
final boolean isPvP = isPlayable() && target.isPlayable();
|
||||||
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
||||||
@@ -4701,6 +4675,32 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Target receives the damage.
|
||||||
|
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
||||||
|
|
||||||
|
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
||||||
|
if (!reflect && !isDOT && !target.isDead())
|
||||||
|
{
|
||||||
|
int reflectedDamage = 0;
|
||||||
|
|
||||||
|
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
||||||
|
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
||||||
|
if (reflectPercent > 0)
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
||||||
|
|
||||||
|
// Reflected damage is limited by P.Def/M.Def
|
||||||
|
if ((skill != null) && skill.isMagic())
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reflectedDamage > 0)
|
if (reflectedDamage > 0)
|
||||||
{
|
{
|
||||||
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
||||||
|
|||||||
+26
-26
@@ -4638,32 +4638,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target receives the damage.
|
|
||||||
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
|
||||||
|
|
||||||
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
|
||||||
if (!reflect && !isDOT && !target.isDead())
|
|
||||||
{
|
|
||||||
int reflectedDamage = 0;
|
|
||||||
|
|
||||||
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
|
||||||
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
|
||||||
if (reflectPercent > 0)
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
|
||||||
|
|
||||||
// Reflected damage is limited by P.Def/M.Def
|
|
||||||
if ((skill != null) && skill.isMagic())
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Absorb HP from the damage inflicted
|
// Absorb HP from the damage inflicted
|
||||||
final boolean isPvP = isPlayable() && target.isPlayable();
|
final boolean isPvP = isPlayable() && target.isPlayable();
|
||||||
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
||||||
@@ -4701,6 +4675,32 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Target receives the damage.
|
||||||
|
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
||||||
|
|
||||||
|
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
||||||
|
if (!reflect && !isDOT && !target.isDead())
|
||||||
|
{
|
||||||
|
int reflectedDamage = 0;
|
||||||
|
|
||||||
|
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
||||||
|
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
||||||
|
if (reflectPercent > 0)
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
||||||
|
|
||||||
|
// Reflected damage is limited by P.Def/M.Def
|
||||||
|
if ((skill != null) && skill.isMagic())
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reflectedDamage > 0)
|
if (reflectedDamage > 0)
|
||||||
{
|
{
|
||||||
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
||||||
|
|||||||
@@ -4638,32 +4638,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target receives the damage.
|
|
||||||
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
|
||||||
|
|
||||||
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
|
||||||
if (!reflect && !isDOT && !target.isDead())
|
|
||||||
{
|
|
||||||
int reflectedDamage = 0;
|
|
||||||
|
|
||||||
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
|
||||||
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
|
||||||
if (reflectPercent > 0)
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
|
||||||
|
|
||||||
// Reflected damage is limited by P.Def/M.Def
|
|
||||||
if ((skill != null) && skill.isMagic())
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Absorb HP from the damage inflicted
|
// Absorb HP from the damage inflicted
|
||||||
final boolean isPvP = isPlayable() && target.isPlayable();
|
final boolean isPvP = isPlayable() && target.isPlayable();
|
||||||
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
||||||
@@ -4701,6 +4675,32 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Target receives the damage.
|
||||||
|
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
||||||
|
|
||||||
|
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
||||||
|
if (!reflect && !isDOT && !target.isDead())
|
||||||
|
{
|
||||||
|
int reflectedDamage = 0;
|
||||||
|
|
||||||
|
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
||||||
|
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
||||||
|
if (reflectPercent > 0)
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
||||||
|
|
||||||
|
// Reflected damage is limited by P.Def/M.Def
|
||||||
|
if ((skill != null) && skill.isMagic())
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reflectedDamage > 0)
|
if (reflectedDamage > 0)
|
||||||
{
|
{
|
||||||
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
||||||
|
|||||||
+26
-26
@@ -4638,32 +4638,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target receives the damage.
|
|
||||||
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
|
||||||
|
|
||||||
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
|
||||||
if (!reflect && !isDOT && !target.isDead())
|
|
||||||
{
|
|
||||||
int reflectedDamage = 0;
|
|
||||||
|
|
||||||
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
|
||||||
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
|
||||||
if (reflectPercent > 0)
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
|
||||||
|
|
||||||
// Reflected damage is limited by P.Def/M.Def
|
|
||||||
if ((skill != null) && skill.isMagic())
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Absorb HP from the damage inflicted
|
// Absorb HP from the damage inflicted
|
||||||
final boolean isPvP = isPlayable() && target.isPlayable();
|
final boolean isPvP = isPlayable() && target.isPlayable();
|
||||||
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
||||||
@@ -4701,6 +4675,32 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Target receives the damage.
|
||||||
|
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
||||||
|
|
||||||
|
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
||||||
|
if (!reflect && !isDOT && !target.isDead())
|
||||||
|
{
|
||||||
|
int reflectedDamage = 0;
|
||||||
|
|
||||||
|
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
||||||
|
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
||||||
|
if (reflectPercent > 0)
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
||||||
|
|
||||||
|
// Reflected damage is limited by P.Def/M.Def
|
||||||
|
if ((skill != null) && skill.isMagic())
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reflectedDamage > 0)
|
if (reflectedDamage > 0)
|
||||||
{
|
{
|
||||||
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
||||||
|
|||||||
@@ -4638,32 +4638,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target receives the damage.
|
|
||||||
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
|
||||||
|
|
||||||
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
|
||||||
if (!reflect && !isDOT && !target.isDead())
|
|
||||||
{
|
|
||||||
int reflectedDamage = 0;
|
|
||||||
|
|
||||||
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
|
||||||
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
|
||||||
if (reflectPercent > 0)
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
|
||||||
|
|
||||||
// Reflected damage is limited by P.Def/M.Def
|
|
||||||
if ((skill != null) && skill.isMagic())
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Absorb HP from the damage inflicted
|
// Absorb HP from the damage inflicted
|
||||||
final boolean isPvP = isPlayable() && target.isPlayable();
|
final boolean isPvP = isPlayable() && target.isPlayable();
|
||||||
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
||||||
@@ -4701,6 +4675,32 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Target receives the damage.
|
||||||
|
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
||||||
|
|
||||||
|
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
||||||
|
if (!reflect && !isDOT && !target.isDead())
|
||||||
|
{
|
||||||
|
int reflectedDamage = 0;
|
||||||
|
|
||||||
|
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
||||||
|
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
||||||
|
if (reflectPercent > 0)
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
||||||
|
|
||||||
|
// Reflected damage is limited by P.Def/M.Def
|
||||||
|
if ((skill != null) && skill.isMagic())
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reflectedDamage > 0)
|
if (reflectedDamage > 0)
|
||||||
{
|
{
|
||||||
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
||||||
|
|||||||
+26
-26
@@ -4637,32 +4637,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target receives the damage.
|
|
||||||
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
|
||||||
|
|
||||||
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
|
||||||
if (!reflect && !isDOT && !target.isDead())
|
|
||||||
{
|
|
||||||
int reflectedDamage = 0;
|
|
||||||
|
|
||||||
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
|
||||||
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
|
||||||
if (reflectPercent > 0)
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
|
||||||
|
|
||||||
// Reflected damage is limited by P.Def/M.Def
|
|
||||||
if ((skill != null) && skill.isMagic())
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Absorb HP from the damage inflicted
|
// Absorb HP from the damage inflicted
|
||||||
final boolean isPvP = isPlayable() && target.isPlayable();
|
final boolean isPvP = isPlayable() && target.isPlayable();
|
||||||
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
||||||
@@ -4700,6 +4674,32 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Target receives the damage.
|
||||||
|
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
||||||
|
|
||||||
|
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
||||||
|
if (!reflect && !isDOT && !target.isDead())
|
||||||
|
{
|
||||||
|
int reflectedDamage = 0;
|
||||||
|
|
||||||
|
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
||||||
|
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
||||||
|
if (reflectPercent > 0)
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
||||||
|
|
||||||
|
// Reflected damage is limited by P.Def/M.Def
|
||||||
|
if ((skill != null) && skill.isMagic())
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reflectedDamage > 0)
|
if (reflectedDamage > 0)
|
||||||
{
|
{
|
||||||
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
||||||
|
|||||||
+26
-26
@@ -4637,32 +4637,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target receives the damage.
|
|
||||||
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
|
||||||
|
|
||||||
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
|
||||||
if (!reflect && !isDOT && !target.isDead())
|
|
||||||
{
|
|
||||||
int reflectedDamage = 0;
|
|
||||||
|
|
||||||
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
|
||||||
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
|
||||||
if (reflectPercent > 0)
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
|
||||||
|
|
||||||
// Reflected damage is limited by P.Def/M.Def
|
|
||||||
if ((skill != null) && skill.isMagic())
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Absorb HP from the damage inflicted
|
// Absorb HP from the damage inflicted
|
||||||
final boolean isPvP = isPlayable() && target.isPlayable();
|
final boolean isPvP = isPlayable() && target.isPlayable();
|
||||||
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
||||||
@@ -4700,6 +4674,32 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Target receives the damage.
|
||||||
|
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
||||||
|
|
||||||
|
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
||||||
|
if (!reflect && !isDOT && !target.isDead())
|
||||||
|
{
|
||||||
|
int reflectedDamage = 0;
|
||||||
|
|
||||||
|
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
||||||
|
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
||||||
|
if (reflectPercent > 0)
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
||||||
|
|
||||||
|
// Reflected damage is limited by P.Def/M.Def
|
||||||
|
if ((skill != null) && skill.isMagic())
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reflectedDamage > 0)
|
if (reflectedDamage > 0)
|
||||||
{
|
{
|
||||||
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
||||||
|
|||||||
+26
-26
@@ -4637,32 +4637,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target receives the damage.
|
|
||||||
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
|
||||||
|
|
||||||
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
|
||||||
if (!reflect && !isDOT && !target.isDead())
|
|
||||||
{
|
|
||||||
int reflectedDamage = 0;
|
|
||||||
|
|
||||||
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
|
||||||
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
|
||||||
if (reflectPercent > 0)
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
|
||||||
|
|
||||||
// Reflected damage is limited by P.Def/M.Def
|
|
||||||
if ((skill != null) && skill.isMagic())
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Absorb HP from the damage inflicted
|
// Absorb HP from the damage inflicted
|
||||||
final boolean isPvP = isPlayable() && target.isPlayable();
|
final boolean isPvP = isPlayable() && target.isPlayable();
|
||||||
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
||||||
@@ -4700,6 +4674,32 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Target receives the damage.
|
||||||
|
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
||||||
|
|
||||||
|
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
||||||
|
if (!reflect && !isDOT && !target.isDead())
|
||||||
|
{
|
||||||
|
int reflectedDamage = 0;
|
||||||
|
|
||||||
|
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
||||||
|
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
||||||
|
if (reflectPercent > 0)
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
||||||
|
|
||||||
|
// Reflected damage is limited by P.Def/M.Def
|
||||||
|
if ((skill != null) && skill.isMagic())
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reflectedDamage > 0)
|
if (reflectedDamage > 0)
|
||||||
{
|
{
|
||||||
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
||||||
|
|||||||
+26
-26
@@ -4636,32 +4636,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target receives the damage.
|
|
||||||
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
|
||||||
|
|
||||||
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
|
||||||
if (!reflect && !isDOT && !target.isDead())
|
|
||||||
{
|
|
||||||
int reflectedDamage = 0;
|
|
||||||
|
|
||||||
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
|
||||||
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
|
||||||
if (reflectPercent > 0)
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
|
||||||
|
|
||||||
// Reflected damage is limited by P.Def/M.Def
|
|
||||||
if ((skill != null) && skill.isMagic())
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Absorb HP from the damage inflicted
|
// Absorb HP from the damage inflicted
|
||||||
final boolean isPvP = isPlayable() && target.isPlayable();
|
final boolean isPvP = isPlayable() && target.isPlayable();
|
||||||
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
||||||
@@ -4699,6 +4673,32 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Target receives the damage.
|
||||||
|
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
||||||
|
|
||||||
|
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
||||||
|
if (!reflect && !isDOT && !target.isDead())
|
||||||
|
{
|
||||||
|
int reflectedDamage = 0;
|
||||||
|
|
||||||
|
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
||||||
|
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
||||||
|
if (reflectPercent > 0)
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
||||||
|
|
||||||
|
// Reflected damage is limited by P.Def/M.Def
|
||||||
|
if ((skill != null) && skill.isMagic())
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reflectedDamage > 0)
|
if (reflectedDamage > 0)
|
||||||
{
|
{
|
||||||
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
||||||
|
|||||||
+26
-26
@@ -4636,32 +4636,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target receives the damage.
|
|
||||||
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
|
||||||
|
|
||||||
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
|
||||||
if (!reflect && !isDOT && !target.isDead())
|
|
||||||
{
|
|
||||||
int reflectedDamage = 0;
|
|
||||||
|
|
||||||
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
|
||||||
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
|
||||||
if (reflectPercent > 0)
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
|
||||||
|
|
||||||
// Reflected damage is limited by P.Def/M.Def
|
|
||||||
if ((skill != null) && skill.isMagic())
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Absorb HP from the damage inflicted
|
// Absorb HP from the damage inflicted
|
||||||
final boolean isPvP = isPlayable() && target.isPlayable();
|
final boolean isPvP = isPlayable() && target.isPlayable();
|
||||||
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
||||||
@@ -4699,6 +4673,32 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Target receives the damage.
|
||||||
|
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
||||||
|
|
||||||
|
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
||||||
|
if (!reflect && !isDOT && !target.isDead())
|
||||||
|
{
|
||||||
|
int reflectedDamage = 0;
|
||||||
|
|
||||||
|
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
||||||
|
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
||||||
|
if (reflectPercent > 0)
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
||||||
|
|
||||||
|
// Reflected damage is limited by P.Def/M.Def
|
||||||
|
if ((skill != null) && skill.isMagic())
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reflectedDamage > 0)
|
if (reflectedDamage > 0)
|
||||||
{
|
{
|
||||||
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
||||||
|
|||||||
@@ -4628,32 +4628,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target receives the damage.
|
|
||||||
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
|
||||||
|
|
||||||
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
|
||||||
if (!reflect && !isDOT && !target.isDead())
|
|
||||||
{
|
|
||||||
int reflectedDamage = 0;
|
|
||||||
|
|
||||||
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
|
||||||
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
|
||||||
if (reflectPercent > 0)
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
|
||||||
|
|
||||||
// Reflected damage is limited by P.Def/M.Def
|
|
||||||
if ((skill != null) && skill.isMagic())
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Absorb HP from the damage inflicted
|
// Absorb HP from the damage inflicted
|
||||||
final boolean isPvP = isPlayable() && target.isPlayable();
|
final boolean isPvP = isPlayable() && target.isPlayable();
|
||||||
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
||||||
@@ -4694,6 +4668,32 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Target receives the damage.
|
||||||
|
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
||||||
|
|
||||||
|
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
||||||
|
if (!reflect && !isDOT && !target.isDead())
|
||||||
|
{
|
||||||
|
int reflectedDamage = 0;
|
||||||
|
|
||||||
|
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
||||||
|
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
||||||
|
if (reflectPercent > 0)
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
||||||
|
|
||||||
|
// Reflected damage is limited by P.Def/M.Def
|
||||||
|
if ((skill != null) && skill.isMagic())
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reflectedDamage > 0)
|
if (reflectedDamage > 0)
|
||||||
{
|
{
|
||||||
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
||||||
|
|||||||
+26
-26
@@ -4628,32 +4628,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target receives the damage.
|
|
||||||
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
|
||||||
|
|
||||||
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
|
||||||
if (!reflect && !isDOT && !target.isDead())
|
|
||||||
{
|
|
||||||
int reflectedDamage = 0;
|
|
||||||
|
|
||||||
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
|
||||||
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
|
||||||
if (reflectPercent > 0)
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
|
||||||
|
|
||||||
// Reflected damage is limited by P.Def/M.Def
|
|
||||||
if ((skill != null) && skill.isMagic())
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Absorb HP from the damage inflicted
|
// Absorb HP from the damage inflicted
|
||||||
final boolean isPvP = isPlayable() && target.isPlayable();
|
final boolean isPvP = isPlayable() && target.isPlayable();
|
||||||
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
||||||
@@ -4694,6 +4668,32 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Target receives the damage.
|
||||||
|
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
||||||
|
|
||||||
|
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
||||||
|
if (!reflect && !isDOT && !target.isDead())
|
||||||
|
{
|
||||||
|
int reflectedDamage = 0;
|
||||||
|
|
||||||
|
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
||||||
|
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
||||||
|
if (reflectPercent > 0)
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
||||||
|
|
||||||
|
// Reflected damage is limited by P.Def/M.Def
|
||||||
|
if ((skill != null) && skill.isMagic())
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reflectedDamage > 0)
|
if (reflectedDamage > 0)
|
||||||
{
|
{
|
||||||
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
||||||
|
|||||||
+26
-26
@@ -4628,32 +4628,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target receives the damage.
|
|
||||||
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
|
||||||
|
|
||||||
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
|
||||||
if (!reflect && !isDOT && !target.isDead())
|
|
||||||
{
|
|
||||||
int reflectedDamage = 0;
|
|
||||||
|
|
||||||
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
|
||||||
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
|
||||||
if (reflectPercent > 0)
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
|
||||||
|
|
||||||
// Reflected damage is limited by P.Def/M.Def
|
|
||||||
if ((skill != null) && skill.isMagic())
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Absorb HP from the damage inflicted
|
// Absorb HP from the damage inflicted
|
||||||
final boolean isPvP = isPlayable() && target.isPlayable();
|
final boolean isPvP = isPlayable() && target.isPlayable();
|
||||||
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
||||||
@@ -4694,6 +4668,32 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Target receives the damage.
|
||||||
|
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
||||||
|
|
||||||
|
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
||||||
|
if (!reflect && !isDOT && !target.isDead())
|
||||||
|
{
|
||||||
|
int reflectedDamage = 0;
|
||||||
|
|
||||||
|
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
||||||
|
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
||||||
|
if (reflectPercent > 0)
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
||||||
|
|
||||||
|
// Reflected damage is limited by P.Def/M.Def
|
||||||
|
if ((skill != null) && skill.isMagic())
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reflectedDamage > 0)
|
if (reflectedDamage > 0)
|
||||||
{
|
{
|
||||||
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
||||||
|
|||||||
+26
-26
@@ -4628,32 +4628,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target receives the damage.
|
|
||||||
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
|
||||||
|
|
||||||
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
|
||||||
if (!reflect && !isDOT && !target.isDead())
|
|
||||||
{
|
|
||||||
int reflectedDamage = 0;
|
|
||||||
|
|
||||||
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
|
||||||
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
|
||||||
if (reflectPercent > 0)
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
|
||||||
|
|
||||||
// Reflected damage is limited by P.Def/M.Def
|
|
||||||
if ((skill != null) && skill.isMagic())
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Absorb HP from the damage inflicted
|
// Absorb HP from the damage inflicted
|
||||||
final boolean isPvP = isPlayable() && target.isPlayable();
|
final boolean isPvP = isPlayable() && target.isPlayable();
|
||||||
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
||||||
@@ -4694,6 +4668,32 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Target receives the damage.
|
||||||
|
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
||||||
|
|
||||||
|
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
||||||
|
if (!reflect && !isDOT && !target.isDead())
|
||||||
|
{
|
||||||
|
int reflectedDamage = 0;
|
||||||
|
|
||||||
|
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
||||||
|
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
||||||
|
if (reflectPercent > 0)
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
||||||
|
|
||||||
|
// Reflected damage is limited by P.Def/M.Def
|
||||||
|
if ((skill != null) && skill.isMagic())
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reflectedDamage > 0)
|
if (reflectedDamage > 0)
|
||||||
{
|
{
|
||||||
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
||||||
|
|||||||
+26
-26
@@ -4628,32 +4628,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target receives the damage.
|
|
||||||
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
|
||||||
|
|
||||||
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
|
||||||
if (!reflect && !isDOT && !target.isDead())
|
|
||||||
{
|
|
||||||
int reflectedDamage = 0;
|
|
||||||
|
|
||||||
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
|
||||||
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
|
||||||
if (reflectPercent > 0)
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
|
||||||
|
|
||||||
// Reflected damage is limited by P.Def/M.Def
|
|
||||||
if ((skill != null) && skill.isMagic())
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Absorb HP from the damage inflicted
|
// Absorb HP from the damage inflicted
|
||||||
final boolean isPvP = isPlayable() && target.isPlayable();
|
final boolean isPvP = isPlayable() && target.isPlayable();
|
||||||
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
||||||
@@ -4694,6 +4668,32 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Target receives the damage.
|
||||||
|
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
||||||
|
|
||||||
|
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
||||||
|
if (!reflect && !isDOT && !target.isDead())
|
||||||
|
{
|
||||||
|
int reflectedDamage = 0;
|
||||||
|
|
||||||
|
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
||||||
|
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
||||||
|
if (reflectPercent > 0)
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
||||||
|
|
||||||
|
// Reflected damage is limited by P.Def/M.Def
|
||||||
|
if ((skill != null) && skill.isMagic())
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reflectedDamage > 0)
|
if (reflectedDamage > 0)
|
||||||
{
|
{
|
||||||
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
||||||
|
|||||||
+26
-26
@@ -4641,32 +4641,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target receives the damage.
|
|
||||||
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
|
||||||
|
|
||||||
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
|
||||||
if (!reflect && !isDOT && !target.isDead())
|
|
||||||
{
|
|
||||||
int reflectedDamage = 0;
|
|
||||||
|
|
||||||
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
|
||||||
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
|
||||||
if (reflectPercent > 0)
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
|
||||||
|
|
||||||
// Reflected damage is limited by P.Def/M.Def
|
|
||||||
if ((skill != null) && skill.isMagic())
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Absorb HP from the damage inflicted
|
// Absorb HP from the damage inflicted
|
||||||
final boolean isPvP = isPlayable() && target.isPlayable();
|
final boolean isPvP = isPlayable() && target.isPlayable();
|
||||||
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
||||||
@@ -4707,6 +4681,32 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Target receives the damage.
|
||||||
|
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
||||||
|
|
||||||
|
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
||||||
|
if (!reflect && !isDOT && !target.isDead())
|
||||||
|
{
|
||||||
|
int reflectedDamage = 0;
|
||||||
|
|
||||||
|
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
||||||
|
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
||||||
|
if (reflectPercent > 0)
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
||||||
|
|
||||||
|
// Reflected damage is limited by P.Def/M.Def
|
||||||
|
if ((skill != null) && skill.isMagic())
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reflectedDamage > 0)
|
if (reflectedDamage > 0)
|
||||||
{
|
{
|
||||||
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
||||||
|
|||||||
+26
-26
@@ -4641,32 +4641,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target receives the damage.
|
|
||||||
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
|
||||||
|
|
||||||
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
|
||||||
if (!reflect && !isDOT && !target.isDead())
|
|
||||||
{
|
|
||||||
int reflectedDamage = 0;
|
|
||||||
|
|
||||||
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
|
||||||
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
|
||||||
if (reflectPercent > 0)
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
|
||||||
|
|
||||||
// Reflected damage is limited by P.Def/M.Def
|
|
||||||
if ((skill != null) && skill.isMagic())
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Absorb HP from the damage inflicted
|
// Absorb HP from the damage inflicted
|
||||||
final boolean isPvP = isPlayable() && target.isPlayable();
|
final boolean isPvP = isPlayable() && target.isPlayable();
|
||||||
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
||||||
@@ -4707,6 +4681,32 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Target receives the damage.
|
||||||
|
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
||||||
|
|
||||||
|
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
||||||
|
if (!reflect && !isDOT && !target.isDead())
|
||||||
|
{
|
||||||
|
int reflectedDamage = 0;
|
||||||
|
|
||||||
|
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
||||||
|
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
||||||
|
if (reflectPercent > 0)
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
||||||
|
|
||||||
|
// Reflected damage is limited by P.Def/M.Def
|
||||||
|
if ((skill != null) && skill.isMagic())
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reflectedDamage > 0)
|
if (reflectedDamage > 0)
|
||||||
{
|
{
|
||||||
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
||||||
|
|||||||
+26
-26
@@ -4640,32 +4640,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target receives the damage.
|
|
||||||
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
|
||||||
|
|
||||||
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
|
||||||
if (!reflect && !isDOT && !target.isDead())
|
|
||||||
{
|
|
||||||
int reflectedDamage = 0;
|
|
||||||
|
|
||||||
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
|
||||||
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
|
||||||
if (reflectPercent > 0)
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
|
||||||
|
|
||||||
// Reflected damage is limited by P.Def/M.Def
|
|
||||||
if ((skill != null) && skill.isMagic())
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Absorb HP from the damage inflicted
|
// Absorb HP from the damage inflicted
|
||||||
final boolean isPvP = isPlayable() && target.isPlayable();
|
final boolean isPvP = isPlayable() && target.isPlayable();
|
||||||
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
||||||
@@ -4706,6 +4680,32 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Target receives the damage.
|
||||||
|
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
||||||
|
|
||||||
|
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
||||||
|
if (!reflect && !isDOT && !target.isDead())
|
||||||
|
{
|
||||||
|
int reflectedDamage = 0;
|
||||||
|
|
||||||
|
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
||||||
|
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
||||||
|
if (reflectPercent > 0)
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
||||||
|
|
||||||
|
// Reflected damage is limited by P.Def/M.Def
|
||||||
|
if ((skill != null) && skill.isMagic())
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reflectedDamage > 0)
|
if (reflectedDamage > 0)
|
||||||
{
|
{
|
||||||
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
||||||
|
|||||||
+26
-26
@@ -4628,32 +4628,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target receives the damage.
|
|
||||||
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
|
||||||
|
|
||||||
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
|
||||||
if (!reflect && !isDOT && !target.isDead())
|
|
||||||
{
|
|
||||||
int reflectedDamage = 0;
|
|
||||||
|
|
||||||
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
|
||||||
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
|
||||||
if (reflectPercent > 0)
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
|
||||||
|
|
||||||
// Reflected damage is limited by P.Def/M.Def
|
|
||||||
if ((skill != null) && skill.isMagic())
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Absorb HP from the damage inflicted
|
// Absorb HP from the damage inflicted
|
||||||
final boolean isPvP = isPlayable() && target.isPlayable();
|
final boolean isPvP = isPlayable() && target.isPlayable();
|
||||||
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
||||||
@@ -4694,6 +4668,32 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Target receives the damage.
|
||||||
|
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
||||||
|
|
||||||
|
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
||||||
|
if (!reflect && !isDOT && !target.isDead())
|
||||||
|
{
|
||||||
|
int reflectedDamage = 0;
|
||||||
|
|
||||||
|
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
||||||
|
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
||||||
|
if (reflectPercent > 0)
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
||||||
|
|
||||||
|
// Reflected damage is limited by P.Def/M.Def
|
||||||
|
if ((skill != null) && skill.isMagic())
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reflectedDamage > 0)
|
if (reflectedDamage > 0)
|
||||||
{
|
{
|
||||||
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
||||||
|
|||||||
+26
-26
@@ -4653,32 +4653,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target receives the damage.
|
|
||||||
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
|
||||||
|
|
||||||
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
|
||||||
if (!reflect && !isDOT && !target.isDead())
|
|
||||||
{
|
|
||||||
int reflectedDamage = 0;
|
|
||||||
|
|
||||||
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
|
||||||
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
|
||||||
if (reflectPercent > 0)
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
|
||||||
|
|
||||||
// Reflected damage is limited by P.Def/M.Def
|
|
||||||
if ((skill != null) && skill.isMagic())
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Absorb HP from the damage inflicted
|
// Absorb HP from the damage inflicted
|
||||||
final boolean isPvP = isPlayable() && target.isPlayable();
|
final boolean isPvP = isPlayable() && target.isPlayable();
|
||||||
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
||||||
@@ -4719,6 +4693,32 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Target receives the damage.
|
||||||
|
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
||||||
|
|
||||||
|
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
||||||
|
if (!reflect && !isDOT && !target.isDead())
|
||||||
|
{
|
||||||
|
int reflectedDamage = 0;
|
||||||
|
|
||||||
|
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
||||||
|
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
||||||
|
if (reflectPercent > 0)
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
||||||
|
|
||||||
|
// Reflected damage is limited by P.Def/M.Def
|
||||||
|
if ((skill != null) && skill.isMagic())
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reflectedDamage > 0)
|
if (reflectedDamage > 0)
|
||||||
{
|
{
|
||||||
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
||||||
|
|||||||
+26
-26
@@ -4660,32 +4660,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target receives the damage.
|
|
||||||
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
|
||||||
|
|
||||||
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
|
||||||
if (!reflect && !isDOT && !target.isDead())
|
|
||||||
{
|
|
||||||
int reflectedDamage = 0;
|
|
||||||
|
|
||||||
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
|
||||||
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
|
||||||
if (reflectPercent > 0)
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
|
||||||
|
|
||||||
// Reflected damage is limited by P.Def/M.Def
|
|
||||||
if ((skill != null) && skill.isMagic())
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Absorb HP from the damage inflicted
|
// Absorb HP from the damage inflicted
|
||||||
final boolean isPvP = isPlayable() && target.isPlayable();
|
final boolean isPvP = isPlayable() && target.isPlayable();
|
||||||
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
||||||
@@ -4726,6 +4700,32 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Target receives the damage.
|
||||||
|
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
||||||
|
|
||||||
|
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
||||||
|
if (!reflect && !isDOT && !target.isDead())
|
||||||
|
{
|
||||||
|
int reflectedDamage = 0;
|
||||||
|
|
||||||
|
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
||||||
|
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
||||||
|
if (reflectPercent > 0)
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
||||||
|
|
||||||
|
// Reflected damage is limited by P.Def/M.Def
|
||||||
|
if ((skill != null) && skill.isMagic())
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reflectedDamage > 0)
|
if (reflectedDamage > 0)
|
||||||
{
|
{
|
||||||
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
||||||
|
|||||||
+26
-26
@@ -4659,32 +4659,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target receives the damage.
|
|
||||||
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
|
||||||
|
|
||||||
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
|
||||||
if (!reflect && !isDOT && !target.isDead())
|
|
||||||
{
|
|
||||||
int reflectedDamage = 0;
|
|
||||||
|
|
||||||
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
|
||||||
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
|
||||||
if (reflectPercent > 0)
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
|
||||||
|
|
||||||
// Reflected damage is limited by P.Def/M.Def
|
|
||||||
if ((skill != null) && skill.isMagic())
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Absorb HP from the damage inflicted
|
// Absorb HP from the damage inflicted
|
||||||
final boolean isPvP = isPlayable() && target.isPlayable();
|
final boolean isPvP = isPlayable() && target.isPlayable();
|
||||||
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
||||||
@@ -4725,6 +4699,32 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Target receives the damage.
|
||||||
|
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
||||||
|
|
||||||
|
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
||||||
|
if (!reflect && !isDOT && !target.isDead())
|
||||||
|
{
|
||||||
|
int reflectedDamage = 0;
|
||||||
|
|
||||||
|
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
||||||
|
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
||||||
|
if (reflectPercent > 0)
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
||||||
|
|
||||||
|
// Reflected damage is limited by P.Def/M.Def
|
||||||
|
if ((skill != null) && skill.isMagic())
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reflectedDamage > 0)
|
if (reflectedDamage > 0)
|
||||||
{
|
{
|
||||||
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
||||||
|
|||||||
+26
-26
@@ -4669,32 +4669,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target receives the damage.
|
|
||||||
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
|
||||||
|
|
||||||
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
|
||||||
if (!reflect && !isDOT && !target.isDead())
|
|
||||||
{
|
|
||||||
int reflectedDamage = 0;
|
|
||||||
|
|
||||||
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
|
||||||
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
|
||||||
if (reflectPercent > 0)
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
|
||||||
|
|
||||||
// Reflected damage is limited by P.Def/M.Def
|
|
||||||
if ((skill != null) && skill.isMagic())
|
|
||||||
{
|
|
||||||
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Absorb HP from the damage inflicted
|
// Absorb HP from the damage inflicted
|
||||||
final boolean isPvP = isPlayable() && target.isPlayable();
|
final boolean isPvP = isPlayable() && target.isPlayable();
|
||||||
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
|
||||||
@@ -4735,6 +4709,32 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Target receives the damage.
|
||||||
|
target.reduceCurrentHp(damage, this, skill, isDOT, directlyToHp, critical, reflect);
|
||||||
|
|
||||||
|
// Check if damage should be reflected or absorbed. When killing blow is made, the target doesn't reflect (vamp too?).
|
||||||
|
if (!reflect && !isDOT && !target.isDead())
|
||||||
|
{
|
||||||
|
int reflectedDamage = 0;
|
||||||
|
|
||||||
|
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
|
||||||
|
final double reflectPercent = target.getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT, 0) - getStat().getValue(Stat.REFLECT_DAMAGE_PERCENT_DEFENSE, 0);
|
||||||
|
if (reflectPercent > 0)
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getMaxHp());
|
||||||
|
|
||||||
|
// Reflected damage is limited by P.Def/M.Def
|
||||||
|
if ((skill != null) && skill.isMagic())
|
||||||
|
{
|
||||||
|
reflectedDamage = (int) Math.min(reflectedDamage, target.getStat().getMDef() * 1.5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reflectedDamage = Math.min(reflectedDamage, target.getStat().getPDef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reflectedDamage > 0)
|
if (reflectedDamage > 0)
|
||||||
{
|
{
|
||||||
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
target.doAttack(reflectedDamage, this, skill, isDOT, directlyToHp, critical, true);
|
||||||
|
|||||||
Reference in New Issue
Block a user