Addition of BlowRateChanceLimit configuration.

This commit is contained in:
MobiusDevelopment 2022-08-23 22:25:14 +00:00
parent 8d1ef5edf3
commit e9b5d1101c
75 changed files with 200 additions and 50 deletions

View File

@ -161,6 +161,10 @@ MpVampiricAttackWorkWithMelee = True
# Otherwise target level and (alternatively) attacker level is used.
CalculateMagicSuccessBySkillMagicLevel = True
# Blow rate chance limit (%).
# Default: 80
BlowRateChanceLimit = 80
# ---------------------------------------------------------------------------
# Class, Sub-class and skill learning options

View File

@ -191,6 +191,7 @@ public class Config
public static boolean VAMPIRIC_ATTACK_WORKS_WITH_SKILLS;
public static boolean MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE;
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
public static int BLOW_RATE_CHANCE_LIMIT;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
@ -1710,6 +1711,7 @@ public class Config
VAMPIRIC_ATTACK_WORKS_WITH_SKILLS = characterConfig.getBoolean("VampiricAttackWorkWithSkills", true);
MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE = characterConfig.getBoolean("MpVampiricAttackWorkWithMelee", false);
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", true);
BLOW_RATE_CHANCE_LIMIT = characterConfig.getInt("BlowRateChanceLimit", 80);
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);

View File

@ -1113,8 +1113,8 @@ public class Formulas
final double rate = criticalPosition * critHeightBonus * weaponCritical * chanceBoostMod * blowRateMod * blowRateDefenseMod;
// Blow rate is capped at 80%
return Rnd.get(100) < Math.min(rate, 80);
// Blow rate change is limited (%).
return Rnd.get(100) < Math.min(rate, Config.BLOW_RATE_CHANCE_LIMIT);
}
public static List<BuffInfo> calcCancelStealEffects(Creature creature, Creature target, Skill skill, DispelSlotType slot, int rate, int max)

View File

@ -161,6 +161,10 @@ MpVampiricAttackWorkWithMelee = True
# Otherwise target level and (alternatively) attacker level is used.
CalculateMagicSuccessBySkillMagicLevel = True
# Blow rate chance limit (%).
# Default: 80
BlowRateChanceLimit = 80
# ---------------------------------------------------------------------------
# Class, Sub-class and skill learning options

View File

@ -198,6 +198,7 @@ public class Config
public static boolean VAMPIRIC_ATTACK_WORKS_WITH_SKILLS;
public static boolean MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE;
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
public static int BLOW_RATE_CHANCE_LIMIT;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
@ -1731,6 +1732,7 @@ public class Config
VAMPIRIC_ATTACK_WORKS_WITH_SKILLS = characterConfig.getBoolean("VampiricAttackWorkWithSkills", true);
MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE = characterConfig.getBoolean("MpVampiricAttackWorkWithMelee", false);
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", true);
BLOW_RATE_CHANCE_LIMIT = characterConfig.getInt("BlowRateChanceLimit", 80);
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);

View File

@ -1113,8 +1113,8 @@ public class Formulas
final double rate = criticalPosition * critHeightBonus * weaponCritical * chanceBoostMod * blowRateMod * blowRateDefenseMod;
// Blow rate is capped at 80%
return Rnd.get(100) < Math.min(rate, 80);
// Blow rate change is limited (%).
return Rnd.get(100) < Math.min(rate, Config.BLOW_RATE_CHANCE_LIMIT);
}
public static List<BuffInfo> calcCancelStealEffects(Creature creature, Creature target, Skill skill, DispelSlotType slot, int rate, int max)

View File

@ -161,6 +161,10 @@ MpVampiricAttackWorkWithMelee = True
# Otherwise target level and (alternatively) attacker level is used.
CalculateMagicSuccessBySkillMagicLevel = True
# Blow rate chance limit (%).
# Default: 80
BlowRateChanceLimit = 80
# ---------------------------------------------------------------------------
# Class, Sub-class and skill learning options

View File

@ -198,6 +198,7 @@ public class Config
public static boolean VAMPIRIC_ATTACK_WORKS_WITH_SKILLS;
public static boolean MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE;
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
public static int BLOW_RATE_CHANCE_LIMIT;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
@ -1744,6 +1745,7 @@ public class Config
VAMPIRIC_ATTACK_WORKS_WITH_SKILLS = characterConfig.getBoolean("VampiricAttackWorkWithSkills", true);
MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE = characterConfig.getBoolean("MpVampiricAttackWorkWithMelee", false);
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", true);
BLOW_RATE_CHANCE_LIMIT = characterConfig.getInt("BlowRateChanceLimit", 80);
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);

View File

@ -1113,8 +1113,8 @@ public class Formulas
final double rate = criticalPosition * critHeightBonus * weaponCritical * chanceBoostMod * blowRateMod * blowRateDefenseMod;
// Blow rate is capped at 80%
return Rnd.get(100) < Math.min(rate, 80);
// Blow rate change is limited (%).
return Rnd.get(100) < Math.min(rate, Config.BLOW_RATE_CHANCE_LIMIT);
}
public static List<BuffInfo> calcCancelStealEffects(Creature creature, Creature target, Skill skill, DispelSlotType slot, int rate, int max)

