Stat configurations affect all playables.

Contributed by nasseka.
This commit is contained in:
MobiusDevelopment
2022-01-28 06:32:04 +00:00
parent 93521028ac
commit 99a6d89c6d
189 changed files with 189 additions and 189 deletions

View File

@@ -55,7 +55,7 @@ public class MAttackFinalizer implements IStatFunction
// Calculate modifiers Magic Attack // Calculate modifiers Magic Attack
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
baseValue *= Math.pow(BaseStat.INT.calcBonus(creature) * creature.getLevelMod() * chaBonus, 2.2072); baseValue *= Math.pow(BaseStat.INT.calcBonus(creature) * creature.getLevelMod() * chaBonus, 2.2072);
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayer() ? Config.MAX_MATK : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayable() ? Config.MAX_MATK : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -43,7 +43,7 @@ public class MAttackSpeedFinalizer implements IStatFunction
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.; final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.;
baseValue *= witBonus * chaBonus; baseValue *= witBonus * chaBonus;
return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_MATK_SPEED : Double.MAX_VALUE); return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_MATK_SPEED : Double.MAX_VALUE);
} }
private double defaultValue(Creature creature, Stat stat, double baseValue) private double defaultValue(Creature creature, Stat stat, double baseValue)

View File

@@ -43,7 +43,7 @@ public class MCritRateFinalizer implements IStatFunction
} }
final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.; final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * witBonus * 10), 0, creature.isPlayer() ? creature.getStat().getValue(Stat.MAX_MAGIC_CRITICAL_RATE, Config.MAX_MCRIT_RATE) : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * witBonus * 10), 0, creature.isPlayable() ? creature.getStat().getValue(Stat.MAX_MAGIC_CRITICAL_RATE, Config.MAX_MCRIT_RATE) : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -54,7 +54,7 @@ public class MEvasionRateFinalizer implements IStatFunction
baseValue += (level - 69) + 2; baseValue += (level - 69) + 2;
} }
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayer() ? Config.MAX_EVASION : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayable() ? Config.MAX_EVASION : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -53,7 +53,7 @@ public class PAttackFinalizer implements IStatFunction
} }
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
baseValue *= BaseStat.STR.calcBonus(creature) * creature.getLevelMod() * chaBonus; baseValue *= BaseStat.STR.calcBonus(creature) * creature.getLevelMod() * chaBonus;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayer() ? Config.MAX_PATK : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayable() ? Config.MAX_PATK : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -41,7 +41,7 @@ public class PAttackSpeedFinalizer implements IStatFunction
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.; final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.;
baseValue *= dexBonus * chaBonus; baseValue *= dexBonus * chaBonus;
return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_PATK_SPEED : Double.MAX_VALUE); return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_PATK_SPEED : Double.MAX_VALUE);
} }
private double defaultValue(Creature creature, Stat stat, double baseValue) private double defaultValue(Creature creature, Stat stat, double baseValue)

View File

@@ -42,7 +42,7 @@ public class PCriticalRateFinalizer implements IStatFunction
baseValue += calcEnchantBodyPart(creature, ItemTemplate.SLOT_LEGS); baseValue += calcEnchantBodyPart(creature, ItemTemplate.SLOT_LEGS);
} }
final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.; final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * dexBonus * 10), 0, creature.isPlayer() ? Config.MAX_PCRIT_RATE : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * dexBonus * 10), 0, creature.isPlayable() ? Config.MAX_PCRIT_RATE : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -79,7 +79,7 @@ public class PEvasionRateFinalizer implements IStatFunction
} }
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayer() ? Config.MAX_EVASION : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayable() ? Config.MAX_EVASION : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -56,7 +56,7 @@ public class SpeedFinalizer implements IStatFunction
baseValue += bonusDex; baseValue += bonusDex;
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_RUN_SPEED : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_RUN_SPEED : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -55,7 +55,7 @@ public class MAttackFinalizer implements IStatFunction
// Calculate modifiers Magic Attack // Calculate modifiers Magic Attack
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
baseValue *= Math.pow(BaseStat.INT.calcBonus(creature) * creature.getLevelMod() * chaBonus, 2.2072); baseValue *= Math.pow(BaseStat.INT.calcBonus(creature) * creature.getLevelMod() * chaBonus, 2.2072);
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayer() ? Config.MAX_MATK : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayable() ? Config.MAX_MATK : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -43,7 +43,7 @@ public class MAttackSpeedFinalizer implements IStatFunction
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.; final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.;
baseValue *= witBonus * chaBonus; baseValue *= witBonus * chaBonus;
return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_MATK_SPEED : Double.MAX_VALUE); return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_MATK_SPEED : Double.MAX_VALUE);
} }
private double defaultValue(Creature creature, Stat stat, double baseValue) private double defaultValue(Creature creature, Stat stat, double baseValue)

View File

