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