View File

@ -161,6 +161,10 @@ MpVampiricAttackWorkWithMelee = True
# Otherwise target level and (alternatively) attacker level is used.
CalculateMagicSuccessBySkillMagicLevel = True
# Blow rate chance limit (%).
# Default: 80
BlowRateChanceLimit = 80
# ---------------------------------------------------------------------------
# Class, Sub-class and skill learning options

View File

@ -198,6 +198,7 @@ public class Config
public static boolean VAMPIRIC_ATTACK_WORKS_WITH_SKILLS;
public static boolean MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE;
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
public static int BLOW_RATE_CHANCE_LIMIT;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
@ -1731,6 +1732,7 @@ public class Config
VAMPIRIC_ATTACK_WORKS_WITH_SKILLS = characterConfig.getBoolean("VampiricAttackWorkWithSkills", true);
MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE = characterConfig.getBoolean("MpVampiricAttackWorkWithMelee", false);
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", true);
BLOW_RATE_CHANCE_LIMIT = characterConfig.getInt("BlowRateChanceLimit", 80);
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);

View File

@ -1113,8 +1113,8 @@ public class Formulas
final double rate = criticalPosition * critHeightBonus * weaponCritical * chanceBoostMod * blowRateMod * blowRateDefenseMod;
// Blow rate is capped at 80%
return Rnd.get(100) < Math.min(rate, 80);
// Blow rate change is limited (%).
return Rnd.get(100) < Math.min(rate, Config.BLOW_RATE_CHANCE_LIMIT);
}
public static List<BuffInfo> calcCancelStealEffects(Creature creature, Creature target, Skill skill, DispelSlotType slot, int rate, int max)

View File

@ -161,6 +161,10 @@ MpVampiricAttackWorkWithMelee = True
# Otherwise target level and (alternatively) attacker level is used.
CalculateMagicSuccessBySkillMagicLevel = True
# Blow rate chance limit (%).
# Default: 80
BlowRateChanceLimit = 80
# ---------------------------------------------------------------------------
# Class, Sub-class and skill learning options

View File

@ -205,6 +205,7 @@ public class Config
public static boolean VAMPIRIC_ATTACK_WORKS_WITH_SKILLS;
public static boolean MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE;
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
public static int BLOW_RATE_CHANCE_LIMIT;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
@ -1740,6 +1741,7 @@ public class Config
VAMPIRIC_ATTACK_WORKS_WITH_SKILLS = characterConfig.getBoolean("VampiricAttackWorkWithSkills", true);
MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE = characterConfig.getBoolean("MpVampiricAttackWorkWithMelee", false);
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", true);
BLOW_RATE_CHANCE_LIMIT = characterConfig.getInt("BlowRateChanceLimit", 80);
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);

View File

@ -1113,8 +1113,8 @@ public class Formulas
final double rate = criticalPosition * critHeightBonus * weaponCritical * chanceBoostMod * blowRateMod * blowRateDefenseMod;
// Blow rate is capped at 80%
return Rnd.get(100) < Math.min(rate, 80);
// Blow rate change is limited (%).
return Rnd.get(100) < Math.min(rate, Config.BLOW_RATE_CHANCE_LIMIT);
}
public static List<BuffInfo> calcCancelStealEffects(Creature creature, Creature target, Skill skill, DispelSlotType slot, int rate, int max)

View File

@ -161,6 +161,10 @@ MpVampiricAttackWorkWithMelee = True
# Otherwise target level and (alternatively) attacker level is used.
CalculateMagicSuccessBySkillMagicLevel = True
# Blow rate chance limit (%).
# Default: 80
BlowRateChanceLimit = 80
# ---------------------------------------------------------------------------
# Class, Sub-class and skill learning options

View File

@ -205,6 +205,7 @@ public class Config
public static boolean VAMPIRIC_ATTACK_WORKS_WITH_SKILLS;
public static boolean MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE;
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
public static int BLOW_RATE_CHANCE_LIMIT;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
@ -1747,6 +1748,7 @@ public class Config
VAMPIRIC_ATTACK_WORKS_WITH_SKILLS = characterConfig.getBoolean("VampiricAttackWorkWithSkills", true);
MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE = characterConfig.getBoolean("MpVampiricAttackWorkWithMelee", false);
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", true);
BLOW_RATE_CHANCE_LIMIT = characterConfig.getInt("BlowRateChanceLimit", 80);
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);

View File

@ -1113,8 +1113,8 @@ public class Formulas
final double rate = criticalPosition * critHeightBonus * weaponCritical * chanceBoostMod * blowRateMod * blowRateDefenseMod;
// Blow rate is capped at 80%
return Rnd.get(100) < Math.min(rate, 80);
// Blow rate change is limited (%).
return Rnd.get(100) < Math.min(rate, Config.BLOW_RATE_CHANCE_LIMIT);
}
public static List<BuffInfo> calcCancelStealEffects(Creature creature, Creature target, Skill skill, DispelSlotType slot, int rate, int max)

View File

@ -165,6 +165,10 @@ MpVampiricAttackWorkWithMelee = True
# Otherwise target level and (alternatively) attacker level is used.
CalculateMagicSuccessBySkillMagicLevel = True
# Blow rate chance limit (%).
# Default: 80
BlowRateChanceLimit = 80
# ---------------------------------------------------------------------------
# Class, Sub-class and skill learning options