@@ -43,7 +43,7 @@ public class MCritRateFinalizer implements IStatFunction
} }
final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.; final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * witBonus * 10), 0, creature.isPlayer() ? creature.getStat().getValue(Stat.MAX_MAGIC_CRITICAL_RATE, Config.MAX_MCRIT_RATE) : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * witBonus * 10), 0, creature.isPlayable() ? creature.getStat().getValue(Stat.MAX_MAGIC_CRITICAL_RATE, Config.MAX_MCRIT_RATE) : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -54,7 +54,7 @@ public class MEvasionRateFinalizer implements IStatFunction
baseValue += (level - 69) + 2; baseValue += (level - 69) + 2;
} }
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayer() ? Config.MAX_EVASION : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayable() ? Config.MAX_EVASION : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -53,7 +53,7 @@ public class PAttackFinalizer implements IStatFunction
} }
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
baseValue *= BaseStat.STR.calcBonus(creature) * creature.getLevelMod() * chaBonus; baseValue *= BaseStat.STR.calcBonus(creature) * creature.getLevelMod() * chaBonus;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayer() ? Config.MAX_PATK : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayable() ? Config.MAX_PATK : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -41,7 +41,7 @@ public class PAttackSpeedFinalizer implements IStatFunction
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.; final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.;
baseValue *= dexBonus * chaBonus; baseValue *= dexBonus * chaBonus;
return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_PATK_SPEED : Double.MAX_VALUE); return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_PATK_SPEED : Double.MAX_VALUE);
} }
private double defaultValue(Creature creature, Stat stat, double baseValue) private double defaultValue(Creature creature, Stat stat, double baseValue)

View File

@@ -42,7 +42,7 @@ public class PCriticalRateFinalizer implements IStatFunction
baseValue += calcEnchantBodyPart(creature, ItemTemplate.SLOT_LEGS); baseValue += calcEnchantBodyPart(creature, ItemTemplate.SLOT_LEGS);
} }
final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.; final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * dexBonus * 10), 0, creature.isPlayer() ? Config.MAX_PCRIT_RATE : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * dexBonus * 10), 0, creature.isPlayable() ? Config.MAX_PCRIT_RATE : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -79,7 +79,7 @@ public class PEvasionRateFinalizer implements IStatFunction
} }
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayer() ? Config.MAX_EVASION : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayable() ? Config.MAX_EVASION : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -56,7 +56,7 @@ public class SpeedFinalizer implements IStatFunction
baseValue += bonusDex; baseValue += bonusDex;
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_RUN_SPEED : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_RUN_SPEED : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -55,7 +55,7 @@ public class MAttackFinalizer implements IStatFunction
// Calculate modifiers Magic Attack // Calculate modifiers Magic Attack
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
baseValue *= Math.pow(BaseStat.INT.calcBonus(creature) * creature.getLevelMod() * chaBonus, 2.2072); baseValue *= Math.pow(BaseStat.INT.calcBonus(creature) * creature.getLevelMod() * chaBonus, 2.2072);
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayer() ? Config.MAX_MATK : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayable() ? Config.MAX_MATK : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -43,7 +43,7 @@ public class MAttackSpeedFinalizer implements IStatFunction
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.; final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.;
baseValue *= witBonus * chaBonus; baseValue *= witBonus * chaBonus;
return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_MATK_SPEED : Double.MAX_VALUE); return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_MATK_SPEED : Double.MAX_VALUE);
} }
private double defaultValue(Creature creature, Stat stat, double baseValue) private double defaultValue(Creature creature, Stat stat, double baseValue)

View File

@@ -43,7 +43,7 @@ public class MCritRateFinalizer implements IStatFunction
} }
final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.; final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * witBonus * 10), 0, creature.isPlayer() ? creature.getStat().getValue(Stat.MAX_MAGIC_CRITICAL_RATE, Config.MAX_MCRIT_RATE) : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * witBonus * 10), 0, creature.isPlayable() ? creature.getStat().getValue(Stat.MAX_MAGIC_CRITICAL_RATE, Config.MAX_MCRIT_RATE) : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -54,7 +54,7 @@ public class MEvasionRateFinalizer implements IStatFunction
baseValue += (level - 69) + 2; baseValue += (level - 69) + 2;
} }
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayer() ? Config.MAX_EVASION : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayable() ? Config.MAX_EVASION : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -53,7 +53,7 @@ public class PAttackFinalizer implements IStatFunction
} }
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
baseValue *= BaseStat.STR.calcBonus(creature) * creature.getLevelMod() * chaBonus; baseValue *= BaseStat.STR.calcBonus(creature) * creature.getLevelMod() * chaBonus;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayer() ? Config.MAX_PATK : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayable() ? Config.MAX_PATK : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -41,7 +41,7 @@ public class PAttackSpeedFinalizer implements IStatFunction
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.; final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.;
baseValue *= dexBonus * chaBonus; baseValue *= dexBonus * chaBonus;
return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_PATK_SPEED : Double.MAX_VALUE); return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_PATK_SPEED : Double.MAX_VALUE);
} }
private double defaultValue(Creature creature, Stat stat, double baseValue) private double defaultValue(Creature creature, Stat stat, double baseValue)

View File

