Added configurable limits for PAtk and MAtk.
This commit is contained in:
parent
f99b5d89cb
commit
7f1a6f6fee
@ -223,6 +223,14 @@ MaxSpBonus = 0
|
||||
# Default: 300
|
||||
MaxRunSpeed = 300
|
||||
|
||||
# Maximum character Physical Attack.
|
||||
# Default: 999999
|
||||
MaxPAtk = 999999
|
||||
|
||||
# Maximum character Magic Attack.
|
||||
# Default: 999999
|
||||
MaxMAtk = 999999
|
||||
|
||||
# Maximum character Physical Critical Rate. (10 = 1%)
|
||||
# Default: 500
|
||||
MaxPCritRate = 500
|
||||
|
@ -350,7 +350,7 @@
|
||||
<value level="1">0</value>
|
||||
<value level="2">0</value>
|
||||
<value level="3">999900</value>
|
||||
<value level="4">999900</value> <!-- Retail value: 0 -->
|
||||
<value level="4">999999</value> <!-- Retail value: 0 -->
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
@ -428,6 +428,15 @@
|
||||
<mode>PER</mode>
|
||||
<magicType>1</magicType>
|
||||
</effect>
|
||||
<effect name="MAtk"> <!-- custom -->
|
||||
<amount>
|
||||
<value level="1">0</value>
|
||||
<value level="2">0</value>
|
||||
<value level="3">999900</value>
|
||||
<value level="4">999999</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="7030" toLevel="1" name="Summon King Bugbear">
|
||||
|
@ -181,6 +181,8 @@ public final class Config
|
||||
public static double MAX_BONUS_EXP;
|
||||
public static double MAX_BONUS_SP;
|
||||
public static int MAX_RUN_SPEED;
|
||||
public static int MAX_PATK;
|
||||
public static int MAX_MATK;
|
||||
public static int MAX_PCRIT_RATE;
|
||||
public static int MAX_MCRIT_RATE;
|
||||
public static int MAX_PATK_SPEED;
|
||||
@ -1444,6 +1446,8 @@ public final class Config
|
||||
MAX_BONUS_EXP = Character.getDouble("MaxExpBonus", 0);
|
||||
MAX_BONUS_SP = Character.getDouble("MaxSpBonus", 0);
|
||||
MAX_RUN_SPEED = Character.getInt("MaxRunSpeed", 300);
|
||||
MAX_PATK = Character.getInt("MaxPAtk", 999999);
|
||||
MAX_MATK = Character.getInt("MaxMAtk", 999999);
|
||||
MAX_PCRIT_RATE = Character.getInt("MaxPCritRate", 500);
|
||||
MAX_MCRIT_RATE = Character.getInt("MaxMCritRate", 200);
|
||||
MAX_PATK_SPEED = Character.getInt("MaxPAtkSpeed", 1500);
|
||||
|
@ -56,7 +56,7 @@ public class MAttackFinalizer implements IStatsFunction
|
||||
final double chaMod = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.;
|
||||
final double intBonus = BaseStats.INT.calcBonus(creature);
|
||||
baseValue *= Math.pow(intBonus, 2) * Math.pow(creature.getLevelMod(), 2) * chaMod;
|
||||
return Stats.defaultValue(creature, stat, baseValue);
|
||||
return Math.min(Stats.defaultValue(creature, stat, baseValue), Config.MAX_MATK);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -55,7 +55,7 @@ public class PAttackFinalizer implements IStatsFunction
|
||||
final double chaBonus = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.;
|
||||
final double strBonus = creature.getSTR() > 0 ? BaseStats.STR.calcBonus(creature) : 1.;
|
||||
baseValue *= strBonus * creature.getLevelMod() * chaBonus;
|
||||
return Stats.defaultValue(creature, stat, baseValue);
|
||||
return Math.min(Stats.defaultValue(creature, stat, baseValue), Config.MAX_PATK);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -223,6 +223,14 @@ MaxSpBonus = 0
|
||||
# Default: 300
|
||||
MaxRunSpeed = 300
|
||||
|
||||
# Maximum character Physical Attack.
|
||||
# Default: 999999
|
||||
MaxPAtk = 999999
|
||||
|
||||
# Maximum character Magic Attack.
|
||||
# Default: 999999
|
||||
MaxMAtk = 999999
|
||||
|
||||
# Maximum character Physical Critical Rate. (10 = 1%)
|
||||
# Default: 500
|
||||
MaxPCritRate = 500
|
||||
|
@ -350,7 +350,7 @@
|
||||
<value level="1">0</value>
|
||||
<value level="2">0</value>
|
||||
<value level="3">999900</value>
|
||||
<value level="4">999900</value> <!-- Retail value: 0 -->
|
||||
<value level="4">999999</value> <!-- Retail value: 0 -->
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
@ -428,6 +428,15 @@
|
||||
<mode>PER</mode>
|
||||
<magicType>1</magicType>
|
||||
</effect>
|
||||
<effect name="MAtk"> <!-- custom -->
|
||||
<amount>
|
||||
<value level="1">0</value>
|
||||
<value level="2">0</value>
|
||||
<value level="3">999900</value>
|
||||
<value level="4">999999</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="7030" toLevel="1" name="Summon King Bugbear">
|
||||
|
@ -181,6 +181,8 @@ public final class Config
|
||||
public static double MAX_BONUS_EXP;
|
||||
public static double MAX_BONUS_SP;
|
||||
public static int MAX_RUN_SPEED;
|
||||
public static int MAX_PATK;
|
||||
public static int MAX_MATK;
|
||||
public static int MAX_PCRIT_RATE;
|
||||
public static int MAX_MCRIT_RATE;
|
||||
public static int MAX_PATK_SPEED;
|
||||
@ -1446,6 +1448,8 @@ public final class Config
|
||||
MAX_BONUS_EXP = Character.getDouble("MaxExpBonus", 0);
|
||||
MAX_BONUS_SP = Character.getDouble("MaxSpBonus", 0);
|
||||
MAX_RUN_SPEED = Character.getInt("MaxRunSpeed", 300);
|
||||
MAX_PATK = Character.getInt("MaxPAtk", 999999);
|
||||
MAX_MATK = Character.getInt("MaxMAtk", 999999);
|
||||
MAX_PCRIT_RATE = Character.getInt("MaxPCritRate", 500);
|
||||
MAX_MCRIT_RATE = Character.getInt("MaxMCritRate", 200);
|
||||
MAX_PATK_SPEED = Character.getInt("MaxPAtkSpeed", 1500);
|
||||
|
@ -56,7 +56,7 @@ public class MAttackFinalizer implements IStatsFunction
|
||||
final double chaMod = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.;
|
||||
final double intBonus = BaseStats.INT.calcBonus(creature);
|
||||
baseValue *= Math.pow(intBonus, 2) * Math.pow(creature.getLevelMod(), 2) * chaMod;
|
||||
return Stats.defaultValue(creature, stat, baseValue);
|
||||
return Math.min(Stats.defaultValue(creature, stat, baseValue), Config.MAX_MATK);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -55,7 +55,7 @@ public class PAttackFinalizer implements IStatsFunction
|
||||
final double chaBonus = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.;
|
||||
final double strBonus = creature.getSTR() > 0 ? BaseStats.STR.calcBonus(creature) : 1.;
|
||||
baseValue *= strBonus * creature.getLevelMod() * chaBonus;
|
||||
return Stats.defaultValue(creature, stat, baseValue);
|
||||
return Math.min(Stats.defaultValue(creature, stat, baseValue), Config.MAX_PATK);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -223,6 +223,14 @@ MaxSpBonus = 0
|
||||
# Default: 300
|
||||
MaxRunSpeed = 300
|
||||
|
||||
# Maximum character Physical Attack.
|
||||
# Default: 999999
|
||||
MaxPAtk = 999999
|
||||
|
||||
# Maximum character Magic Attack.
|
||||
# Default: 999999
|
||||
MaxMAtk = 999999
|
||||
|
||||
# Maximum character Physical Critical Rate. (10 = 1%)
|
||||
# Default: 500
|
||||
MaxPCritRate = 500
|
||||
|
@ -350,7 +350,7 @@
|
||||
<value level="1">0</value>
|
||||
<value level="2">0</value>
|
||||
<value level="3">999900</value>
|
||||
<value level="4">999900</value> <!-- Retail value: 0 -->
|
||||
<value level="4">999999</value> <!-- Retail value: 0 -->
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
@ -428,6 +428,15 @@
|
||||
<mode>PER</mode>
|
||||
<magicType>1</magicType>
|
||||
</effect>
|
||||
<effect name="MAtk"> <!-- custom -->
|
||||
<amount>
|
||||
<value level="1">0</value>
|
||||
<value level="2">0</value>
|
||||
<value level="3">999900</value>
|
||||
<value level="4">999999</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="7030" toLevel="1" name="Summon King Bugbear">
|
||||
|
@ -181,6 +181,8 @@ public final class Config
|
||||
public static double MAX_BONUS_EXP;
|
||||
public static double MAX_BONUS_SP;
|
||||
public static int MAX_RUN_SPEED;
|
||||
public static int MAX_PATK;
|
||||
public static int MAX_MATK;
|
||||
public static int MAX_PCRIT_RATE;
|
||||
public static int MAX_MCRIT_RATE;
|
||||
public static int MAX_PATK_SPEED;
|
||||
@ -1446,6 +1448,8 @@ public final class Config
|
||||
MAX_BONUS_EXP = Character.getDouble("MaxExpBonus", 0);
|
||||
MAX_BONUS_SP = Character.getDouble("MaxSpBonus", 0);
|
||||
MAX_RUN_SPEED = Character.getInt("MaxRunSpeed", 300);
|
||||
MAX_PATK = Character.getInt("MaxPAtk", 999999);
|
||||
MAX_MATK = Character.getInt("MaxMAtk", 999999);
|
||||
MAX_PCRIT_RATE = Character.getInt("MaxPCritRate", 500);
|
||||
MAX_MCRIT_RATE = Character.getInt("MaxMCritRate", 200);
|
||||
MAX_PATK_SPEED = Character.getInt("MaxPAtkSpeed", 1500);
|
||||
|
@ -56,7 +56,7 @@ public class MAttackFinalizer implements IStatsFunction
|
||||
final double chaMod = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.;
|
||||
final double intBonus = BaseStats.INT.calcBonus(creature);
|
||||
baseValue *= Math.pow(intBonus, 2) * Math.pow(creature.getLevelMod(), 2) * chaMod;
|
||||
return Stats.defaultValue(creature, stat, baseValue);
|
||||
return Math.min(Stats.defaultValue(creature, stat, baseValue), Config.MAX_MATK);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -55,7 +55,7 @@ public class PAttackFinalizer implements IStatsFunction
|
||||
final double chaBonus = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.;
|
||||
final double strBonus = creature.getSTR() > 0 ? BaseStats.STR.calcBonus(creature) : 1.;
|
||||
baseValue *= strBonus * creature.getLevelMod() * chaBonus;
|
||||
return Stats.defaultValue(creature, stat, baseValue);
|
||||
return Math.min(Stats.defaultValue(creature, stat, baseValue), Config.MAX_PATK);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -314,6 +314,14 @@ MaxSpBonus = 3.5
|
||||
# Default: 250
|
||||
MaxRunSpeed = 250
|
||||
|
||||
# Maximum character Physical Attack.
|
||||
# Default: 999999
|
||||
MaxPAtk = 999999
|
||||
|
||||
# Maximum character Magic Attack.
|
||||
# Default: 999999
|
||||
MaxMAtk = 999999
|
||||
|
||||
# Maximum character Physical Critical Rate. (10 = 1%)
|
||||
# Default: 500
|
||||
MaxPCritRate = 500
|
||||
|
@ -262,7 +262,8 @@
|
||||
<!-- GM Skill -->
|
||||
<table name="#amount"> 1 1 1 1 </table>
|
||||
<table name="#mAtkSpd"> 2 3 4 5 </table>
|
||||
<table name="#pAtk"> 2500 5000 7500 10000 </table>
|
||||
<table name="#pAtk"> 250 500 750 1500 </table>
|
||||
<table name="#mAtk"> 250 500 750 1500 </table>
|
||||
<table name="#pAtkSpd"> 2 3 4 5 </table>
|
||||
<table name="#reuse"> 0.01 0.01 0.01 0.01 </table>
|
||||
<table name="#runSpd"> 2 3 4 5 </table>
|
||||
@ -278,6 +279,7 @@
|
||||
<mul stat="runSpd" val="#runSpd" />
|
||||
<mul stat="mAtkSpd" val="#mAtkSpd" />
|
||||
<mul stat="pAtk" val="#pAtk" />
|
||||
<mul stat="mAtk" val="#mAtk" /> <!-- custom -->
|
||||
<mul stat="pReuse" val="#reuse" />
|
||||
<mul stat="mReuse" val="#reuse" />
|
||||
<mul stat="regHp" val="#amount" />
|
||||
|
@ -155,6 +155,8 @@ public final class Config
|
||||
public static double MAX_BONUS_EXP;
|
||||
public static double MAX_BONUS_SP;
|
||||
public static int MAX_RUN_SPEED;
|
||||
public static int MAX_PATK;
|
||||
public static int MAX_MATK;
|
||||
public static int MAX_PCRIT_RATE;
|
||||
public static int MAX_MCRIT_RATE;
|
||||
public static int MAX_PATK_SPEED;
|
||||
@ -1547,6 +1549,8 @@ public final class Config
|
||||
MAX_BONUS_EXP = character.getDouble("MaxExpBonus", 3.5);
|
||||
MAX_BONUS_SP = character.getDouble("MaxSpBonus", 3.5);
|
||||
MAX_RUN_SPEED = character.getInt("MaxRunSpeed", 250);
|
||||
MAX_PATK = character.getInt("MaxPAtk", 999999);
|
||||
MAX_MATK = character.getInt("MaxMAtk", 999999);
|
||||
MAX_PCRIT_RATE = character.getInt("MaxPCritRate", 500);
|
||||
MAX_MCRIT_RATE = character.getInt("MaxMCritRate", 200);
|
||||
MAX_PATK_SPEED = character.getInt("MaxPAtkSpeed", 1500);
|
||||
|
@ -287,7 +287,7 @@ public class CharStat
|
||||
}
|
||||
|
||||
// Calculate modifiers Magic Attack
|
||||
return calcStat(Stats.MAGIC_ATTACK, _activeChar.getTemplate().getBaseMAtk() * bonusAtk, target, skill);
|
||||
return Math.min(calcStat(Stats.MAGIC_ATTACK, _activeChar.getTemplate().getBaseMAtk() * bonusAtk, target, skill), Config.MAX_MATK);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -512,7 +512,7 @@ public class CharStat
|
||||
{
|
||||
bonusAtk *= Config.RAID_PATTACK_MULTIPLIER;
|
||||
}
|
||||
return calcStat(Stats.POWER_ATTACK, _activeChar.getTemplate().getBasePAtk() * bonusAtk, target, null);
|
||||
return Math.min(calcStat(Stats.POWER_ATTACK, _activeChar.getTemplate().getBasePAtk() * bonusAtk, target, null), Config.MAX_PATK);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -227,6 +227,14 @@ MaxSpBonus = 0
|
||||
# Default: 300
|
||||
MaxRunSpeed = 300
|
||||
|
||||
# Maximum character Physical Attack.
|
||||
# Default: 999999
|
||||
MaxPAtk = 999999
|
||||
|
||||
# Maximum character Magic Attack.
|
||||
# Default: 999999
|
||||
MaxMAtk = 999999
|
||||
|
||||
# Maximum character Physical Critical Rate. (10 = 1%)
|
||||
# Default: 500
|
||||
MaxPCritRate = 500
|
||||
|
@ -350,7 +350,7 @@
|
||||
<value level="1">0</value>
|
||||
<value level="2">0</value>
|
||||
<value level="3">999900</value>
|
||||
<value level="4">999900</value> <!-- Retail value: 0 -->
|
||||
<value level="4">999999</value> <!-- Retail value: 0 -->
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
@ -428,6 +428,15 @@
|
||||
<mode>PER</mode>
|
||||
<magicType>1</magicType>
|
||||
</effect>
|
||||
<effect name="MAtk"> <!-- custom -->
|
||||
<amount>
|
||||
<value level="1">0</value>
|
||||
<value level="2">0</value>
|
||||
<value level="3">999900</value>
|
||||
<value level="4">999999</value>
|
||||
</amount>
|
||||
<mode>PER</mode>
|
||||
</effect>
|
||||
</effects>
|
||||
</skill>
|
||||
<skill id="7030" toLevel="1" name="Summon King Bugbear">
|
||||
|
@ -182,6 +182,8 @@ public final class Config
|
||||
public static double MAX_BONUS_EXP;
|
||||
public static double MAX_BONUS_SP;
|
||||
public static int MAX_RUN_SPEED;
|
||||
public static int MAX_PATK;
|
||||
public static int MAX_MATK;
|
||||
public static int MAX_PCRIT_RATE;
|
||||
public static int MAX_MCRIT_RATE;
|
||||
public static int MAX_PATK_SPEED;
|
||||
@ -1448,6 +1450,8 @@ public final class Config
|
||||
MAX_BONUS_EXP = Character.getDouble("MaxExpBonus", 0);
|
||||
MAX_BONUS_SP = Character.getDouble("MaxSpBonus", 0);
|
||||
MAX_RUN_SPEED = Character.getInt("MaxRunSpeed", 300);
|
||||
MAX_PATK = Character.getInt("MaxPAtk", 999999);
|
||||
MAX_MATK = Character.getInt("MaxMAtk", 999999);
|
||||
MAX_PCRIT_RATE = Character.getInt("MaxPCritRate", 500);
|
||||
MAX_MCRIT_RATE = Character.getInt("MaxMCritRate", 200);
|
||||
MAX_PATK_SPEED = Character.getInt("MaxPAtkSpeed", 1500);
|
||||
|
@ -56,7 +56,7 @@ public class MAttackFinalizer implements IStatsFunction
|
||||
final double chaMod = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.;
|
||||
final double intBonus = BaseStats.INT.calcBonus(creature);
|
||||
baseValue *= Math.pow(intBonus, 2) * Math.pow(creature.getLevelMod(), 2) * chaMod;
|
||||
return Stats.defaultValue(creature, stat, baseValue);
|
||||
return Math.min(Stats.defaultValue(creature, stat, baseValue), Config.MAX_MATK);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -55,7 +55,7 @@ public class PAttackFinalizer implements IStatsFunction
|
||||
final double chaBonus = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.;
|
||||
final double strBonus = creature.getSTR() > 0 ? BaseStats.STR.calcBonus(creature) : 1.;
|
||||
baseValue *= strBonus * creature.getLevelMod() * chaBonus;
|
||||
return Stats.defaultValue(creature, stat, baseValue);
|
||||
return Math.min(Stats.defaultValue(creature, stat, baseValue), Config.MAX_PATK);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Loading…
Reference in New Issue
Block a user