View File

@ -206,6 +206,7 @@ public class Config
public static boolean VAMPIRIC_ATTACK_WORKS_WITH_SKILLS;
public static boolean MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE;
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
public static int BLOW_RATE_CHANCE_LIMIT;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
@ -1782,6 +1783,7 @@ public class Config
VAMPIRIC_ATTACK_WORKS_WITH_SKILLS = characterConfig.getBoolean("VampiricAttackWorkWithSkills", true);
MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE = characterConfig.getBoolean("MpVampiricAttackWorkWithMelee", false);
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", true);
BLOW_RATE_CHANCE_LIMIT = characterConfig.getInt("BlowRateChanceLimit", 80);
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);

View File

@ -1113,8 +1113,8 @@ public class Formulas
final double rate = criticalPosition * critHeightBonus * weaponCritical * chanceBoostMod * blowRateMod * blowRateDefenseMod;
// Blow rate is capped at 80%
return Rnd.get(100) < Math.min(rate, 80);
// Blow rate change is limited (%).
return Rnd.get(100) < Math.min(rate, Config.BLOW_RATE_CHANCE_LIMIT);
}
public static List<BuffInfo> calcCancelStealEffects(Creature creature, Creature target, Skill skill, DispelSlotType slot, int rate, int max)

View File

@ -165,6 +165,10 @@ MpVampiricAttackWorkWithMelee = True
# Otherwise target level and (alternatively) attacker level is used.
CalculateMagicSuccessBySkillMagicLevel = True
# Blow rate chance limit (%).
# Default: 80
BlowRateChanceLimit = 80
# ---------------------------------------------------------------------------
# Class, Sub-class and skill learning options

View File

@ -206,6 +206,7 @@ public class Config
public static boolean VAMPIRIC_ATTACK_WORKS_WITH_SKILLS;
public static boolean MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE;
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
public static int BLOW_RATE_CHANCE_LIMIT;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
@ -1790,6 +1791,7 @@ public class Config
VAMPIRIC_ATTACK_WORKS_WITH_SKILLS = characterConfig.getBoolean("VampiricAttackWorkWithSkills", true);
MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE = characterConfig.getBoolean("MpVampiricAttackWorkWithMelee", false);
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", true);
BLOW_RATE_CHANCE_LIMIT = characterConfig.getInt("BlowRateChanceLimit", 80);
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);

View File

@ -1113,8 +1113,8 @@ public class Formulas
final double rate = criticalPosition * critHeightBonus * weaponCritical * chanceBoostMod * blowRateMod * blowRateDefenseMod;
// Blow rate is capped at 80%
return Rnd.get(100) < Math.min(rate, 80);
// Blow rate change is limited (%).
return Rnd.get(100) < Math.min(rate, Config.BLOW_RATE_CHANCE_LIMIT);
}
public static List<BuffInfo> calcCancelStealEffects(Creature creature, Creature target, Skill skill, DispelSlotType slot, int rate, int max)

View File

@ -165,6 +165,10 @@ MpVampiricAttackWorkWithMelee = True
# Otherwise target level and (alternatively) attacker level is used.
CalculateMagicSuccessBySkillMagicLevel = False
# Blow rate chance limit (%).
# Default: 80
BlowRateChanceLimit = 80
# ---------------------------------------------------------------------------
# Class, Sub-class and skill learning options

View File

@ -199,6 +199,7 @@ public class Config
public static boolean VAMPIRIC_ATTACK_WORKS_WITH_SKILLS;
public static boolean MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE;
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
public static int BLOW_RATE_CHANCE_LIMIT;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
@ -1764,6 +1765,7 @@ public class Config
VAMPIRIC_ATTACK_WORKS_WITH_SKILLS = characterConfig.getBoolean("VampiricAttackWorkWithSkills", true);
MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE = characterConfig.getBoolean("MpVampiricAttackWorkWithMelee", false);
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", false);
BLOW_RATE_CHANCE_LIMIT = characterConfig.getInt("BlowRateChanceLimit", 80);
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);

View File

@ -1113,8 +1113,8 @@ public class Formulas
final double rate = criticalPosition * critHeightBonus * weaponCritical * chanceBoostMod * blowRateMod * blowRateDefenseMod;
// Blow rate is capped at 80%
return Rnd.get(100) < Math.min(rate, 80);
// Blow rate change is limited (%).
return Rnd.get(100) < Math.min(rate, Config.BLOW_RATE_CHANCE_LIMIT);
}
public static List<BuffInfo> calcCancelStealEffects(Creature creature, Creature target, Skill skill, DispelSlotType slot, int rate, int max)

View File

@ -165,6 +165,10 @@ MpVampiricAttackWorkWithMelee = True
# Otherwise target level and (alternatively) attacker level is used.
CalculateMagicSuccessBySkillMagicLevel = False
# Blow rate chance limit (%).
# Default: 80
BlowRateChanceLimit = 80
# ---------------------------------------------------------------------------
# Class, Sub-class and skill learning options

View File