@@ -42,7 +42,7 @@ public class PCriticalRateFinalizer implements IStatFunction
baseValue += calcEnchantBodyPart(creature, ItemTemplate.SLOT_LEGS); baseValue += calcEnchantBodyPart(creature, ItemTemplate.SLOT_LEGS);
} }
final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.; final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * dexBonus * 10), 0, creature.isPlayer() ? Config.MAX_PCRIT_RATE : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * dexBonus * 10), 0, creature.isPlayable() ? Config.MAX_PCRIT_RATE : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -79,7 +79,7 @@ public class PEvasionRateFinalizer implements IStatFunction
} }
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayer() ? Config.MAX_EVASION : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayable() ? Config.MAX_EVASION : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -56,7 +56,7 @@ public class SpeedFinalizer implements IStatFunction
baseValue += bonusDex; baseValue += bonusDex;
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_RUN_SPEED : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_RUN_SPEED : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -55,7 +55,7 @@ public class MAttackFinalizer implements IStatFunction
// Calculate modifiers Magic Attack // Calculate modifiers Magic Attack
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
baseValue *= Math.pow(BaseStat.INT.calcBonus(creature) * creature.getLevelMod() * chaBonus, 2.2072); baseValue *= Math.pow(BaseStat.INT.calcBonus(creature) * creature.getLevelMod() * chaBonus, 2.2072);
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayer() ? Config.MAX_MATK : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayable() ? Config.MAX_MATK : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -43,7 +43,7 @@ public class MAttackSpeedFinalizer implements IStatFunction
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.; final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.;
baseValue *= witBonus * chaBonus; baseValue *= witBonus * chaBonus;
return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_MATK_SPEED : Double.MAX_VALUE); return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_MATK_SPEED : Double.MAX_VALUE);
} }
private double defaultValue(Creature creature, Stat stat, double baseValue) private double defaultValue(Creature creature, Stat stat, double baseValue)

View File

@@ -43,7 +43,7 @@ public class MCritRateFinalizer implements IStatFunction
} }
final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.; final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * witBonus * 10), 0, creature.isPlayer() ? creature.getStat().getValue(Stat.MAX_MAGIC_CRITICAL_RATE, Config.MAX_MCRIT_RATE) : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * witBonus * 10), 0, creature.isPlayable() ? creature.getStat().getValue(Stat.MAX_MAGIC_CRITICAL_RATE, Config.MAX_MCRIT_RATE) : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -54,7 +54,7 @@ public class MEvasionRateFinalizer implements IStatFunction
baseValue += (level - 69) + 2; baseValue += (level - 69) + 2;
} }
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayer() ? Config.MAX_EVASION : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayable() ? Config.MAX_EVASION : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -53,7 +53,7 @@ public class PAttackFinalizer implements IStatFunction
} }
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
baseValue *= BaseStat.STR.calcBonus(creature) * creature.getLevelMod() * chaBonus; baseValue *= BaseStat.STR.calcBonus(creature) * creature.getLevelMod() * chaBonus;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayer() ? Config.MAX_PATK : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayable() ? Config.MAX_PATK : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -41,7 +41,7 @@ public class PAttackSpeedFinalizer implements IStatFunction
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.; final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.;
baseValue *= dexBonus * chaBonus; baseValue *= dexBonus * chaBonus;
return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_PATK_SPEED : Double.MAX_VALUE); return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_PATK_SPEED : Double.MAX_VALUE);
} }
private double defaultValue(Creature creature, Stat stat, double baseValue) private double defaultValue(Creature creature, Stat stat, double baseValue)

View File

@@ -42,7 +42,7 @@ public class PCriticalRateFinalizer implements IStatFunction
baseValue += calcEnchantBodyPart(creature, ItemTemplate.SLOT_LEGS); baseValue += calcEnchantBodyPart(creature, ItemTemplate.SLOT_LEGS);
} }
final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.; final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * dexBonus * 10), 0, creature.isPlayer() ? Config.MAX_PCRIT_RATE : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * dexBonus * 10), 0, creature.isPlayable() ? Config.MAX_PCRIT_RATE : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -79,7 +79,7 @@ public class PEvasionRateFinalizer implements IStatFunction
} }
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayer() ? Config.MAX_EVASION : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayable() ? Config.MAX_EVASION : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -56,7 +56,7 @@ public class SpeedFinalizer implements IStatFunction
baseValue += bonusDex; baseValue += bonusDex;
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_RUN_SPEED : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_RUN_SPEED : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -55,7 +55,7 @@ public class MAttackFinalizer implements IStatFunction
// Calculate modifiers Magic Attack // Calculate modifiers Magic Attack
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
baseValue *= Math.pow(BaseStat.INT.calcBonus(creature) * creature.getLevelMod() * chaBonus, 2.2072); baseValue *= Math.pow(BaseStat.INT.calcBonus(creature) * creature.getLevelMod() * chaBonus, 2.2072);
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayer() ? Config.MAX_MATK : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayable() ? Config.MAX_MATK : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -43,7 +43,7 @@ public class MAttackSpeedFinalizer implements IStatFunction
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.; final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.;
baseValue *= witBonus * chaBonus; baseValue *= witBonus * chaBonus;
return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_MATK_SPEED : Double.MAX_VALUE); return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_MATK_SPEED : Double.MAX_VALUE);
} }
private double defaultValue(Creature creature, Stat stat, double baseValue) private double defaultValue(Creature creature, Stat stat, double baseValue)

