Calculate magic success by target level and skill magic level configuration.
This commit is contained in:
parent
c286ac8a4b
commit
0b80d2b80a
@ -157,6 +157,10 @@ VampiricAttackWorkWithSkills = True
|
||||
# MP vampiric attacks work with melee.
|
||||
MpVampiricAttackWorkWithMelee = True
|
||||
|
||||
# Calculate magic success by target level and skill magic level (when available).
|
||||
# Otherwise target level and (alternatively) attacker level is used.
|
||||
CalculateMagicSuccessBySkillMagicLevel = True
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
@ -189,6 +189,7 @@ public class Config
|
||||
public static boolean FAKE_DEATH_DAMAGE_STAND;
|
||||
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 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
|
||||
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", false);
|
||||
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);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
@ -806,7 +806,7 @@ public class Formulas
|
||||
int mAccModifier = 1;
|
||||
if (attacker.isAttackable() || target.isAttackable())
|
||||
{
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (skill.getMagicLevel() > 0 ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (Config.CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL && (skill.getMagicLevel() > 0) ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
|
||||
if ((attacker.getActingPlayer() != null) && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LEVEL_MAGIC_PENALTY) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
||||
{
|
||||
|
@ -157,6 +157,10 @@ VampiricAttackWorkWithSkills = True
|
||||
# MP vampiric attacks work with melee.
|
||||
MpVampiricAttackWorkWithMelee = True
|
||||
|
||||
# Calculate magic success by target level and skill magic level (when available).
|
||||
# Otherwise target level and (alternatively) attacker level is used.
|
||||
CalculateMagicSuccessBySkillMagicLevel = True
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
@ -196,6 +196,7 @@ public class Config
|
||||
public static boolean FAKE_DEATH_DAMAGE_STAND;
|
||||
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 boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@ -1725,6 +1726,7 @@ public class Config
|
||||
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", false);
|
||||
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);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
@ -806,7 +806,7 @@ public class Formulas
|
||||
int mAccModifier = 1;
|
||||
if (attacker.isAttackable() || target.isAttackable())
|
||||
{
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (skill.getMagicLevel() > 0 ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (Config.CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL && (skill.getMagicLevel() > 0) ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
|
||||
if ((attacker.getActingPlayer() != null) && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LEVEL_MAGIC_PENALTY) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
||||
{
|
||||
|
@ -157,6 +157,10 @@ VampiricAttackWorkWithSkills = True
|
||||
# MP vampiric attacks work with melee.
|
||||
MpVampiricAttackWorkWithMelee = True
|
||||
|
||||
# Calculate magic success by target level and skill magic level (when available).
|
||||
# Otherwise target level and (alternatively) attacker level is used.
|
||||
CalculateMagicSuccessBySkillMagicLevel = True
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
@ -196,6 +196,7 @@ public class Config
|
||||
public static boolean FAKE_DEATH_DAMAGE_STAND;
|
||||
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 boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@ -1738,6 +1739,7 @@ public class Config
|
||||
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", false);
|
||||
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);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
@ -806,7 +806,7 @@ public class Formulas
|
||||
int mAccModifier = 1;
|
||||
if (attacker.isAttackable() || target.isAttackable())
|
||||
{
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (skill.getMagicLevel() > 0 ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (Config.CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL && (skill.getMagicLevel() > 0) ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
|
||||
if ((attacker.getActingPlayer() != null) && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LEVEL_MAGIC_PENALTY) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
||||
{
|
||||
|
@ -157,6 +157,10 @@ VampiricAttackWorkWithSkills = True
|
||||
# MP vampiric attacks work with melee.
|
||||
MpVampiricAttackWorkWithMelee = True
|
||||
|
||||
# Calculate magic success by target level and skill magic level (when available).
|
||||
# Otherwise target level and (alternatively) attacker level is used.
|
||||
CalculateMagicSuccessBySkillMagicLevel = True
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
@ -196,6 +196,7 @@ public class Config
|
||||
public static boolean FAKE_DEATH_DAMAGE_STAND;
|
||||
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 boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@ -1725,6 +1726,7 @@ public class Config
|
||||
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", false);
|
||||
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);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
@ -806,7 +806,7 @@ public class Formulas
|
||||
int mAccModifier = 1;
|
||||
if (attacker.isAttackable() || target.isAttackable())
|
||||
{
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (skill.getMagicLevel() > 0 ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (Config.CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL && (skill.getMagicLevel() > 0) ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
|
||||
if ((attacker.getActingPlayer() != null) && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LEVEL_MAGIC_PENALTY) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
||||
{
|
||||
|
@ -157,6 +157,10 @@ VampiricAttackWorkWithSkills = True
|
||||
# MP vampiric attacks work with melee.
|
||||
MpVampiricAttackWorkWithMelee = True
|
||||
|
||||
# Calculate magic success by target level and skill magic level (when available).
|
||||
# Otherwise target level and (alternatively) attacker level is used.
|
||||
CalculateMagicSuccessBySkillMagicLevel = True
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
@ -203,6 +203,7 @@ public class Config
|
||||
public static boolean FAKE_DEATH_DAMAGE_STAND;
|
||||
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 boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@ -1734,6 +1735,7 @@ public class Config
|
||||
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", false);
|
||||
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);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
@ -806,7 +806,7 @@ public class Formulas
|
||||
int mAccModifier = 1;
|
||||
if (attacker.isAttackable() || target.isAttackable())
|
||||
{
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (skill.getMagicLevel() > 0 ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (Config.CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL && (skill.getMagicLevel() > 0) ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
|
||||
if ((attacker.getActingPlayer() != null) && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LEVEL_MAGIC_PENALTY) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
||||
{
|
||||
|
@ -157,6 +157,10 @@ VampiricAttackWorkWithSkills = True
|
||||
# MP vampiric attacks work with melee.
|
||||
MpVampiricAttackWorkWithMelee = True
|
||||
|
||||
# Calculate magic success by target level and skill magic level (when available).
|
||||
# Otherwise target level and (alternatively) attacker level is used.
|
||||
CalculateMagicSuccessBySkillMagicLevel = True
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
@ -203,6 +203,7 @@ public class Config
|
||||
public static boolean FAKE_DEATH_DAMAGE_STAND;
|
||||
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 boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@ -1741,6 +1742,7 @@ public class Config
|
||||
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", false);
|
||||
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);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
@ -806,7 +806,7 @@ public class Formulas
|
||||
int mAccModifier = 1;
|
||||
if (attacker.isAttackable() || target.isAttackable())
|
||||
{
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (skill.getMagicLevel() > 0 ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (Config.CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL && (skill.getMagicLevel() > 0) ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
|
||||
if ((attacker.getActingPlayer() != null) && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LEVEL_MAGIC_PENALTY) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
||||
{
|
||||
|
@ -161,6 +161,10 @@ VampiricAttackWorkWithSkills = True
|
||||
# MP vampiric attacks work with melee.
|
||||
MpVampiricAttackWorkWithMelee = True
|
||||
|
||||
# Calculate magic success by target level and skill magic level (when available).
|
||||
# Otherwise target level and (alternatively) attacker level is used.
|
||||
CalculateMagicSuccessBySkillMagicLevel = True
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
@ -204,6 +204,7 @@ public class Config
|
||||
public static boolean FAKE_DEATH_DAMAGE_STAND;
|
||||
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 boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@ -1776,6 +1777,7 @@ public class Config
|
||||
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", false);
|
||||
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);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
@ -806,7 +806,7 @@ public class Formulas
|
||||
int mAccModifier = 1;
|
||||
if (attacker.isAttackable() || target.isAttackable())
|
||||
{
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (skill.getMagicLevel() > 0 ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (Config.CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL && (skill.getMagicLevel() > 0) ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
|
||||
if ((attacker.getActingPlayer() != null) && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LEVEL_MAGIC_PENALTY) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
||||
{
|
||||
|
@ -161,6 +161,10 @@ VampiricAttackWorkWithSkills = True
|
||||
# MP vampiric attacks work with melee.
|
||||
MpVampiricAttackWorkWithMelee = True
|
||||
|
||||
# Calculate magic success by target level and skill magic level (when available).
|
||||
# Otherwise target level and (alternatively) attacker level is used.
|
||||
CalculateMagicSuccessBySkillMagicLevel = True
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
@ -204,6 +204,7 @@ public class Config
|
||||
public static boolean FAKE_DEATH_DAMAGE_STAND;
|
||||
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 boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@ -1784,6 +1785,7 @@ public class Config
|
||||
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", false);
|
||||
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);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
@ -806,7 +806,7 @@ public class Formulas
|
||||
int mAccModifier = 1;
|
||||
if (attacker.isAttackable() || target.isAttackable())
|
||||
{
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (skill.getMagicLevel() > 0 ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (Config.CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL && (skill.getMagicLevel() > 0) ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
|
||||
if ((attacker.getActingPlayer() != null) && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LEVEL_MAGIC_PENALTY) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
||||
{
|
||||
|
@ -161,6 +161,10 @@ VampiricAttackWorkWithSkills = True
|
||||
# MP vampiric attacks work with melee.
|
||||
MpVampiricAttackWorkWithMelee = True
|
||||
|
||||
# Calculate magic success by target level and skill magic level (when available).
|
||||
# Otherwise target level and (alternatively) attacker level is used.
|
||||
CalculateMagicSuccessBySkillMagicLevel = False
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
@ -197,6 +197,7 @@ public class Config
|
||||
public static boolean FAKE_DEATH_DAMAGE_STAND;
|
||||
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 boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@ -1757,6 +1758,7 @@ public class Config
|
||||
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", false);
|
||||
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);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
@ -806,7 +806,7 @@ public class Formulas
|
||||
int mAccModifier = 1;
|
||||
if (attacker.isAttackable() || target.isAttackable())
|
||||
{
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (skill.getMagicLevel() > 0 ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (Config.CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL && (skill.getMagicLevel() > 0) ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
|
||||
if ((attacker.getActingPlayer() != null) && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LEVEL_MAGIC_PENALTY) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
||||
{
|
||||
|
@ -161,6 +161,10 @@ VampiricAttackWorkWithSkills = True
|
||||
# MP vampiric attacks work with melee.
|
||||
MpVampiricAttackWorkWithMelee = True
|
||||
|
||||
# Calculate magic success by target level and skill magic level (when available).
|
||||
# Otherwise target level and (alternatively) attacker level is used.
|
||||
CalculateMagicSuccessBySkillMagicLevel = False
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
@ -197,6 +197,7 @@ public class Config
|
||||
public static boolean FAKE_DEATH_DAMAGE_STAND;
|
||||
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 boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@ -1759,6 +1760,7 @@ public class Config
|
||||
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", false);
|
||||
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);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
@ -806,7 +806,7 @@ public class Formulas
|
||||
int mAccModifier = 1;
|
||||
if (attacker.isAttackable() || target.isAttackable())
|
||||
{
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (skill.getMagicLevel() > 0 ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (Config.CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL && (skill.getMagicLevel() > 0) ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
|
||||
if ((attacker.getActingPlayer() != null) && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LEVEL_MAGIC_PENALTY) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
||||
{
|
||||
|
@ -161,6 +161,10 @@ VampiricAttackWorkWithSkills = True
|
||||
# MP vampiric attacks work with melee.
|
||||
MpVampiricAttackWorkWithMelee = True
|
||||
|
||||
# Calculate magic success by target level and skill magic level (when available).
|
||||
# Otherwise target level and (alternatively) attacker level is used.
|
||||
CalculateMagicSuccessBySkillMagicLevel = False
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
@ -197,6 +197,7 @@ public class Config
|
||||
public static boolean FAKE_DEATH_DAMAGE_STAND;
|
||||
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 boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@ -1759,6 +1760,7 @@ public class Config
|
||||
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", false);
|
||||
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);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
@ -806,7 +806,7 @@ public class Formulas
|
||||
int mAccModifier = 1;
|
||||
if (attacker.isAttackable() || target.isAttackable())
|
||||
{
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (skill.getMagicLevel() > 0 ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (Config.CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL && (skill.getMagicLevel() > 0) ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
|
||||
if ((attacker.getActingPlayer() != null) && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LEVEL_MAGIC_PENALTY) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
||||
{
|
||||
|
@ -161,6 +161,10 @@ VampiricAttackWorkWithSkills = True
|
||||
# MP vampiric attacks work with melee.
|
||||
MpVampiricAttackWorkWithMelee = True
|
||||
|
||||
# Calculate magic success by target level and skill magic level (when available).
|
||||
# Otherwise target level and (alternatively) attacker level is used.
|
||||
CalculateMagicSuccessBySkillMagicLevel = False
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
@ -197,6 +197,7 @@ public class Config
|
||||
public static boolean FAKE_DEATH_DAMAGE_STAND;
|
||||
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 boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@ -1759,6 +1760,7 @@ public class Config
|
||||
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", false);
|
||||
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);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
@ -812,7 +812,7 @@ public class Formulas
|
||||
int mAccModifier = 1;
|
||||
if (attacker.isAttackable() || target.isAttackable())
|
||||
{
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (skill.getMagicLevel() > 0 ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (Config.CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL && (skill.getMagicLevel() > 0) ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
|
||||
if ((attacker.getActingPlayer() != null) && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LEVEL_MAGIC_PENALTY) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
||||
{
|
||||
|
@ -169,6 +169,10 @@ FakeDeathUntarget = False
|
||||
# Stand when fake death is active and taking damage.
|
||||
FakeDeathDamageStand = True
|
||||
|
||||
# Calculate magic success by target level and skill magic level (when available).
|
||||
# Otherwise target level and (alternatively) attacker level is used.
|
||||
CalculateMagicSuccessBySkillMagicLevel = True
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
@ -181,6 +181,7 @@ public class Config
|
||||
public static long EFFECT_TICK_RATIO;
|
||||
public static boolean FAKE_DEATH_UNTARGET;
|
||||
public static boolean FAKE_DEATH_DAMAGE_STAND;
|
||||
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
|
||||
public static boolean ALLOW_CLASS_MASTERS;
|
||||
public static ClassMasterSettings CLASS_MASTER_SETTINGS;
|
||||
public static boolean ALLOW_ENTIRE_TREE;
|
||||
@ -1690,6 +1691,7 @@ public class Config
|
||||
EFFECT_TICK_RATIO = characterConfig.getLong("EffectTickRatio", 666);
|
||||
FAKE_DEATH_UNTARGET = characterConfig.getBoolean("FakeDeathUntarget", false);
|
||||
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", true);
|
||||
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", true);
|
||||
ALLOW_CLASS_MASTERS = characterConfig.getBoolean("AllowClassMasters", false);
|
||||
ALLOW_ENTIRE_TREE = characterConfig.getBoolean("AllowEntireTree", false);
|
||||
ALTERNATE_CLASS_MASTER = characterConfig.getBoolean("AlternateClassMaster", false);
|
||||
|
@ -1398,9 +1398,7 @@ public class Formulas
|
||||
return true;
|
||||
}
|
||||
|
||||
// FIXME: Fix this LevelMod Formula.
|
||||
final int levelDifference = (target.getLevel() - (skill.getMagicLevel() > 0 ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
final double lvlModifier = Math.pow(1.3, levelDifference);
|
||||
final double lvlModifier = Math.pow(1.3, target.getLevel() - (Config.CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL && (skill.getMagicLevel() > 0) ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
float targetModifier = 1;
|
||||
if (target.isAttackable() && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LEVEL_MAGIC_PENALTY) && (attacker.getActingPlayer() != null) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
||||
{
|
||||
|
@ -169,6 +169,10 @@ FakeDeathUntarget = False
|
||||
# Stand when fake death is active and taking damage.
|
||||
FakeDeathDamageStand = True
|
||||
|
||||
# Calculate magic success by target level and skill magic level (when available).
|
||||
# Otherwise target level and (alternatively) attacker level is used.
|
||||
CalculateMagicSuccessBySkillMagicLevel = True
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
@ -185,6 +185,7 @@ public class Config
|
||||
public static long EFFECT_TICK_RATIO;
|
||||
public static boolean FAKE_DEATH_UNTARGET;
|
||||
public static boolean FAKE_DEATH_DAMAGE_STAND;
|
||||
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
|
||||
public static boolean ALLOW_CLASS_MASTERS;
|
||||
public static ClassMasterSettings CLASS_MASTER_SETTINGS;
|
||||
public static boolean ALLOW_ENTIRE_TREE;
|
||||
@ -1747,6 +1748,7 @@ public class Config
|
||||
EFFECT_TICK_RATIO = characterConfig.getLong("EffectTickRatio", 666);
|
||||
FAKE_DEATH_UNTARGET = characterConfig.getBoolean("FakeDeathUntarget", false);
|
||||
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", true);
|
||||
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", true);
|
||||
ALLOW_CLASS_MASTERS = characterConfig.getBoolean("AllowClassMasters", false);
|
||||
ALLOW_ENTIRE_TREE = characterConfig.getBoolean("AllowEntireTree", false);
|
||||
ALTERNATE_CLASS_MASTER = characterConfig.getBoolean("AlternateClassMaster", false);
|
||||
|
@ -1431,9 +1431,7 @@ public class Formulas
|
||||
return true;
|
||||
}
|
||||
|
||||
// FIXME: Fix this LevelMod Formula.
|
||||
final int levelDifference = (target.getLevel() - (skill.getMagicLevel() > 0 ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
final double lvlModifier = Math.pow(1.3, levelDifference);
|
||||
final double lvlModifier = Math.pow(1.3, target.getLevel() - (Config.CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL && (skill.getMagicLevel() > 0) ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
float targetModifier = 1;
|
||||
if (target.isAttackable() && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LEVEL_MAGIC_PENALTY) && (attacker.getActingPlayer() != null) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
||||
{
|
||||
|
@ -170,6 +170,10 @@ FakeDeathUntarget = False
|
||||
# Stand when fake death is active and taking damage.
|
||||
FakeDeathDamageStand = True
|
||||
|
||||
# Calculate magic success by target level and skill magic level (when available).
|
||||
# Otherwise target level and (alternatively) attacker level is used.
|
||||
CalculateMagicSuccessBySkillMagicLevel = True
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
@ -186,6 +186,7 @@ public class Config
|
||||
public static long EFFECT_TICK_RATIO;
|
||||
public static boolean FAKE_DEATH_UNTARGET;
|
||||
public static boolean FAKE_DEATH_DAMAGE_STAND;
|
||||
public static boolean CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL;
|
||||
public static boolean ALLOW_CLASS_MASTERS;
|
||||
public static ClassMasterSettings CLASS_MASTER_SETTINGS;
|
||||
public static boolean ALLOW_ENTIRE_TREE;
|
||||
@ -1748,6 +1749,7 @@ public class Config
|
||||
EFFECT_TICK_RATIO = characterConfig.getLong("EffectTickRatio", 666);
|
||||
FAKE_DEATH_UNTARGET = characterConfig.getBoolean("FakeDeathUntarget", false);
|
||||
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", true);
|
||||
CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL = characterConfig.getBoolean("CalculateMagicSuccessBySkillMagicLevel", true);
|
||||
ALLOW_CLASS_MASTERS = characterConfig.getBoolean("AllowClassMasters", false);
|
||||
ALLOW_ENTIRE_TREE = characterConfig.getBoolean("AllowEntireTree", false);
|
||||
ALTERNATE_CLASS_MASTER = characterConfig.getBoolean("AlternateClassMaster", false);
|
||||
|
@ -1431,9 +1431,7 @@ public class Formulas
|
||||
return true;
|
||||
}
|
||||
|
||||
// FIXME: Fix this LevelMod Formula.
|
||||
final int levelDifference = (target.getLevel() - (skill.getMagicLevel() > 0 ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
final double lvlModifier = Math.pow(1.3, levelDifference);
|
||||
final double lvlModifier = Math.pow(1.3, target.getLevel() - (Config.CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL && (skill.getMagicLevel() > 0) ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
float targetModifier = 1;
|
||||
if (target.isAttackable() && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LEVEL_MAGIC_PENALTY) && (attacker.getActingPlayer() != null) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
||||
{
|
||||
|
@ -150,6 +150,10 @@ VampiricAttackWorkWithSkills = False
|
||||
# MP vampiric attacks work with melee.
|
||||
MpVampiricAttackWorkWithMelee = False
|
||||
|
||||
# Calculate magic success by target level and skill magic level (when available).
|
||||
# Otherwise target level and (alternatively) attacker level is used.
|
||||
CalculateMagicSuccessBySkillMagicLevel = True
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
@ -197,6 +197,7 @@ public class Config
|
||||
public static boolean FAKE_DEATH_DAMAGE_STAND;
|
||||
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 boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@ -1693,6 +1694,7 @@ public class Config
|
||||
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", false);
|
||||
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);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
@ -806,7 +806,7 @@ public class Formulas
|
||||
int mAccModifier = 1;
|
||||
if (attacker.isAttackable() || target.isAttackable())
|
||||
{
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (skill.getMagicLevel() > 0 ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (Config.CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL && (skill.getMagicLevel() > 0) ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
|
||||
if ((attacker.getActingPlayer() != null) && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LEVEL_MAGIC_PENALTY) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
||||
{
|
||||
|
@ -150,6 +150,10 @@ VampiricAttackWorkWithSkills = False
|
||||
# MP vampiric attacks work with melee.
|
||||
MpVampiricAttackWorkWithMelee = False
|
||||
|
||||
# Calculate magic success by target level and skill magic level (when available).
|
||||
# Otherwise target level and (alternatively) attacker level is used.
|
||||
CalculateMagicSuccessBySkillMagicLevel = True
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
@ -197,6 +197,7 @@ public class Config
|
||||
public static boolean FAKE_DEATH_DAMAGE_STAND;
|
||||
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 boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@ -1697,6 +1698,7 @@ public class Config
|
||||
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", false);
|
||||
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);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
@ -806,7 +806,7 @@ public class Formulas
|
||||
int mAccModifier = 1;
|
||||
if (attacker.isAttackable() || target.isAttackable())
|
||||
{
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (skill.getMagicLevel() > 0 ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (Config.CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL && (skill.getMagicLevel() > 0) ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
|
||||
if ((attacker.getActingPlayer() != null) && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LEVEL_MAGIC_PENALTY) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
||||
{
|
||||
|
@ -150,6 +150,10 @@ VampiricAttackWorkWithSkills = False
|
||||
# MP vampiric attacks work with melee.
|
||||
MpVampiricAttackWorkWithMelee = False
|
||||
|
||||
# Calculate magic success by target level and skill magic level (when available).
|
||||
# Otherwise target level and (alternatively) attacker level is used.
|
||||
CalculateMagicSuccessBySkillMagicLevel = True
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
@ -197,6 +197,7 @@ public class Config
|
||||
public static boolean FAKE_DEATH_DAMAGE_STAND;
|
||||
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 boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@ -1697,6 +1698,7 @@ public class Config
|
||||
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", false);
|
||||
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);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
@ -806,7 +806,7 @@ public class Formulas
|
||||
int mAccModifier = 1;
|
||||
if (attacker.isAttackable() || target.isAttackable())
|
||||
{
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (skill.getMagicLevel() > 0 ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (Config.CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL && (skill.getMagicLevel() > 0) ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
|
||||
if ((attacker.getActingPlayer() != null) && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LEVEL_MAGIC_PENALTY) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
||||
{
|
||||
|
@ -150,6 +150,10 @@ VampiricAttackWorkWithSkills = False
|
||||
# MP vampiric attacks work with melee.
|
||||
MpVampiricAttackWorkWithMelee = False
|
||||
|
||||
# Calculate magic success by target level and skill magic level (when available).
|
||||
# Otherwise target level and (alternatively) attacker level is used.
|
||||
CalculateMagicSuccessBySkillMagicLevel = True
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
@ -197,6 +197,7 @@ public class Config
|
||||
public static boolean FAKE_DEATH_DAMAGE_STAND;
|
||||
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 boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@ -1697,6 +1698,7 @@ public class Config
|
||||
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", false);
|
||||
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);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
@ -807,7 +807,7 @@ public class Formulas
|
||||
int mAccModifier = 1;
|
||||
if (attacker.isAttackable() || target.isAttackable())
|
||||
{
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (skill.getMagicLevel() > 0 ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (Config.CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL && (skill.getMagicLevel() > 0) ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
|
||||
if ((attacker.getActingPlayer() != null) && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LEVEL_MAGIC_PENALTY) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
||||
{
|
||||
|
@ -150,6 +150,10 @@ VampiricAttackWorkWithSkills = False
|
||||
# MP vampiric attacks work with melee.
|
||||
MpVampiricAttackWorkWithMelee = False
|
||||
|
||||
# Calculate magic success by target level and skill magic level (when available).
|
||||
# Otherwise target level and (alternatively) attacker level is used.
|
||||
CalculateMagicSuccessBySkillMagicLevel = True
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
@ -197,6 +197,7 @@ public class Config
|
||||
public static boolean FAKE_DEATH_DAMAGE_STAND;
|
||||
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 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
|
||||
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", false);
|
||||
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);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
@ -807,7 +807,7 @@ public class Formulas
|
||||
int mAccModifier = 1;
|
||||
if (attacker.isAttackable() || target.isAttackable())
|
||||
{
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (skill.getMagicLevel() > 0 ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (Config.CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL && (skill.getMagicLevel() > 0) ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
|
||||
if ((attacker.getActingPlayer() != null) && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LEVEL_MAGIC_PENALTY) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
||||
{
|
||||
|
@ -150,6 +150,10 @@ VampiricAttackWorkWithSkills = False
|
||||
# MP vampiric attacks work with melee.
|
||||
MpVampiricAttackWorkWithMelee = False
|
||||
|
||||
# Calculate magic success by target level and skill magic level (when available).
|
||||
# Otherwise target level and (alternatively) attacker level is used.
|
||||
CalculateMagicSuccessBySkillMagicLevel = True
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
@ -197,6 +197,7 @@ public class Config
|
||||
public static boolean FAKE_DEATH_DAMAGE_STAND;
|
||||
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 boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@ -1708,6 +1709,7 @@ public class Config
|
||||
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", false);
|
||||
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);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
@ -807,7 +807,7 @@ public class Formulas
|
||||
int mAccModifier = 1;
|
||||
if (attacker.isAttackable() || target.isAttackable())
|
||||
{
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (skill.getMagicLevel() > 0 ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (Config.CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL && (skill.getMagicLevel() > 0) ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
|
||||
if ((attacker.getActingPlayer() != null) && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LEVEL_MAGIC_PENALTY) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
||||
{
|
||||
|
@ -150,6 +150,10 @@ VampiricAttackWorkWithSkills = False
|
||||
# MP vampiric attacks work with melee.
|
||||
MpVampiricAttackWorkWithMelee = False
|
||||
|
||||
# Calculate magic success by target level and skill magic level (when available).
|
||||
# Otherwise target level and (alternatively) attacker level is used.
|
||||
CalculateMagicSuccessBySkillMagicLevel = True
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
@ -196,6 +196,7 @@ public class Config
|
||||
public static boolean FAKE_DEATH_DAMAGE_STAND;
|
||||
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 boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@ -1700,6 +1701,7 @@ public class Config
|
||||
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", false);
|
||||
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);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
@ -806,7 +806,7 @@ public class Formulas
|
||||
int mAccModifier = 1;
|
||||
if (attacker.isAttackable() || target.isAttackable())
|
||||
{
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (skill.getMagicLevel() > 0 ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (Config.CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL && (skill.getMagicLevel() > 0) ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
|
||||
if ((attacker.getActingPlayer() != null) && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LEVEL_MAGIC_PENALTY) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
||||
{
|
||||
|
@ -150,6 +150,10 @@ VampiricAttackWorkWithSkills = False
|
||||
# MP vampiric attacks work with melee.
|
||||
MpVampiricAttackWorkWithMelee = False
|
||||
|
||||
# Calculate magic success by target level and skill magic level (when available).
|
||||
# Otherwise target level and (alternatively) attacker level is used.
|
||||
CalculateMagicSuccessBySkillMagicLevel = False
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
@ -199,6 +199,7 @@ public class Config
|
||||
public static boolean FAKE_DEATH_DAMAGE_STAND;
|
||||
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 boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@ -1729,6 +1730,7 @@ public class Config
|
||||
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", false);
|
||||
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);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
@ -807,7 +807,7 @@ public class Formulas
|
||||
int mAccModifier = 1;
|
||||
if (attacker.isAttackable() || target.isAttackable())
|
||||
{
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (skill.getMagicLevel() > 0 ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (Config.CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL && (skill.getMagicLevel() > 0) ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
|
||||
if ((attacker.getActingPlayer() != null) && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LEVEL_MAGIC_PENALTY) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
||||
{
|
||||
|
@ -150,6 +150,10 @@ VampiricAttackWorkWithSkills = False
|
||||
# MP vampiric attacks work with melee.
|
||||
MpVampiricAttackWorkWithMelee = False
|
||||
|
||||
# Calculate magic success by target level and skill magic level (when available).
|
||||
# Otherwise target level and (alternatively) attacker level is used.
|
||||
CalculateMagicSuccessBySkillMagicLevel = False
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
@ -199,6 +199,7 @@ public class Config
|
||||
public static boolean FAKE_DEATH_DAMAGE_STAND;
|
||||
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 boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@ -1733,6 +1734,7 @@ public class Config
|
||||
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", false);
|
||||
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);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
@ -807,7 +807,7 @@ public class Formulas
|
||||
int mAccModifier = 1;
|
||||
if (attacker.isAttackable() || target.isAttackable())
|
||||
{
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (skill.getMagicLevel() > 0 ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (Config.CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL && (skill.getMagicLevel() > 0) ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
|
||||
if ((attacker.getActingPlayer() != null) && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LEVEL_MAGIC_PENALTY) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
||||
{
|
||||
|
@ -150,6 +150,10 @@ VampiricAttackWorkWithSkills = False
|
||||
# MP vampiric attacks work with melee.
|
||||
MpVampiricAttackWorkWithMelee = False
|
||||
|
||||
# Calculate magic success by target level and skill magic level (when available).
|
||||
# Otherwise target level and (alternatively) attacker level is used.
|
||||
CalculateMagicSuccessBySkillMagicLevel = False
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
@ -200,6 +200,7 @@ public class Config
|
||||
public static boolean FAKE_DEATH_DAMAGE_STAND;
|
||||
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 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
|
||||
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", false);
|
||||
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);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
@ -807,7 +807,7 @@ public class Formulas
|
||||
int mAccModifier = 1;
|
||||
if (attacker.isAttackable() || target.isAttackable())
|
||||
{
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (skill.getMagicLevel() > 0 ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (Config.CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL && (skill.getMagicLevel() > 0) ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
|
||||
if ((attacker.getActingPlayer() != null) && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LEVEL_MAGIC_PENALTY) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
||||
{
|
||||
|
@ -150,6 +150,10 @@ VampiricAttackWorkWithSkills = False
|
||||
# MP vampiric attacks work with melee.
|
||||
MpVampiricAttackWorkWithMelee = False
|
||||
|
||||
# Calculate magic success by target level and skill magic level (when available).
|
||||
# Otherwise target level and (alternatively) attacker level is used.
|
||||
CalculateMagicSuccessBySkillMagicLevel = False
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
@ -200,6 +200,7 @@ public class Config
|
||||
public static boolean FAKE_DEATH_DAMAGE_STAND;
|
||||
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 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
|
||||
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", false);
|
||||
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);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
@ -813,7 +813,7 @@ public class Formulas
|
||||
int mAccModifier = 1;
|
||||
if (attacker.isAttackable() || target.isAttackable())
|
||||
{
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (skill.getMagicLevel() > 0 ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
lvlModifier = Math.pow(1.3, target.getLevel() - (Config.CALCULATE_MAGIC_SUCCESS_BY_SKILL_MAGIC_LEVEL && (skill.getMagicLevel() > 0) ? skill.getMagicLevel() : attacker.getLevel()));
|
||||
|
||||
if ((attacker.getActingPlayer() != null) && !target.isRaid() && !target.isRaidMinion() && (target.getLevel() >= Config.MIN_NPC_LEVEL_MAGIC_PENALTY) && ((target.getLevel() - attacker.getActingPlayer().getLevel()) >= 3))
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user