@ -199,6 +199,7 @@ public class Config
public static boolean VAMPIRIC_ATTACK_WORKS_WITH_SKILLS;
public static boolean MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE;
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
public static int BLOW_RATE_CHANCE_LIMIT;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
@ -1766,6 +1767,7 @@ public class Config
VAMPIRIC_ATTACK_WORKS_WITH_SKILLS = characterConfig.getBoolean("VampiricAttackWorkWithSkills", true);
MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE = characterConfig.getBoolean("MpVampiricAttackWorkWithMelee", false);
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", false);
BLOW_RATE_CHANCE_LIMIT = characterConfig.getInt("BlowRateChanceLimit", 80);
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);

View File

@ -1113,8 +1113,8 @@ public class Formulas
final double rate = criticalPosition * critHeightBonus * weaponCritical * chanceBoostMod * blowRateMod * blowRateDefenseMod;
// Blow rate is capped at 80%
return Rnd.get(100) < Math.min(rate, 80);
// Blow rate change is limited (%).
return Rnd.get(100) < Math.min(rate, Config.BLOW_RATE_CHANCE_LIMIT);
}
public static List<BuffInfo> calcCancelStealEffects(Creature creature, Creature target, Skill skill, DispelSlotType slot, int rate, int max)

View File

@ -165,6 +165,10 @@ MpVampiricAttackWorkWithMelee = True
# Otherwise target level and (alternatively) attacker level is used.
CalculateMagicSuccessBySkillMagicLevel = False
# Blow rate chance limit (%).
# Default: 80
BlowRateChanceLimit = 80
# ---------------------------------------------------------------------------
# Class, Sub-class and skill learning options

View File

@ -199,6 +199,7 @@ public class Config
public static boolean VAMPIRIC_ATTACK_WORKS_WITH_SKILLS;
public static boolean MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE;
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
public static int BLOW_RATE_CHANCE_LIMIT;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
@ -1766,6 +1767,7 @@ public class Config
VAMPIRIC_ATTACK_WORKS_WITH_SKILLS = characterConfig.getBoolean("VampiricAttackWorkWithSkills", true);
MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE = characterConfig.getBoolean("MpVampiricAttackWorkWithMelee", false);
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", false);
BLOW_RATE_CHANCE_LIMIT = characterConfig.getInt("BlowRateChanceLimit", 80);
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);

View File

@ -1113,8 +1113,8 @@ public class Formulas
final double rate = criticalPosition * critHeightBonus * weaponCritical * chanceBoostMod * blowRateMod * blowRateDefenseMod;
// Blow rate is capped at 80%
return Rnd.get(100) < Math.min(rate, 80);
// Blow rate change is limited (%).
return Rnd.get(100) < Math.min(rate, Config.BLOW_RATE_CHANCE_LIMIT);
}
public static List<BuffInfo> calcCancelStealEffects(Creature creature, Creature target, Skill skill, DispelSlotType slot, int rate, int max)

View File

@ -165,6 +165,10 @@ MpVampiricAttackWorkWithMelee = True
# Otherwise target level and (alternatively) attacker level is used.
CalculateMagicSuccessBySkillMagicLevel = False
# Blow rate chance limit (%).
# Default: 80
BlowRateChanceLimit = 80
# ---------------------------------------------------------------------------
# Class, Sub-class and skill learning options

View File

@ -199,6 +199,7 @@ public class Config
public static boolean VAMPIRIC_ATTACK_WORKS_WITH_SKILLS;
public static boolean MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE;
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
public static int BLOW_RATE_CHANCE_LIMIT;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
@ -1766,6 +1767,7 @@ public class Config
VAMPIRIC_ATTACK_WORKS_WITH_SKILLS = characterConfig.getBoolean("VampiricAttackWorkWithSkills", true);
MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE = characterConfig.getBoolean("MpVampiricAttackWorkWithMelee", false);
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", false);
BLOW_RATE_CHANCE_LIMIT = characterConfig.getInt("BlowRateChanceLimit", 80);
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);

View File

@ -1119,8 +1119,8 @@ public class Formulas
final double rate = criticalPosition * critHeightBonus * weaponCritical * chanceBoostMod * blowRateMod * blowRateDefenseMod;
// Blow rate is capped at 80%
return Rnd.get(100) < Math.min(rate, 80);
// Blow rate change is limited (%).
return Rnd.get(100) < Math.min(rate, Config.BLOW_RATE_CHANCE_LIMIT);
}
public static List<BuffInfo> calcCancelStealEffects(Creature creature, Creature target, Skill skill, DispelSlotType slot, int rate, int max)

View File

@ -154,6 +154,10 @@ MpVampiricAttackWorkWithMelee = False
# Otherwise target level and (alternatively) attacker level is used.
CalculateMagicSuccessBySkillMagicLevel = True
# Blow rate chance limit (%).
# Default: 100
BlowRateChanceLimit = 100
# ---------------------------------------------------------------------------
# Class, Sub-class and skill learning options

View File