View File

@@ -43,7 +43,7 @@ public class MCritRateFinalizer implements IStatFunction
} }
final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.; final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * witBonus * 10), 0, creature.isPlayer() ? creature.getStat().getValue(Stat.MAX_MAGIC_CRITICAL_RATE, Config.MAX_MCRIT_RATE) : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * witBonus * 10), 0, creature.isPlayable() ? creature.getStat().getValue(Stat.MAX_MAGIC_CRITICAL_RATE, Config.MAX_MCRIT_RATE) : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -54,7 +54,7 @@ public class MEvasionRateFinalizer implements IStatFunction
baseValue += (level - 69) + 2; baseValue += (level - 69) + 2;
} }
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayer() ? Config.MAX_EVASION : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayable() ? Config.MAX_EVASION : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -53,7 +53,7 @@ public class PAttackFinalizer implements IStatFunction
} }
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
baseValue *= BaseStat.STR.calcBonus(creature) * creature.getLevelMod() * chaBonus; baseValue *= BaseStat.STR.calcBonus(creature) * creature.getLevelMod() * chaBonus;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayer() ? Config.MAX_PATK : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayable() ? Config.MAX_PATK : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -41,7 +41,7 @@ public class PAttackSpeedFinalizer implements IStatFunction
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.; final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.;
baseValue *= dexBonus * chaBonus; baseValue *= dexBonus * chaBonus;
return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_PATK_SPEED : Double.MAX_VALUE); return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_PATK_SPEED : Double.MAX_VALUE);
} }
private double defaultValue(Creature creature, Stat stat, double baseValue) private double defaultValue(Creature creature, Stat stat, double baseValue)

View File

@@ -42,7 +42,7 @@ public class PCriticalRateFinalizer implements IStatFunction
baseValue += calcEnchantBodyPart(creature, ItemTemplate.SLOT_LEGS); baseValue += calcEnchantBodyPart(creature, ItemTemplate.SLOT_LEGS);
} }
final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.; final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * dexBonus * 10), 0, creature.isPlayer() ? Config.MAX_PCRIT_RATE : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * dexBonus * 10), 0, creature.isPlayable() ? Config.MAX_PCRIT_RATE : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -79,7 +79,7 @@ public class PEvasionRateFinalizer implements IStatFunction
} }
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayer() ? Config.MAX_EVASION : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayable() ? Config.MAX_EVASION : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -56,7 +56,7 @@ public class SpeedFinalizer implements IStatFunction
baseValue += bonusDex; baseValue += bonusDex;
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_RUN_SPEED : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_RUN_SPEED : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -55,7 +55,7 @@ public class MAttackFinalizer implements IStatFunction
// Calculate modifiers Magic Attack // Calculate modifiers Magic Attack
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
baseValue *= Math.pow(BaseStat.INT.calcBonus(creature) * creature.getLevelMod() * chaBonus, 2.2072); baseValue *= Math.pow(BaseStat.INT.calcBonus(creature) * creature.getLevelMod() * chaBonus, 2.2072);
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayer() ? Config.MAX_MATK : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayable() ? Config.MAX_MATK : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -43,7 +43,7 @@ public class MAttackSpeedFinalizer implements IStatFunction
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.; final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.;
baseValue *= witBonus * chaBonus; baseValue *= witBonus * chaBonus;
return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_MATK_SPEED : Double.MAX_VALUE); return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_MATK_SPEED : Double.MAX_VALUE);
} }
private double defaultValue(Creature creature, Stat stat, double baseValue) private double defaultValue(Creature creature, Stat stat, double baseValue)

View File

@@ -43,7 +43,7 @@ public class MCritRateFinalizer implements IStatFunction
} }
final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.; final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * witBonus * 10), 0, creature.isPlayer() ? creature.getStat().getValue(Stat.MAX_MAGIC_CRITICAL_RATE, Config.MAX_MCRIT_RATE) : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * witBonus * 10), 0, creature.isPlayable() ? creature.getStat().getValue(Stat.MAX_MAGIC_CRITICAL_RATE, Config.MAX_MCRIT_RATE) : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -54,7 +54,7 @@ public class MEvasionRateFinalizer implements IStatFunction
baseValue += (level - 69) + 2; baseValue += (level - 69) + 2;
} }
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayer() ? Config.MAX_EVASION : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayable() ? Config.MAX_EVASION : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -53,7 +53,7 @@ public class PAttackFinalizer implements IStatFunction
} }
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
baseValue *= BaseStat.STR.calcBonus(creature) * creature.getLevelMod() * chaBonus; baseValue *= BaseStat.STR.calcBonus(creature) * creature.getLevelMod() * chaBonus;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayer() ? Config.MAX_PATK : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayable() ? Config.MAX_PATK : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -41,7 +41,7 @@ public class PAttackSpeedFinalizer implements IStatFunction
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.; final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.;
baseValue *= dexBonus * chaBonus; baseValue *= dexBonus * chaBonus;
return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_PATK_SPEED : Double.MAX_VALUE); return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_PATK_SPEED : Double.MAX_VALUE);
} }
private double defaultValue(Creature creature, Stat stat, double baseValue) private double defaultValue(Creature creature, Stat stat, double baseValue)

