Use finalizer configurations only for players.
This commit is contained in:
		| @@ -55,7 +55,7 @@ public class MAttackFinalizer implements IStatFunction | ||||
| 		// Calculate modifiers Magic Attack | ||||
| 		final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; | ||||
| 		baseValue *= Math.pow(BaseStat.INT.calcBonus(creature) * creature.getLevelMod() * chaBonus, 2.2072); | ||||
| 		return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, Config.MAX_MATK); | ||||
| 		return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayer() ? Config.MAX_MATK : Double.MAX_VALUE); | ||||
| 	} | ||||
| 	 | ||||
| 	@Override | ||||
|   | ||||
| @@ -43,7 +43,7 @@ public class MAttackSpeedFinalizer implements IStatFunction | ||||
| 		final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; | ||||
| 		final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.; | ||||
| 		baseValue *= witBonus * chaBonus; | ||||
| 		return validateValue(creature, defaultValue(creature, stat, baseValue), 1, Config.MAX_MATK_SPEED); | ||||
| 		return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_MATK_SPEED : Double.MAX_VALUE); | ||||
| 	} | ||||
| 	 | ||||
| 	private double defaultValue(Creature creature, Stat stat, double baseValue) | ||||
|   | ||||
| @@ -43,7 +43,7 @@ public class MCritRateFinalizer implements IStatFunction | ||||
| 		} | ||||
| 		 | ||||
| 		final double witBonus = creature.getWIT() > 0 ? BaseStat.WIT.calcBonus(creature) : 1.; | ||||
| 		return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * witBonus * 10), 0, Config.MAX_MCRIT_RATE); | ||||
| 		return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * witBonus * 10), 0, creature.isPlayer() ? Config.MAX_MCRIT_RATE : Double.MAX_VALUE); | ||||
| 	} | ||||
| 	 | ||||
| 	@Override | ||||
|   | ||||
| @@ -54,7 +54,7 @@ public class MEvasionRateFinalizer implements IStatFunction | ||||
| 				baseValue += (level - 69) + 2; | ||||
| 			} | ||||
| 		} | ||||
| 		return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, Config.MAX_EVASION); | ||||
| 		return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayer() ? Config.MAX_EVASION : Double.MAX_VALUE); | ||||
| 	} | ||||
| 	 | ||||
| 	@Override | ||||
|   | ||||
| @@ -53,7 +53,7 @@ public class PAttackFinalizer implements IStatFunction | ||||
| 		} | ||||
| 		final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; | ||||
| 		baseValue *= BaseStat.STR.calcBonus(creature) * creature.getLevelMod() * chaBonus; | ||||
| 		return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, Config.MAX_PATK); | ||||
| 		return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 0, creature.isPlayer() ? Config.MAX_PATK : Double.MAX_VALUE); | ||||
| 	} | ||||
| 	 | ||||
| 	@Override | ||||
|   | ||||
| @@ -41,7 +41,7 @@ public class PAttackSpeedFinalizer implements IStatFunction | ||||
| 		final double chaBonus = creature.isPlayer() ? BaseStat.CHA.calcBonus(creature) : 1.; | ||||
| 		final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.; | ||||
| 		baseValue *= dexBonus * chaBonus; | ||||
| 		return validateValue(creature, defaultValue(creature, stat, baseValue), 1, Config.MAX_PATK_SPEED); | ||||
| 		return validateValue(creature, defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_PATK_SPEED : Double.MAX_VALUE); | ||||
| 	} | ||||
| 	 | ||||
| 	private double defaultValue(Creature creature, Stat stat, double baseValue) | ||||
|   | ||||
| @@ -42,7 +42,7 @@ public class PCriticalRateFinalizer implements IStatFunction | ||||
| 			baseValue += calcEnchantBodyPart(creature, Item.SLOT_LEGS); | ||||
| 		} | ||||
| 		final double dexBonus = creature.getDEX() > 0 ? BaseStat.DEX.calcBonus(creature) : 1.; | ||||
| 		return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * dexBonus * 10), 0, Config.MAX_PCRIT_RATE); | ||||
| 		return validateValue(creature, Stat.defaultValue(creature, stat, baseValue * dexBonus * 10), 0, creature.isPlayer() ? Config.MAX_PCRIT_RATE : Double.MAX_VALUE); | ||||
| 	} | ||||
| 	 | ||||
| 	@Override | ||||
|   | ||||
| @@ -79,7 +79,7 @@ public class PEvasionRateFinalizer implements IStatFunction | ||||
| 			} | ||||
| 		} | ||||
| 		 | ||||
| 		return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, Config.MAX_EVASION); | ||||
| 		return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), Double.NEGATIVE_INFINITY, creature.isPlayer() ? Config.MAX_EVASION : Double.MAX_VALUE); | ||||
| 	} | ||||
| 	 | ||||
| 	@Override | ||||
|   | ||||
| @@ -56,7 +56,7 @@ public class SpeedFinalizer implements IStatFunction | ||||
| 			baseValue += bonusDex; | ||||
| 		} | ||||
| 		 | ||||
| 		return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 1, Config.MAX_RUN_SPEED); | ||||
| 		return validateValue(creature, Stat.defaultValue(creature, stat, baseValue), 1, creature.isPlayer() ? Config.MAX_RUN_SPEED : Double.MAX_VALUE); | ||||
| 	} | ||||
| 	 | ||||
| 	@Override | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 MobiusDevelopment
					MobiusDevelopment