@ -190,6 +190,7 @@ public class Config
public static boolean VAMPIRIC_ATTACK_WORKS_WITH_SKILLS;
public static boolean MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE;
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
public static int BLOW_RATE_CHANCE_LIMIT;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
@ -1671,6 +1672,7 @@ public class Config
VAMPIRIC_ATTACK_WORKS_WITH_SKILLS = characterConfig.getBoolean("VampiricAttackWorkWithSkills", true);
MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE = characterConfig.getBoolean("MpVampiricAttackWorkWithMelee", false);
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", true);
BLOW_RATE_CHANCE_LIMIT = characterConfig.getInt("BlowRateChanceLimit", 80);
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);

View File

@ -1113,8 +1113,8 @@ public class Formulas
final double rate = criticalPosition * critHeightBonus * weaponCritical * chanceBoostMod * blowRateMod * blowRateDefenseMod;
// Blow rate is capped at 80%
return Rnd.get(100) < Math.min(rate, 80);
// Blow rate change is limited (%).
return Rnd.get(100) < Math.min(rate, Config.BLOW_RATE_CHANCE_LIMIT);
}
public static List<BuffInfo> calcCancelStealEffects(Creature creature, Creature target, Skill skill, DispelSlotType slot, int rate, int max)

View File

@ -154,6 +154,10 @@ MpVampiricAttackWorkWithMelee = False
# Otherwise target level and (alternatively) attacker level is used.
CalculateMagicSuccessBySkillMagicLevel = True
# Blow rate chance limit (%).
# Default: 100
BlowRateChanceLimit = 100
# ---------------------------------------------------------------------------
# Class, Sub-class and skill learning options

View File

@ -199,6 +199,7 @@ public class Config
public static boolean VAMPIRIC_ATTACK_WORKS_WITH_SKILLS;
public static boolean MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE;
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
public static int BLOW_RATE_CHANCE_LIMIT;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
@ -1699,6 +1700,7 @@ public class Config
VAMPIRIC_ATTACK_WORKS_WITH_SKILLS = characterConfig.getBoolean("VampiricAttackWorkWithSkills", true);
MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE = characterConfig.getBoolean("MpVampiricAttackWorkWithMelee", false);
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", true);
BLOW_RATE_CHANCE_LIMIT = characterConfig.getInt("BlowRateChanceLimit", 80);
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);

View File

@ -1113,8 +1113,8 @@ public class Formulas
final double rate = criticalPosition * critHeightBonus * weaponCritical * chanceBoostMod * blowRateMod * blowRateDefenseMod;
// Blow rate is capped at 80%
return Rnd.get(100) < Math.min(rate, 80);
// Blow rate change is limited (%).
return Rnd.get(100) < Math.min(rate, Config.BLOW_RATE_CHANCE_LIMIT);
}
public static List<BuffInfo> calcCancelStealEffects(Creature creature, Creature target, Skill skill, DispelSlotType slot, int rate, int max)

View File

@ -154,6 +154,10 @@ MpVampiricAttackWorkWithMelee = False
# Otherwise target level and (alternatively) attacker level is used.
CalculateMagicSuccessBySkillMagicLevel = True
# Blow rate chance limit (%).
# Default: 100
BlowRateChanceLimit = 100
# ---------------------------------------------------------------------------
# Class, Sub-class and skill learning options

View File

@ -199,6 +199,7 @@ public class Config
public static boolean VAMPIRIC_ATTACK_WORKS_WITH_SKILLS;
public static boolean MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE;
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
public static int BLOW_RATE_CHANCE_LIMIT;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
@ -1698,6 +1699,7 @@ public class Config
VAMPIRIC_ATTACK_WORKS_WITH_SKILLS = characterConfig.getBoolean("VampiricAttackWorkWithSkills", true);
MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE = characterConfig.getBoolean("MpVampiricAttackWorkWithMelee", false);
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", true);
BLOW_RATE_CHANCE_LIMIT = characterConfig.getInt("BlowRateChanceLimit", 80);
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);

View File

@ -1113,8 +1113,8 @@ public class Formulas
final double rate = criticalPosition * critHeightBonus * weaponCritical * chanceBoostMod * blowRateMod * blowRateDefenseMod;
// Blow rate is capped at 80%
return Rnd.get(100) < Math.min(rate, 80);
// Blow rate change is limited (%).
return Rnd.get(100) < Math.min(rate, Config.BLOW_RATE_CHANCE_LIMIT);
}
public static List<BuffInfo> calcCancelStealEffects(Creature creature, Creature target, Skill skill, DispelSlotType slot, int rate, int max)

View File

@ -154,6 +154,10 @@ MpVampiricAttackWorkWithMelee = False
# Otherwise target level and (alternatively) attacker level is used.
CalculateMagicSuccessBySkillMagicLevel = True
# Blow rate chance limit (%).
# Default: 100
BlowRateChanceLimit = 100
# ---------------------------------------------------------------------------
# Class, Sub-class and skill learning options

View File

@ -199,6 +199,7 @@ public class Config
public static boolean VAMPIRIC_ATTACK_WORKS_WITH_SKILLS;
public static boolean MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE;
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
public static int BLOW_RATE_CHANCE_LIMIT;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
@ -1702,6 +1703,7 @@ public class Config
VAMPIRIC_ATTACK_WORKS_WITH_SKILLS = characterConfig.getBoolean("VampiricAttackWorkWithSkills", true);
MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE = characterConfig.getBoolean("MpVampiricAttackWorkWithMelee", false);
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", true);
BLOW_RATE_CHANCE_LIMIT = characterConfig.getInt("BlowRateChanceLimit", 80);
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);