View File

@@ -42,7 +42,7 @@ public class PCriticalRateFinalizer implements IStatFunction
baseValue += calcEnchantBodyPart(creature, ItemTemplate.SLOT_LEGS); baseValue += calcEnchantBodyPart(creature, ItemTemplate.SLOT_LEGS);
} }
final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.; final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * dexBonus * 10), 0, creature.isPlayer() ? Config.MAX_PCRIT_RATE : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * dexBonus * 10), 0, creature.isPlayable() ? Config.MAX_PCRIT_RATE : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -79,7 +79,7 @@ public class PEvasionRateFinalizer implements IStatFunction
} }
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayer() ? Config.MAX_EVASION : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayable() ? Config.MAX_EVASION : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -56,7 +56,7 @@ public class SpeedFinalizer implements IStatFunction
baseValue += bonusDex; baseValue += bonusDex;
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_RUN_SPEED : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_RUN_SPEED : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -55,7 +55,7 @@ public class MAttackFinalizer implements IStatFunction
// Calculate modifiers Magic Attack // Calculate modifiers Magic Attack
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
baseValue *= Math.pow(BaseStat.INT.calcBonus(creature) * creature.getLevelMod() * chaBonus, 2.2072); baseValue *= Math.pow(BaseStat.INT.calcBonus(creature) * creature.getLevelMod() * chaBonus, 2.2072);
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayer() ? Config.MAX_MATK : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayable() ? Config.MAX_MATK : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -43,7 +43,7 @@ public class MAttackSpeedFinalizer implements IStatFunction
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.; final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.;
baseValue *= witBonus * chaBonus; baseValue *= witBonus * chaBonus;
return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_MATK_SPEED : Double.MAX_VALUE); return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_MATK_SPEED : Double.MAX_VALUE);
} }
private double defaultValue(Creature creature, Stat stat, double baseValue) private double defaultValue(Creature creature, Stat stat, double baseValue)

View File

@@ -43,7 +43,7 @@ public class MCritRateFinalizer implements IStatFunction
} }
final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.; final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * witBonus * 10), 0, creature.isPlayer() ? creature.getStat().getValue(Stat.MAX_MAGIC_CRITICAL_RATE, Config.MAX_MCRIT_RATE) : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * witBonus * 10), 0, creature.isPlayable() ? creature.getStat().getValue(Stat.MAX_MAGIC_CRITICAL_RATE, Config.MAX_MCRIT_RATE) : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -54,7 +54,7 @@ public class MEvasionRateFinalizer implements IStatFunction
baseValue += (level - 69) + 2; baseValue += (level - 69) + 2;
} }
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayer() ? Config.MAX_EVASION : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayable() ? Config.MAX_EVASION : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -53,7 +53,7 @@ public class PAttackFinalizer implements IStatFunction
} }
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
baseValue *= BaseStat.STR.calcBonus(creature) * creature.getLevelMod() * chaBonus; baseValue *= BaseStat.STR.calcBonus(creature) * creature.getLevelMod() * chaBonus;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayer() ? Config.MAX_PATK : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayable() ? Config.MAX_PATK : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -41,7 +41,7 @@ public class PAttackSpeedFinalizer implements IStatFunction
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.; final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.;
baseValue *= dexBonus * chaBonus; baseValue *= dexBonus * chaBonus;
return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_PATK_SPEED : Double.MAX_VALUE); return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_PATK_SPEED : Double.MAX_VALUE);
} }
private double defaultValue(Creature creature, Stat stat, double baseValue) private double defaultValue(Creature creature, Stat stat, double baseValue)

View File

