|
@@ -682,9 +682,9 @@ public final class Formulas
|
|
if (target.isL2Attackable() && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LVL_DMG_PENALTY) && (attacker.getActingPlayer() != null) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 2))
|
|
if (target.isL2Attackable() && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LVL_DMG_PENALTY) && (attacker.getActingPlayer() != null) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 2))
|
|
{
|
|
{
|
|
int lvlDiff = target.getLevel() - attacker.getActingPlayer().getLevel() - 1;
|
|
int lvlDiff = target.getLevel() - attacker.getActingPlayer().getLevel() - 1;
|
|
- if (lvlDiff > Config.NPC_SKILL_DMG_PENALTY.size())
|
|
|
|
|
|
+ if (lvlDiff >= Config.NPC_SKILL_DMG_PENALTY.size())
|
|
{
|
|
{
|
|
- damage *= Config.NPC_SKILL_DMG_PENALTY.get(Config.NPC_SKILL_DMG_PENALTY.size());
|
|
|
|
|
|
+ damage *= Config.NPC_SKILL_DMG_PENALTY.get(Config.NPC_SKILL_DMG_PENALTY.size() - 1);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
@@ -954,9 +954,9 @@ public final class Formulas
|
|
int lvlDiff = target.getLevel() - attacker.getActingPlayer().getLevel() - 1;
|
|
int lvlDiff = target.getLevel() - attacker.getActingPlayer().getLevel() - 1;
|
|
if (skill != null)
|
|
if (skill != null)
|
|
{
|
|
{
|
|
- if (lvlDiff > Config.NPC_SKILL_DMG_PENALTY.size())
|
|
|
|
|
|
+ if (lvlDiff >= Config.NPC_SKILL_DMG_PENALTY.size())
|
|
{
|
|
{
|
|
- damage *= Config.NPC_SKILL_DMG_PENALTY.get(Config.NPC_SKILL_DMG_PENALTY.size());
|
|
|
|
|
|
+ damage *= Config.NPC_SKILL_DMG_PENALTY.get(Config.NPC_SKILL_DMG_PENALTY.size() - 1);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
@@ -965,9 +965,9 @@ public final class Formulas
|
|
}
|
|
}
|
|
else if (crit)
|
|
else if (crit)
|
|
{
|
|
{
|
|
- if (lvlDiff > Config.NPC_CRIT_DMG_PENALTY.size())
|
|
|
|
|
|
+ if (lvlDiff >= Config.NPC_CRIT_DMG_PENALTY.size())
|
|
{
|
|
{
|
|
- damage *= Config.NPC_CRIT_DMG_PENALTY.get(Config.NPC_CRIT_DMG_PENALTY.size());
|
|
|
|
|
|
+ damage *= Config.NPC_CRIT_DMG_PENALTY.get(Config.NPC_CRIT_DMG_PENALTY.size() - 1);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
@@ -976,9 +976,9 @@ public final class Formulas
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- if (lvlDiff > Config.NPC_DMG_PENALTY.size())
|
|
|
|
|
|
+ if (lvlDiff >= Config.NPC_DMG_PENALTY.size())
|
|
{
|
|
{
|
|
- damage *= Config.NPC_DMG_PENALTY.get(Config.NPC_DMG_PENALTY.size());
|
|
|
|
|
|
+ damage *= Config.NPC_DMG_PENALTY.get(Config.NPC_DMG_PENALTY.size() - 1);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
@@ -1129,9 +1129,9 @@ public final class Formulas
|
|
if (!target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LVL_DMG_PENALTY) && (attacker.getActingPlayer() != null) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 2))
|
|
if (!target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LVL_DMG_PENALTY) && (attacker.getActingPlayer() != null) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 2))
|
|
{
|
|
{
|
|
int lvlDiff = target.getLevel() - attacker.getActingPlayer().getLevel() - 1;
|
|
int lvlDiff = target.getLevel() - attacker.getActingPlayer().getLevel() - 1;
|
|
- if (lvlDiff > Config.NPC_SKILL_DMG_PENALTY.size())
|
|
|
|
|
|
+ if (lvlDiff >= Config.NPC_SKILL_DMG_PENALTY.size())
|
|
{
|
|
{
|
|
- damage *= Config.NPC_SKILL_DMG_PENALTY.get(Config.NPC_SKILL_DMG_PENALTY.size());
|
|
|
|
|
|
+ damage *= Config.NPC_SKILL_DMG_PENALTY.get(Config.NPC_SKILL_DMG_PENALTY.size() - 1);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
@@ -2333,9 +2333,9 @@ public final class Formulas
|
|
if (target.isL2Attackable() && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LVL_MAGIC_PENALTY) && (attacker.getActingPlayer() != null) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
|
if (target.isL2Attackable() && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LVL_MAGIC_PENALTY) && (attacker.getActingPlayer() != null) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
|
{
|
|
{
|
|
int lvlDiff = target.getLevel() - attacker.getActingPlayer().getLevel() - 2;
|
|
int lvlDiff = target.getLevel() - attacker.getActingPlayer().getLevel() - 2;
|
|
- if (lvlDiff > Config.NPC_SKILL_CHANCE_PENALTY.size())
|
|
|
|
|
|
+ if (lvlDiff >= Config.NPC_SKILL_CHANCE_PENALTY.size())
|
|
{
|
|
{
|
|
- targetModifier = Config.NPC_SKILL_CHANCE_PENALTY.get(Config.NPC_SKILL_CHANCE_PENALTY.size());
|
|
|
|
|
|
+ targetModifier = Config.NPC_SKILL_CHANCE_PENALTY.get(Config.NPC_SKILL_CHANCE_PENALTY.size() - 1);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
@@ -2411,9 +2411,9 @@ public final class Formulas
|
|
if (!target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LVL_DMG_PENALTY) && (attacker.getActingPlayer() != null) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 2))
|
|
if (!target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LVL_DMG_PENALTY) && (attacker.getActingPlayer() != null) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 2))
|
|
{
|
|
{
|
|
int lvlDiff = target.getLevel() - attacker.getActingPlayer().getLevel() - 1;
|
|
int lvlDiff = target.getLevel() - attacker.getActingPlayer().getLevel() - 1;
|
|
- if (lvlDiff > Config.NPC_SKILL_DMG_PENALTY.size())
|
|
|
|
|
|
+ if (lvlDiff >= Config.NPC_SKILL_DMG_PENALTY.size())
|
|
{
|
|
{
|
|
- damage *= Config.NPC_SKILL_DMG_PENALTY.get(Config.NPC_SKILL_DMG_PENALTY.size());
|
|
|
|
|
|
+ damage *= Config.NPC_SKILL_DMG_PENALTY.get(Config.NPC_SKILL_DMG_PENALTY.size() - 1);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|