View File

@ -1113,8 +1113,8 @@ public class Formulas
final double rate = criticalPosition * critHeightBonus * weaponCritical * chanceBoostMod * blowRateMod * blowRateDefenseMod;
// Blow rate is capped at 80%
return Rnd.get(100) < Math.min(rate, 80);
// Blow rate change is limited (%).
return Rnd.get(100) < Math.min(rate, Config.BLOW_RATE_CHANCE_LIMIT);
}
public static List<BuffInfo> calcCancelStealEffects(Creature creature, Creature target, Skill skill, DispelSlotType slot, int rate, int max)

View File

@ -154,6 +154,10 @@ MpVampiricAttackWorkWithMelee = False
# Otherwise target level and (alternatively) attacker level is used.
CalculateMagicSuccessBySkillMagicLevel = True
# Blow rate chance limit (%).
# Default: 100
BlowRateChanceLimit = 100
# ---------------------------------------------------------------------------
# Class, Sub-class and skill learning options

View File

@ -199,6 +199,7 @@ public class Config
public static boolean VAMPIRIC_ATTACK_WORKS_WITH_SKILLS;
public static boolean MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE;
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
public static int BLOW_RATE_CHANCE_LIMIT;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
@ -1702,6 +1703,7 @@ public class Config
VAMPIRIC_ATTACK_WORKS_WITH_SKILLS = characterConfig.getBoolean("VampiricAttackWorkWithSkills", true);
MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE = characterConfig.getBoolean("MpVampiricAttackWorkWithMelee", false);
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", true);
BLOW_RATE_CHANCE_LIMIT = characterConfig.getInt("BlowRateChanceLimit", 80);
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);

View File

@ -1113,8 +1113,8 @@ public class Formulas
final double rate = criticalPosition * critHeightBonus * weaponCritical * chanceBoostMod * blowRateMod * blowRateDefenseMod;
// Blow rate is capped at 80%
return Rnd.get(100) < Math.min(rate, 80);
// Blow rate change is limited (%).
return Rnd.get(100) < Math.min(rate, Config.BLOW_RATE_CHANCE_LIMIT);
}
public static List<BuffInfo> calcCancelStealEffects(Creature creature, Creature target, Skill skill, DispelSlotType slot, int rate, int max)

View File

@ -154,6 +154,10 @@ MpVampiricAttackWorkWithMelee = False
# Otherwise target level and (alternatively) attacker level is used.
CalculateMagicSuccessBySkillMagicLevel = True
# Blow rate chance limit (%).
# Default: 100
BlowRateChanceLimit = 100
# ---------------------------------------------------------------------------
# Class, Sub-class and skill learning options

View File

@ -199,6 +199,7 @@ public class Config
public static boolean VAMPIRIC_ATTACK_WORKS_WITH_SKILLS;
public static boolean MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE;
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
public static int BLOW_RATE_CHANCE_LIMIT;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
@ -1702,6 +1703,7 @@ public class Config
VAMPIRIC_ATTACK_WORKS_WITH_SKILLS = characterConfig.getBoolean("VampiricAttackWorkWithSkills", true);
MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE = characterConfig.getBoolean("MpVampiricAttackWorkWithMelee", false);
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", true);
BLOW_RATE_CHANCE_LIMIT = characterConfig.getInt("BlowRateChanceLimit", 80);
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);

View File

@ -1114,8 +1114,8 @@ public class Formulas
final double rate = criticalPosition * critHeightBonus * weaponCritical * chanceBoostMod * blowRateMod * blowRateDefenseMod;
// Blow rate is capped at 80%
return Rnd.get(100) < Math.min(rate, 80);
// Blow rate change is limited (%).
return Rnd.get(100) < Math.min(rate, Config.BLOW_RATE_CHANCE_LIMIT);
}
public static List<BuffInfo> calcCancelStealEffects(Creature creature, Creature target, Skill skill, DispelSlotType slot, int rate, int max)

View File

@ -154,6 +154,10 @@ MpVampiricAttackWorkWithMelee = False
# Otherwise target level and (alternatively) attacker level is used.
CalculateMagicSuccessBySkillMagicLevel = True
# Blow rate chance limit (%).
# Default: 100
BlowRateChanceLimit = 100
# ---------------------------------------------------------------------------
# Class, Sub-class and skill learning options

View File

@ -199,6 +199,7 @@ public class Config
public static boolean VAMPIRIC_ATTACK_WORKS_WITH_SKILLS;
public static boolean MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE;
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
public static int BLOW_RATE_CHANCE_LIMIT;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
@ -1707,6 +1708,7 @@ public class Config
VAMPIRIC_ATTACK_WORKS_WITH_SKILLS = characterConfig.getBoolean("VampiricAttackWorkWithSkills", true);
MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE = characterConfig.getBoolean("MpVampiricAttackWorkWithMelee", false);
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", true);
BLOW_RATE_CHANCE_LIMIT = characterConfig.getInt("BlowRateChanceLimit", 80);
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);

View File