@@ -42,7 +42,7 @@ public class PCriticalRateFinalizer implements IStatFunction
baseValue += calcEnchantBodyPart(creature, ItemTemplate.SLOT_LEGS); baseValue += calcEnchantBodyPart(creature, ItemTemplate.SLOT_LEGS);
} }
final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.; final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * dexBonus * 10), 0, creature.isPlayer() ? Config.MAX_PCRIT_RATE : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * dexBonus * 10), 0, creature.isPlayable() ? Config.MAX_PCRIT_RATE : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -79,7 +79,7 @@ public class PEvasionRateFinalizer implements IStatFunction
} }
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayer() ? Config.MAX_EVASION : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayable() ? Config.MAX_EVASION : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -56,7 +56,7 @@ public class SpeedFinalizer implements IStatFunction
baseValue += bonusDex; baseValue += bonusDex;
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_RUN_SPEED : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_RUN_SPEED : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -55,7 +55,7 @@ public class MAttackFinalizer implements IStatFunction
// Calculate modifiers Magic Attack // Calculate modifiers Magic Attack
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
baseValue *= Math.pow(BaseStat.INT.calcBonus(creature) * creature.getLevelMod() * chaBonus, 2.2072); baseValue *= Math.pow(BaseStat.INT.calcBonus(creature) * creature.getLevelMod() * chaBonus, 2.2072);
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayer() ? Config.MAX_MATK : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayable() ? Config.MAX_MATK : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -43,7 +43,7 @@ public class MAttackSpeedFinalizer implements IStatFunction
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.; final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.;
baseValue *= witBonus * chaBonus; baseValue *= witBonus * chaBonus;
return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_MATK_SPEED : Double.MAX_VALUE); return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_MATK_SPEED : Double.MAX_VALUE);
} }
private double defaultValue(Creature creature, Stat stat, double baseValue) private double defaultValue(Creature creature, Stat stat, double baseValue)

View File

@@ -43,7 +43,7 @@ public class MCritRateFinalizer implements IStatFunction
} }
final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.; final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * witBonus * 10), 0, creature.isPlayer() ? creature.getStat().getValue(Stat.MAX_MAGIC_CRITICAL_RATE, Config.MAX_MCRIT_RATE) : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * witBonus * 10), 0, creature.isPlayable() ? creature.getStat().getValue(Stat.MAX_MAGIC_CRITICAL_RATE, Config.MAX_MCRIT_RATE) : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -54,7 +54,7 @@ public class MEvasionRateFinalizer implements IStatFunction
baseValue += (level - 69) + 2; baseValue += (level - 69) + 2;
} }
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayer() ? Config.MAX_EVASION : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayable() ? Config.MAX_EVASION : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -53,7 +53,7 @@ public class PAttackFinalizer implements IStatFunction
} }
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
baseValue *= BaseStat.STR.calcBonus(creature) * creature.getLevelMod() * chaBonus; baseValue *= BaseStat.STR.calcBonus(creature) * creature.getLevelMod() * chaBonus;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayer() ? Config.MAX_PATK : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayable() ? Config.MAX_PATK : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -41,7 +41,7 @@ public class PAttackSpeedFinalizer implements IStatFunction
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.; final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.;
baseValue *= dexBonus * chaBonus; baseValue *= dexBonus * chaBonus;
return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_PATK_SPEED : Double.MAX_VALUE); return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_PATK_SPEED : Double.MAX_VALUE);
} }
private double defaultValue(Creature creature, Stat stat, double baseValue) private double defaultValue(Creature creature, Stat stat, double baseValue)

View File

@@ -42,7 +42,7 @@ public class PCriticalRateFinalizer implements IStatFunction
baseValue += calcEnchantBodyPart(creature, ItemTemplate.SLOT_LEGS); baseValue += calcEnchantBodyPart(creature, ItemTemplate.SLOT_LEGS);
} }
final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.; final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * dexBonus * 10), 0, creature.isPlayer() ? Config.MAX_PCRIT_RATE : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * dexBonus * 10), 0, creature.isPlayable() ? Config.MAX_PCRIT_RATE : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -79,7 +79,7 @@ public class PEvasionRateFinalizer implements IStatFunction
} }
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayer() ? Config.MAX_EVASION : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayable() ? Config.MAX_EVASION : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -56,7 +56,7 @@ public class SpeedFinalizer implements IStatFunction
baseValue += bonusDex; baseValue += bonusDex;
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_RUN_SPEED : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_RUN_SPEED : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -55,7 +55,7 @@ public class MAttackFinalizer implements IStatFunction
// Calculate modifiers Magic Attack // Calculate modifiers Magic Attack
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
baseValue *= Math.pow(BaseStat.INT.calcBonus(creature) * creature.getLevelMod() * chaBonus, 2.2072); baseValue *= Math.pow(BaseStat.INT.calcBonus(creature) * creature.getLevelMod() * chaBonus, 2.2072);
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayer() ? Config.MAX_MATK : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayable() ? Config.MAX_MATK : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -43,7 +43,7 @@ public class MAttackSpeedFinalizer implements IStatFunction
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.; final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.;
baseValue *= witBonus * chaBonus; baseValue *= witBonus * chaBonus;
return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_MATK_SPEED : Double.MAX_VALUE); return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_MATK_SPEED : Double.MAX_VALUE);
} }
private double defaultValue(Creature creature, Stat stat, double baseValue) private double defaultValue(Creature creature, Stat stat, double baseValue)

View File

@@ -43,7 +43,7 @@ public class MCritRateFinalizer implements IStatFunction
} }
final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.; final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * witBonus * 10), 0, creature.isPlayer() ? creature.getStat().getValue(Stat.MAX_MAGIC_CRITICAL_RATE, Config.MAX_MCRIT_RATE) : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * witBonus * 10), 0, creature.isPlayable() ? creature.getStat().getValue(Stat.MAX_MAGIC_CRITICAL_RATE, Config.MAX_MCRIT_RATE) : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -54,7 +54,7 @@ public class MEvasionRateFinalizer implements IStatFunction
baseValue += (level - 69) + 2; baseValue += (level - 69) + 2;
} }
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayer() ? Config.MAX_EVASION : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayable() ? Config.MAX_EVASION : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -53,7 +53,7 @@ public class PAttackFinalizer implements IStatFunction
} }
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
baseValue *= BaseStat.STR.calcBonus(creature) * creature.getLevelMod() * chaBonus; baseValue *= BaseStat.STR.calcBonus(creature) * creature.getLevelMod() * chaBonus;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayer() ? Config.MAX_PATK : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayable() ? Config.MAX_PATK : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -41,7 +41,7 @@ public class PAttackSpeedFinalizer implements IStatFunction
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.; final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.;
baseValue *= dexBonus * chaBonus; baseValue *= dexBonus * chaBonus;
return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_PATK_SPEED : Double.MAX_VALUE); return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_PATK_SPEED : Double.MAX_VALUE);
} }
private double defaultValue(Creature creature, Stat stat, double baseValue) private double defaultValue(Creature creature, Stat stat, double baseValue)

View File

@@ -42,7 +42,7 @@ public class PCriticalRateFinalizer implements IStatFunction
baseValue += calcEnchantBodyPart(creature, ItemTemplate.SLOT_LEGS); baseValue += calcEnchantBodyPart(creature, ItemTemplate.SLOT_LEGS);
} }
final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.; final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * dexBonus * 10), 0, creature.isPlayer() ? Config.MAX_PCRIT_RATE : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * dexBonus * 10), 0, creature.isPlayable() ? Config.MAX_PCRIT_RATE : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -79,7 +79,7 @@ public class PEvasionRateFinalizer implements IStatFunction
} }
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayer() ? Config.MAX_EVASION : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayable() ? Config.MAX_EVASION : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -61,7 +61,7 @@ public class SpeedFinalizer implements IStatFunction
baseValue += bonusDex; baseValue += bonusDex;
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_RUN_SPEED : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_RUN_SPEED : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -55,7 +55,7 @@ public class MAttackFinalizer implements IStatFunction
// Calculate modifiers Magic Attack // Calculate modifiers Magic Attack
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
baseValue *= Math.pow(BaseStat.INT.calcBonus(creature) * creature.getLevelMod() * chaBonus, 2.2072); baseValue *= Math.pow(BaseStat.INT.calcBonus(creature) * creature.getLevelMod() * chaBonus, 2.2072);
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayer() ? Config.MAX_MATK : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayable() ? Config.MAX_MATK : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -43,7 +43,7 @@ public class MAttackSpeedFinalizer implements IStatFunction
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.; final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.;
baseValue *= witBonus * chaBonus; baseValue *= witBonus * chaBonus;
return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_MATK_SPEED : Double.MAX_VALUE); return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_MATK_SPEED : Double.MAX_VALUE);
} }
private double defaultValue(Creature creature, Stat stat, double baseValue) private double defaultValue(Creature creature, Stat stat, double baseValue)

View File

@@ -43,7 +43,7 @@ public class MCritRateFinalizer implements IStatFunction
} }
final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.; final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * witBonus * 10), 0, creature.isPlayer() ? creature.getStat().getValue(Stat.MAX_MAGIC_CRITICAL_RATE, Config.MAX_MCRIT_RATE) : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * witBonus * 10), 0, creature.isPlayable() ? creature.getStat().getValue(Stat.MAX_MAGIC_CRITICAL_RATE, Config.MAX_MCRIT_RATE) : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -54,7 +54,7 @@ public class MEvasionRateFinalizer implements IStatFunction
baseValue += (level - 69) + 2; baseValue += (level - 69) + 2;
} }
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayer() ? Config.MAX_EVASION : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayable() ? Config.MAX_EVASION : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -53,7 +53,7 @@ public class PAttackFinalizer implements IStatFunction
} }
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
baseValue *= BaseStat.STR.calcBonus(creature) * creature.getLevelMod() * chaBonus; baseValue *= BaseStat.STR.calcBonus(creature) * creature.getLevelMod() * chaBonus;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayer() ? Config.MAX_PATK : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayable() ? Config.MAX_PATK : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -41,7 +41,7 @@ public class PAttackSpeedFinalizer implements IStatFunction
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.; final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.;
baseValue *= dexBonus * chaBonus; baseValue *= dexBonus * chaBonus;
return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_PATK_SPEED : Double.MAX_VALUE); return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_PATK_SPEED : Double.MAX_VALUE);
} }
private double defaultValue(Creature creature, Stat stat, double baseValue) private double defaultValue(Creature creature, Stat stat, double baseValue)

View File