@ -1114,8 +1114,8 @@ public class Formulas
final double rate = criticalPosition * critHeightBonus * weaponCritical * chanceBoostMod * blowRateMod * blowRateDefenseMod;
// Blow rate is capped at 80%
return Rnd.get(100) < Math.min(rate, 80);
// Blow rate change is limited (%).
return Rnd.get(100) < Math.min(rate, Config.BLOW_RATE_CHANCE_LIMIT);
}
public static List<BuffInfo> calcCancelStealEffects(Creature creature, Creature target, Skill skill, DispelSlotType slot, int rate, int max)

View File

@ -154,6 +154,10 @@ MpVampiricAttackWorkWithMelee = False
# Otherwise target level and (alternatively) attacker level is used.
CalculateMagicSuccessBySkillMagicLevel = True
# Blow rate chance limit (%).
# Default: 100
BlowRateChanceLimit = 100
# ---------------------------------------------------------------------------
# Class, Sub-class and skill learning options

View File

@ -199,6 +199,7 @@ public class Config
public static boolean VAMPIRIC_ATTACK_WORKS_WITH_SKILLS;
public static boolean MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE;
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
public static int BLOW_RATE_CHANCE_LIMIT;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
@ -1713,6 +1714,7 @@ public class Config
VAMPIRIC_ATTACK_WORKS_WITH_SKILLS = characterConfig.getBoolean("VampiricAttackWorkWithSkills", true);
MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE = characterConfig.getBoolean("MpVampiricAttackWorkWithMelee", false);
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", true);
BLOW_RATE_CHANCE_LIMIT = characterConfig.getInt("BlowRateChanceLimit", 80);
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);

View File

@ -1114,8 +1114,8 @@ public class Formulas
final double rate = criticalPosition * critHeightBonus * weaponCritical * chanceBoostMod * blowRateMod * blowRateDefenseMod;
// Blow rate is capped at 80%
return Rnd.get(100) < Math.min(rate, 80);
// Blow rate change is limited (%).
return Rnd.get(100) < Math.min(rate, Config.BLOW_RATE_CHANCE_LIMIT);
}
public static List<BuffInfo> calcCancelStealEffects(Creature creature, Creature target, Skill skill, DispelSlotType slot, int rate, int max)

View File

@ -154,6 +154,10 @@ MpVampiricAttackWorkWithMelee = False
# Otherwise target level and (alternatively) attacker level is used.
CalculateMagicSuccessBySkillMagicLevel = True
# Blow rate chance limit (%).
# Default: 100
BlowRateChanceLimit = 100
# ---------------------------------------------------------------------------
# Class, Sub-class and skill learning options

View File

@ -198,6 +198,7 @@ public class Config
public static boolean VAMPIRIC_ATTACK_WORKS_WITH_SKILLS;
public static boolean MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE;
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
public static int BLOW_RATE_CHANCE_LIMIT;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
@ -1705,6 +1706,7 @@ public class Config
VAMPIRIC_ATTACK_WORKS_WITH_SKILLS = characterConfig.getBoolean("VampiricAttackWorkWithSkills", true);
MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE = characterConfig.getBoolean("MpVampiricAttackWorkWithMelee", false);
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", true);
BLOW_RATE_CHANCE_LIMIT = characterConfig.getInt("BlowRateChanceLimit", 80);
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);

View File

@ -1113,8 +1113,8 @@ public class Formulas
final double rate = criticalPosition * critHeightBonus * weaponCritical * chanceBoostMod * blowRateMod * blowRateDefenseMod;
// Blow rate is capped at 80%
return Rnd.get(100) < Math.min(rate, 80);
// Blow rate change is limited (%).
return Rnd.get(100) < Math.min(rate, Config.BLOW_RATE_CHANCE_LIMIT);
}
public static List<BuffInfo> calcCancelStealEffects(Creature creature, Creature target, Skill skill, DispelSlotType slot, int rate, int max)

View File

@ -154,6 +154,10 @@ MpVampiricAttackWorkWithMelee = False
# Otherwise target level and (alternatively) attacker level is used.
CalculateMagicSuccessBySkillMagicLevel = False
# Blow rate chance limit (%).
# Default: 100
BlowRateChanceLimit = 100
# ---------------------------------------------------------------------------
# Class, Sub-class and skill learning options

View File

@ -201,6 +201,7 @@ public class Config
public static boolean VAMPIRIC_ATTACK_WORKS_WITH_SKILLS;
public static boolean MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE;
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
public static int BLOW_RATE_CHANCE_LIMIT;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
@ -1735,6 +1736,7 @@ public class Config
VAMPIRIC_ATTACK_WORKS_WITH_SKILLS = characterConfig.getBoolean("VampiricAttackWorkWithSkills", true);
MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE = characterConfig.getBoolean("MpVampiricAttackWorkWithMelee", false);
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", false);
BLOW_RATE_CHANCE_LIMIT = characterConfig.getInt("BlowRateChanceLimit", 100);
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);

View File

@ -1114,8 +1114,8 @@ public class Formulas
final double rate = criticalPosition * critHeightBonus * weaponCritical * chanceBoostMod * blowRateMod * blowRateDefenseMod;
// Blow rate is capped at 80%
return Rnd.get(100) < Math.min(rate, 80);
// Blow rate change is limited (%).
return Rnd.get(100) < Math.min(rate, Config.BLOW_RATE_CHANCE_LIMIT);
}
public static List<BuffInfo> calcCancelStealEffects(Creature creature, Creature target, Skill skill, DispelSlotType slot, int rate, int max)

View File

@ -222,6 +222,10 @@ MpVampiricAttackWorkWithMelee = False
# Otherwise target level and (alternatively) attacker level is used.
CalculateMagicSuccessBySkillMagicLevel = False
# Blow rate chance limit (%).
# Default: 100
BlowRateChanceLimit = 100
# ---------------------------------------------------------------------------
# Class, Sub-class and skill learning options

View File

@ -203,6 +203,7 @@ public class Config
public static boolean VAMPIRIC_ATTACK_WORKS_WITH_SKILLS;
public static boolean MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE;
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
public static int BLOW_RATE_CHANCE_LIMIT;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
@ -1834,6 +1835,7 @@ public class Config
VAMPIRIC_ATTACK_WORKS_WITH_SKILLS = characterConfig.getBoolean("VampiricAttackWorkWithSkills", true);
MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE = characterConfig.getBoolean("MpVampiricAttackWorkWithMelee", false);
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", false);
BLOW_RATE_CHANCE_LIMIT = characterConfig.getInt("BlowRateChanceLimit", 100);
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);

View File

@ -1114,8 +1114,8 @@ public class Formulas
final double rate = criticalPosition * critHeightBonus * weaponCritical * chanceBoostMod * blowRateMod * blowRateDefenseMod;
// Blow rate is capped at 80%
return Rnd.get(100) < Math.min(rate, 80);
// Blow rate change is limited (%).
return Rnd.get(100) < Math.min(rate, Config.BLOW_RATE_CHANCE_LIMIT);
}
public static List<BuffInfo> calcCancelStealEffects(Creature creature, Creature target, Skill skill, DispelSlotType slot, int rate, int max)

View File

@ -222,6 +222,10 @@ MpVampiricAttackWorkWithMelee = False
# Otherwise target level and (alternatively) attacker level is used.
CalculateMagicSuccessBySkillMagicLevel = False
# Blow rate chance limit (%).
# Default: 100
BlowRateChanceLimit = 100
# ---------------------------------------------------------------------------
# Class, Sub-class and skill learning options

View File

@ -204,6 +204,7 @@ public class Config
public static boolean VAMPIRIC_ATTACK_WORKS_WITH_SKILLS;
public static boolean MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE;
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
public static int BLOW_RATE_CHANCE_LIMIT;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
@ -1841,6 +1842,7 @@ public class Config
VAMPIRIC_ATTACK_WORKS_WITH_SKILLS = characterConfig.getBoolean("VampiricAttackWorkWithSkills", true);
MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE = characterConfig.getBoolean("MpVampiricAttackWorkWithMelee", false);
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", false);
BLOW_RATE_CHANCE_LIMIT = characterConfig.getInt("BlowRateChanceLimit", 100);
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);

View File

@ -1114,8 +1114,8 @@ public class Formulas
final double rate = criticalPosition * critHeightBonus * weaponCritical * chanceBoostMod * blowRateMod * blowRateDefenseMod;
// Blow rate is capped at 80%
return Rnd.get(100) < Math.min(rate, 80);
// Blow rate change is limited (%).
return Rnd.get(100) < Math.min(rate, Config.BLOW_RATE_CHANCE_LIMIT);
}
public static List<BuffInfo> calcCancelStealEffects(Creature creature, Creature target, Skill skill, DispelSlotType slot, int rate, int max)

View File

@ -222,6 +222,10 @@ MpVampiricAttackWorkWithMelee = False
# Otherwise target level and (alternatively) attacker level is used.
CalculateMagicSuccessBySkillMagicLevel = False
# Blow rate chance limit (%).
# Default: 100
BlowRateChanceLimit = 100
# ---------------------------------------------------------------------------
# Class, Sub-class and skill learning options

View File

@ -204,6 +204,7 @@ public class Config
public static boolean VAMPIRIC_ATTACK_WORKS_WITH_SKILLS;
public static boolean MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE;
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
public static int BLOW_RATE_CHANCE_LIMIT;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
@ -1841,6 +1842,7 @@ public class Config
VAMPIRIC_ATTACK_WORKS_WITH_SKILLS = characterConfig.getBoolean("VampiricAttackWorkWithSkills", true);
MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE = characterConfig.getBoolean("MpVampiricAttackWorkWithMelee", false);
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", false);
BLOW_RATE_CHANCE_LIMIT = characterConfig.getInt("BlowRateChanceLimit", 100);
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);

View File

@ -1120,8 +1120,8 @@ public class Formulas
final double rate = criticalPosition * critHeightBonus * weaponCritical * chanceBoostMod * blowRateMod * blowRateDefenseMod;
// Blow rate is capped at 80%
return Rnd.get(100) < Math.min(rate, 80);
// Blow rate change is limited (%).
return Rnd.get(100) < Math.min(rate, Config.BLOW_RATE_CHANCE_LIMIT);
}
public static List<BuffInfo> calcCancelStealEffects(Creature creature, Creature target, Skill skill, DispelSlotType slot, int rate, int max)