@@ -42,7 +42,7 @@ public class PCriticalRateFinalizer implements IStatFunction
baseValue += calcEnchantBodyPart(creature, ItemTemplate.SLOT_LEGS); baseValue += calcEnchantBodyPart(creature, ItemTemplate.SLOT_LEGS);
} }
final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.; final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * dexBonus * 10), 0, creature.isPlayer() ? Config.MAX_PCRIT_RATE : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * dexBonus * 10), 0, creature.isPlayable() ? Config.MAX_PCRIT_RATE : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -79,7 +79,7 @@ public class PEvasionRateFinalizer implements IStatFunction
} }
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayer() ? Config.MAX_EVASION : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayable() ? Config.MAX_EVASION : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -61,7 +61,7 @@ public class SpeedFinalizer implements IStatFunction
baseValue += bonusDex; baseValue += bonusDex;
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_RUN_SPEED : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_RUN_SPEED : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -55,7 +55,7 @@ public class MAttackFinalizer implements IStatFunction
// Calculate modifiers Magic Attack // Calculate modifiers Magic Attack
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
baseValue *= Math.pow(BaseStat.INT.calcBonus(creature) * creature.getLevelMod() * chaBonus, 2.2072); baseValue *= Math.pow(BaseStat.INT.calcBonus(creature) * creature.getLevelMod() * chaBonus, 2.2072);
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayer() ? Config.MAX_MATK : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayable() ? Config.MAX_MATK : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -43,7 +43,7 @@ public class MAttackSpeedFinalizer implements IStatFunction
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.; final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.;
baseValue *= witBonus * chaBonus; baseValue *= witBonus * chaBonus;
return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_MATK_SPEED : Double.MAX_VALUE); return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_MATK_SPEED : Double.MAX_VALUE);
} }
private double defaultValue(Creature creature, Stat stat, double baseValue) private double defaultValue(Creature creature, Stat stat, double baseValue)

View File

@@ -43,7 +43,7 @@ public class MCritRateFinalizer implements IStatFunction
} }
final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.; final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * witBonus * 10), 0, creature.isPlayer() ? creature.getStat().getValue(Stat.MAX_MAGIC_CRITICAL_RATE, Config.MAX_MCRIT_RATE) : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * witBonus * 10), 0, creature.isPlayable() ? creature.getStat().getValue(Stat.MAX_MAGIC_CRITICAL_RATE, Config.MAX_MCRIT_RATE) : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -54,7 +54,7 @@ public class MEvasionRateFinalizer implements IStatFunction
baseValue += (level - 69) + 2; baseValue += (level - 69) + 2;
} }
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayer() ? Config.MAX_EVASION : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayable() ? Config.MAX_EVASION : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -53,7 +53,7 @@ public class PAttackFinalizer implements IStatFunction
} }
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
baseValue *= BaseStat.STR.calcBonus(creature) * creature.getLevelMod() * chaBonus; baseValue *= BaseStat.STR.calcBonus(creature) * creature.getLevelMod() * chaBonus;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayer() ? Config.MAX_PATK : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayable() ? Config.MAX_PATK : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -41,7 +41,7 @@ public class PAttackSpeedFinalizer implements IStatFunction
final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.;
final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.; final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.;
baseValue *= dexBonus * chaBonus; baseValue *= dexBonus * chaBonus;
return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_PATK_SPEED : Double.MAX_VALUE); return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_PATK_SPEED : Double.MAX_VALUE);
} }
private double defaultValue(Creature creature, Stat stat, double baseValue) private double defaultValue(Creature creature, Stat stat, double baseValue)

View File

@@ -42,7 +42,7 @@ public class PCriticalRateFinalizer implements IStatFunction
baseValue += calcEnchantBodyPart(creature, ItemTemplate.SLOT_LEGS); baseValue += calcEnchantBodyPart(creature, ItemTemplate.SLOT_LEGS);
} }
final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.; final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.;
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * dexBonus * 10), 0, creature.isPlayer() ? Config.MAX_PCRIT_RATE : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * dexBonus * 10), 0, creature.isPlayable() ? Config.MAX_PCRIT_RATE : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -79,7 +79,7 @@ public class PEvasionRateFinalizer implements IStatFunction
} }
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayer() ? Config.MAX_EVASION : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayable() ? Config.MAX_EVASION : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -61,7 +61,7 @@ public class SpeedFinalizer implements IStatFunction
baseValue += bonusDex; baseValue += bonusDex;
} }
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_RUN_SPEED : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 1, creature.isPlayable() ? Config.MAX_RUN_SPEED : Double.MAX_VALUE);
} }
@Override @Override

View File

@@ -54,7 +54,7 @@ public class MAttackFinalizer implements IStatFunction
// Calculate modifiers Magic Attack // Calculate modifiers Magic Attack
baseValue *= Math.pow(BaseStat.INT.calcBonus(creature) * creature.getLevelMod(), 2.2072); baseValue *= Math.pow(BaseStat.INT.calcBonus(creature) * creature.getLevelMod(), 2.2072);
return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayer() ? Config.MAX_MATK : Double.MAX_VALUE); return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayable() ? Config.MAX_MATK : Double.MAX_VALUE);
} }
@Override @Override

Some files were not shown because too many files have changed in this diff Show More