Reuse active, non offensive, item skill cooldown on equip.
Thanks to Liamxroy.
This commit is contained in:
@@ -165,6 +165,16 @@ CalculateMagicSuccessBySkillMagicLevel = True
|
||||
# Default: 80
|
||||
BlowRateChanceLimit = 80
|
||||
|
||||
# Disables active, non offensive, item skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 300000 (5 minutes).
|
||||
ItemEquipActiveSkillReuse = 300000
|
||||
|
||||
# Disables active, non offensive, armor set skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 60000 (1 minute).
|
||||
ArmorSetEquipActiveSkillReuse = 60000
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
||||
@@ -193,6 +193,8 @@ public class Config
|
||||
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 int ITEM_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static int ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@@ -1732,6 +1734,8 @@ public class Config
|
||||
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);
|
||||
ITEM_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ItemEquipActiveSkillReuse", 300000);
|
||||
ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ArmorSetEquipActiveSkillReuse", 60000);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
||||
+35
-3
@@ -562,6 +562,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -600,7 +607,9 @@ public abstract class Inventory extends ItemContainer
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
if (skill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -608,6 +617,14 @@ public abstract class Inventory extends ItemContainer
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
@@ -664,6 +681,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -765,9 +789,9 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
player.addSkill(itemSkill, false);
|
||||
if (itemSkill.isActive() && (item != null))
|
||||
if (itemSkill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
if ((item != null) && !player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -776,8 +800,16 @@ public abstract class Inventory extends ItemContainer
|
||||
player.disableSkill(itemSkill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!itemSkill.isBad() && (Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(itemSkill, Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimeStamp = true;
|
||||
}
|
||||
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,6 +165,16 @@ CalculateMagicSuccessBySkillMagicLevel = True
|
||||
# Default: 80
|
||||
BlowRateChanceLimit = 80
|
||||
|
||||
# Disables active, non offensive, item skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 300000 (5 minutes).
|
||||
ItemEquipActiveSkillReuse = 300000
|
||||
|
||||
# Disables active, non offensive, armor set skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 60000 (1 minute).
|
||||
ArmorSetEquipActiveSkillReuse = 60000
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
||||
@@ -200,6 +200,8 @@ public class Config
|
||||
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 int ITEM_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static int ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@@ -1753,6 +1755,8 @@ public class Config
|
||||
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);
|
||||
ITEM_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ItemEquipActiveSkillReuse", 300000);
|
||||
ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ArmorSetEquipActiveSkillReuse", 60000);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
||||
+35
-3
@@ -568,6 +568,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -606,7 +613,9 @@ public abstract class Inventory extends ItemContainer
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
if (skill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -614,6 +623,14 @@ public abstract class Inventory extends ItemContainer
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
@@ -670,6 +687,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -771,9 +795,9 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
player.addSkill(itemSkill, false);
|
||||
if (itemSkill.isActive() && (item != null))
|
||||
if (itemSkill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
if ((item != null) && !player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -782,8 +806,16 @@ public abstract class Inventory extends ItemContainer
|
||||
player.disableSkill(itemSkill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!itemSkill.isBad() && (Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(itemSkill, Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimeStamp = true;
|
||||
}
|
||||
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,6 +165,16 @@ CalculateMagicSuccessBySkillMagicLevel = True
|
||||
# Default: 80
|
||||
BlowRateChanceLimit = 80
|
||||
|
||||
# Disables active, non offensive, item skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 300000 (5 minutes).
|
||||
ItemEquipActiveSkillReuse = 300000
|
||||
|
||||
# Disables active, non offensive, armor set skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 60000 (1 minute).
|
||||
ArmorSetEquipActiveSkillReuse = 60000
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
||||
@@ -200,6 +200,8 @@ public class Config
|
||||
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 int ITEM_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static int ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@@ -1766,6 +1768,8 @@ public class Config
|
||||
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);
|
||||
ITEM_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ItemEquipActiveSkillReuse", 300000);
|
||||
ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ArmorSetEquipActiveSkillReuse", 60000);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
||||
+35
-3
@@ -568,6 +568,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -606,7 +613,9 @@ public abstract class Inventory extends ItemContainer
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
if (skill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -614,6 +623,14 @@ public abstract class Inventory extends ItemContainer
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
@@ -670,6 +687,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -771,9 +795,9 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
player.addSkill(itemSkill, false);
|
||||
if (itemSkill.isActive() && (item != null))
|
||||
if (itemSkill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
if ((item != null) && !player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -782,8 +806,16 @@ public abstract class Inventory extends ItemContainer
|
||||
player.disableSkill(itemSkill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!itemSkill.isBad() && (Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(itemSkill, Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimeStamp = true;
|
||||
}
|
||||
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,6 +165,16 @@ CalculateMagicSuccessBySkillMagicLevel = True
|
||||
# Default: 80
|
||||
BlowRateChanceLimit = 80
|
||||
|
||||
# Disables active, non offensive, item skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 300000 (5 minutes).
|
||||
ItemEquipActiveSkillReuse = 300000
|
||||
|
||||
# Disables active, non offensive, armor set skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 60000 (1 minute).
|
||||
ArmorSetEquipActiveSkillReuse = 60000
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
||||
@@ -200,6 +200,8 @@ public class Config
|
||||
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 int ITEM_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static int ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@@ -1753,6 +1755,8 @@ public class Config
|
||||
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);
|
||||
ITEM_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ItemEquipActiveSkillReuse", 300000);
|
||||
ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ArmorSetEquipActiveSkillReuse", 60000);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
||||
+35
-3
@@ -568,6 +568,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -606,7 +613,9 @@ public abstract class Inventory extends ItemContainer
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
if (skill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -614,6 +623,14 @@ public abstract class Inventory extends ItemContainer
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
@@ -670,6 +687,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -771,9 +795,9 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
player.addSkill(itemSkill, false);
|
||||
if (itemSkill.isActive() && (item != null))
|
||||
if (itemSkill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
if ((item != null) && !player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -782,8 +806,16 @@ public abstract class Inventory extends ItemContainer
|
||||
player.disableSkill(itemSkill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!itemSkill.isBad() && (Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(itemSkill, Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimeStamp = true;
|
||||
}
|
||||
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,6 +165,16 @@ CalculateMagicSuccessBySkillMagicLevel = True
|
||||
# Default: 80
|
||||
BlowRateChanceLimit = 80
|
||||
|
||||
# Disables active, non offensive, item skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 300000 (5 minutes).
|
||||
ItemEquipActiveSkillReuse = 300000
|
||||
|
||||
# Disables active, non offensive, armor set skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 60000 (1 minute).
|
||||
ArmorSetEquipActiveSkillReuse = 60000
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
||||
@@ -207,6 +207,8 @@ public class Config
|
||||
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 int ITEM_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static int ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@@ -1762,6 +1764,8 @@ public class Config
|
||||
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);
|
||||
ITEM_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ItemEquipActiveSkillReuse", 300000);
|
||||
ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ArmorSetEquipActiveSkillReuse", 60000);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
||||
+35
-3
@@ -578,6 +578,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -616,7 +623,9 @@ public abstract class Inventory extends ItemContainer
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
if (skill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -624,6 +633,14 @@ public abstract class Inventory extends ItemContainer
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
@@ -680,6 +697,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -784,9 +808,9 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
player.addSkill(itemSkill, false);
|
||||
if (itemSkill.isActive() && (item != null))
|
||||
if (itemSkill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
if ((item != null) && !player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -795,8 +819,16 @@ public abstract class Inventory extends ItemContainer
|
||||
player.disableSkill(itemSkill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!itemSkill.isBad() && (Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(itemSkill, Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimeStamp = true;
|
||||
}
|
||||
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,6 +165,16 @@ CalculateMagicSuccessBySkillMagicLevel = True
|
||||
# Default: 80
|
||||
BlowRateChanceLimit = 80
|
||||
|
||||
# Disables active, non offensive, item skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 300000 (5 minutes).
|
||||
ItemEquipActiveSkillReuse = 300000
|
||||
|
||||
# Disables active, non offensive, armor set skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 60000 (1 minute).
|
||||
ArmorSetEquipActiveSkillReuse = 60000
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
||||
@@ -207,6 +207,8 @@ public class Config
|
||||
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 int ITEM_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static int ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@@ -1769,6 +1771,8 @@ public class Config
|
||||
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);
|
||||
ITEM_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ItemEquipActiveSkillReuse", 300000);
|
||||
ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ArmorSetEquipActiveSkillReuse", 60000);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
||||
+35
-3
@@ -601,6 +601,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -639,7 +646,9 @@ public abstract class Inventory extends ItemContainer
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
if (skill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -647,6 +656,14 @@ public abstract class Inventory extends ItemContainer
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
@@ -703,6 +720,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -807,9 +831,9 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
player.addSkill(itemSkill, false);
|
||||
if (itemSkill.isActive() && (item != null))
|
||||
if (itemSkill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
if ((item != null) && !player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -818,8 +842,16 @@ public abstract class Inventory extends ItemContainer
|
||||
player.disableSkill(itemSkill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!itemSkill.isBad() && (Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(itemSkill, Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimeStamp = true;
|
||||
}
|
||||
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -169,6 +169,16 @@ CalculateMagicSuccessBySkillMagicLevel = True
|
||||
# Default: 80
|
||||
BlowRateChanceLimit = 80
|
||||
|
||||
# Disables active, non offensive, item skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 300000 (5 minutes).
|
||||
ItemEquipActiveSkillReuse = 300000
|
||||
|
||||
# Disables active, non offensive, armor set skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 60000 (1 minute).
|
||||
ArmorSetEquipActiveSkillReuse = 60000
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
||||
@@ -208,6 +208,8 @@ public class Config
|
||||
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 int ITEM_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static int ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@@ -1804,6 +1806,8 @@ public class Config
|
||||
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);
|
||||
ITEM_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ItemEquipActiveSkillReuse", 300000);
|
||||
ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ArmorSetEquipActiveSkillReuse", 60000);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
||||
+35
-3
@@ -601,6 +601,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -639,7 +646,9 @@ public abstract class Inventory extends ItemContainer
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
if (skill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -647,6 +656,14 @@ public abstract class Inventory extends ItemContainer
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
@@ -703,6 +720,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -807,9 +831,9 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
player.addSkill(itemSkill, false);
|
||||
if (itemSkill.isActive() && (item != null))
|
||||
if (itemSkill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
if ((item != null) && !player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -818,8 +842,16 @@ public abstract class Inventory extends ItemContainer
|
||||
player.disableSkill(itemSkill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!itemSkill.isBad() && (Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(itemSkill, Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimeStamp = true;
|
||||
}
|
||||
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -169,6 +169,16 @@ CalculateMagicSuccessBySkillMagicLevel = True
|
||||
# Default: 80
|
||||
BlowRateChanceLimit = 80
|
||||
|
||||
# Disables active, non offensive, item skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 300000 (5 minutes).
|
||||
ItemEquipActiveSkillReuse = 300000
|
||||
|
||||
# Disables active, non offensive, armor set skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 60000 (1 minute).
|
||||
ArmorSetEquipActiveSkillReuse = 60000
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
||||
@@ -208,6 +208,8 @@ public class Config
|
||||
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 int ITEM_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static int ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@@ -1812,6 +1814,8 @@ public class Config
|
||||
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);
|
||||
ITEM_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ItemEquipActiveSkillReuse", 300000);
|
||||
ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ArmorSetEquipActiveSkillReuse", 60000);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
||||
+35
-3
@@ -595,6 +595,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -633,7 +640,9 @@ public abstract class Inventory extends ItemContainer
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
if (skill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -641,6 +650,14 @@ public abstract class Inventory extends ItemContainer
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
@@ -697,6 +714,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -801,9 +825,9 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
player.addSkill(itemSkill, false);
|
||||
if (itemSkill.isActive() && (item != null))
|
||||
if (itemSkill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
if ((item != null) && !player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -812,8 +836,16 @@ public abstract class Inventory extends ItemContainer
|
||||
player.disableSkill(itemSkill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!itemSkill.isBad() && (Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(itemSkill, Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimeStamp = true;
|
||||
}
|
||||
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -169,6 +169,16 @@ CalculateMagicSuccessBySkillMagicLevel = False
|
||||
# Default: 80
|
||||
BlowRateChanceLimit = 80
|
||||
|
||||
# Disables active, non offensive, item skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 300000 (5 minutes).
|
||||
ItemEquipActiveSkillReuse = 300000
|
||||
|
||||
# Disables active, non offensive, armor set skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 60000 (1 minute).
|
||||
ArmorSetEquipActiveSkillReuse = 60000
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
||||
@@ -201,6 +201,8 @@ public class Config
|
||||
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 int ITEM_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static int ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@@ -1785,6 +1787,8 @@ public class Config
|
||||
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);
|
||||
ITEM_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ItemEquipActiveSkillReuse", 300000);
|
||||
ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ArmorSetEquipActiveSkillReuse", 60000);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
||||
+35
-3
@@ -577,6 +577,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -615,7 +622,9 @@ public abstract class Inventory extends ItemContainer
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
if (skill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -623,6 +632,14 @@ public abstract class Inventory extends ItemContainer
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
@@ -679,6 +696,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -783,9 +807,9 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
player.addSkill(itemSkill, false);
|
||||
if (itemSkill.isActive() && (item != null))
|
||||
if (itemSkill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
if ((item != null) && !player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -794,8 +818,16 @@ public abstract class Inventory extends ItemContainer
|
||||
player.disableSkill(itemSkill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!itemSkill.isBad() && (Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(itemSkill, Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimeStamp = true;
|
||||
}
|
||||
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -169,6 +169,16 @@ CalculateMagicSuccessBySkillMagicLevel = False
|
||||
# Default: 80
|
||||
BlowRateChanceLimit = 80
|
||||
|
||||
# Disables active, non offensive, item skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 300000 (5 minutes).
|
||||
ItemEquipActiveSkillReuse = 300000
|
||||
|
||||
# Disables active, non offensive, armor set skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 60000 (1 minute).
|
||||
ArmorSetEquipActiveSkillReuse = 60000
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
||||
@@ -201,6 +201,8 @@ public class Config
|
||||
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 int ITEM_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static int ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@@ -1787,6 +1789,8 @@ public class Config
|
||||
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);
|
||||
ITEM_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ItemEquipActiveSkillReuse", 300000);
|
||||
ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ArmorSetEquipActiveSkillReuse", 60000);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
||||
+35
-3
@@ -577,6 +577,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -615,7 +622,9 @@ public abstract class Inventory extends ItemContainer
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
if (skill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -623,6 +632,14 @@ public abstract class Inventory extends ItemContainer
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
@@ -679,6 +696,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -783,9 +807,9 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
player.addSkill(itemSkill, false);
|
||||
if (itemSkill.isActive() && (item != null))
|
||||
if (itemSkill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
if ((item != null) && !player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -794,8 +818,16 @@ public abstract class Inventory extends ItemContainer
|
||||
player.disableSkill(itemSkill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!itemSkill.isBad() && (Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(itemSkill, Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimeStamp = true;
|
||||
}
|
||||
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -169,6 +169,16 @@ CalculateMagicSuccessBySkillMagicLevel = False
|
||||
# Default: 80
|
||||
BlowRateChanceLimit = 80
|
||||
|
||||
# Disables active, non offensive, item skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 300000 (5 minutes).
|
||||
ItemEquipActiveSkillReuse = 300000
|
||||
|
||||
# Disables active, non offensive, armor set skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 60000 (1 minute).
|
||||
ArmorSetEquipActiveSkillReuse = 60000
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
||||
@@ -201,6 +201,8 @@ public class Config
|
||||
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 int ITEM_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static int ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@@ -1788,6 +1790,8 @@ public class Config
|
||||
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);
|
||||
ITEM_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ItemEquipActiveSkillReuse", 300000);
|
||||
ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ArmorSetEquipActiveSkillReuse", 60000);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
||||
+35
-3
@@ -578,6 +578,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -616,7 +623,9 @@ public abstract class Inventory extends ItemContainer
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
if (skill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -624,6 +633,14 @@ public abstract class Inventory extends ItemContainer
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
@@ -680,6 +697,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -784,9 +808,9 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
player.addSkill(itemSkill, false);
|
||||
if (itemSkill.isActive() && (item != null))
|
||||
if (itemSkill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
if ((item != null) && !player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -795,8 +819,16 @@ public abstract class Inventory extends ItemContainer
|
||||
player.disableSkill(itemSkill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!itemSkill.isBad() && (Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(itemSkill, Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimeStamp = true;
|
||||
}
|
||||
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -169,6 +169,16 @@ CalculateMagicSuccessBySkillMagicLevel = False
|
||||
# Default: 80
|
||||
BlowRateChanceLimit = 80
|
||||
|
||||
# Disables active, non offensive, item skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 300000 (5 minutes).
|
||||
ItemEquipActiveSkillReuse = 300000
|
||||
|
||||
# Disables active, non offensive, armor set skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 60000 (1 minute).
|
||||
ArmorSetEquipActiveSkillReuse = 60000
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
||||
@@ -203,6 +203,8 @@ public class Config
|
||||
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 int ITEM_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static int ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@@ -1809,6 +1811,8 @@ public class Config
|
||||
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);
|
||||
ITEM_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ItemEquipActiveSkillReuse", 300000);
|
||||
ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ArmorSetEquipActiveSkillReuse", 60000);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
||||
+35
-3
@@ -578,6 +578,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -616,7 +623,9 @@ public abstract class Inventory extends ItemContainer
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
if (skill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -624,6 +633,14 @@ public abstract class Inventory extends ItemContainer
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
@@ -680,6 +697,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -784,9 +808,9 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
player.addSkill(itemSkill, false);
|
||||
if (itemSkill.isActive() && (item != null))
|
||||
if (itemSkill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
if ((item != null) && !player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -795,8 +819,16 @@ public abstract class Inventory extends ItemContainer
|
||||
player.disableSkill(itemSkill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!itemSkill.isBad() && (Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(itemSkill, Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimeStamp = true;
|
||||
}
|
||||
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,6 +158,16 @@ CalculateMagicSuccessBySkillMagicLevel = True
|
||||
# Default: 100
|
||||
BlowRateChanceLimit = 100
|
||||
|
||||
# Disables active, non offensive, item skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 300000 (5 minutes).
|
||||
ItemEquipActiveSkillReuse = 300000
|
||||
|
||||
# Disables active, non offensive, armor set skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 60000 (1 minute).
|
||||
ArmorSetEquipActiveSkillReuse = 60000
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
||||
@@ -192,6 +192,8 @@ public class Config
|
||||
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 int ITEM_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static int ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@@ -1687,6 +1689,8 @@ public class Config
|
||||
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);
|
||||
ITEM_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ItemEquipActiveSkillReuse", 300000);
|
||||
ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ArmorSetEquipActiveSkillReuse", 60000);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
||||
+35
-3
@@ -564,6 +564,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -602,7 +609,9 @@ public abstract class Inventory extends ItemContainer
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
if (skill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -610,6 +619,14 @@ public abstract class Inventory extends ItemContainer
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
@@ -666,6 +683,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -767,9 +791,9 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
player.addSkill(itemSkill, false);
|
||||
if (itemSkill.isActive() && (item != null))
|
||||
if (itemSkill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
if ((item != null) && !player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -778,8 +802,16 @@ public abstract class Inventory extends ItemContainer
|
||||
player.disableSkill(itemSkill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!itemSkill.isBad() && (Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(itemSkill, Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimeStamp = true;
|
||||
}
|
||||
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,6 +158,16 @@ CalculateMagicSuccessBySkillMagicLevel = True
|
||||
# Default: 100
|
||||
BlowRateChanceLimit = 100
|
||||
|
||||
# Disables active, non offensive, item skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 300000 (5 minutes).
|
||||
ItemEquipActiveSkillReuse = 300000
|
||||
|
||||
# Disables active, non offensive, armor set skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 60000 (1 minute).
|
||||
ArmorSetEquipActiveSkillReuse = 60000
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
||||
@@ -201,6 +201,8 @@ public class Config
|
||||
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 int ITEM_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static int ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@@ -1715,6 +1717,8 @@ public class Config
|
||||
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);
|
||||
ITEM_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ItemEquipActiveSkillReuse", 300000);
|
||||
ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ArmorSetEquipActiveSkillReuse", 60000);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
||||
+35
-3
@@ -564,6 +564,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -602,7 +609,9 @@ public abstract class Inventory extends ItemContainer
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
if (skill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -610,6 +619,14 @@ public abstract class Inventory extends ItemContainer
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
@@ -666,6 +683,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -767,9 +791,9 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
player.addSkill(itemSkill, false);
|
||||
if (itemSkill.isActive() && (item != null))
|
||||
if (itemSkill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
if ((item != null) && !player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -778,8 +802,16 @@ public abstract class Inventory extends ItemContainer
|
||||
player.disableSkill(itemSkill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!itemSkill.isBad() && (Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(itemSkill, Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimeStamp = true;
|
||||
}
|
||||
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,6 +158,16 @@ CalculateMagicSuccessBySkillMagicLevel = True
|
||||
# Default: 100
|
||||
BlowRateChanceLimit = 100
|
||||
|
||||
# Disables active, non offensive, item skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 300000 (5 minutes).
|
||||
ItemEquipActiveSkillReuse = 300000
|
||||
|
||||
# Disables active, non offensive, armor set skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 60000 (1 minute).
|
||||
ArmorSetEquipActiveSkillReuse = 60000
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
||||
@@ -201,6 +201,8 @@ public class Config
|
||||
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 int ITEM_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static int ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@@ -1718,6 +1720,8 @@ public class Config
|
||||
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);
|
||||
ITEM_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ItemEquipActiveSkillReuse", 300000);
|
||||
ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ArmorSetEquipActiveSkillReuse", 60000);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
||||
+35
-3
@@ -570,6 +570,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -608,7 +615,9 @@ public abstract class Inventory extends ItemContainer
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
if (skill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -616,6 +625,14 @@ public abstract class Inventory extends ItemContainer
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
@@ -672,6 +689,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -773,9 +797,9 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
player.addSkill(itemSkill, false);
|
||||
if (itemSkill.isActive() && (item != null))
|
||||
if (itemSkill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
if ((item != null) && !player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -784,8 +808,16 @@ public abstract class Inventory extends ItemContainer
|
||||
player.disableSkill(itemSkill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!itemSkill.isBad() && (Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(itemSkill, Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimeStamp = true;
|
||||
}
|
||||
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,6 +158,16 @@ CalculateMagicSuccessBySkillMagicLevel = True
|
||||
# Default: 100
|
||||
BlowRateChanceLimit = 100
|
||||
|
||||
# Disables active, non offensive, item skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 300000 (5 minutes).
|
||||
ItemEquipActiveSkillReuse = 300000
|
||||
|
||||
# Disables active, non offensive, armor set skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 60000 (1 minute).
|
||||
ArmorSetEquipActiveSkillReuse = 60000
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
||||
@@ -201,6 +201,8 @@ public class Config
|
||||
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 int ITEM_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static int ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@@ -1722,6 +1724,8 @@ public class Config
|
||||
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);
|
||||
ITEM_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ItemEquipActiveSkillReuse", 300000);
|
||||
ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ArmorSetEquipActiveSkillReuse", 60000);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
||||
+35
-3
@@ -570,6 +570,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -608,7 +615,9 @@ public abstract class Inventory extends ItemContainer
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
if (skill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -616,6 +625,14 @@ public abstract class Inventory extends ItemContainer
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
@@ -672,6 +689,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -773,9 +797,9 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
player.addSkill(itemSkill, false);
|
||||
if (itemSkill.isActive() && (item != null))
|
||||
if (itemSkill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
if ((item != null) && !player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -784,8 +808,16 @@ public abstract class Inventory extends ItemContainer
|
||||
player.disableSkill(itemSkill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!itemSkill.isBad() && (Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(itemSkill, Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimeStamp = true;
|
||||
}
|
||||
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,6 +158,16 @@ CalculateMagicSuccessBySkillMagicLevel = True
|
||||
# Default: 100
|
||||
BlowRateChanceLimit = 100
|
||||
|
||||
# Disables active, non offensive, item skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 300000 (5 minutes).
|
||||
ItemEquipActiveSkillReuse = 300000
|
||||
|
||||
# Disables active, non offensive, armor set skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 60000 (1 minute).
|
||||
ArmorSetEquipActiveSkillReuse = 60000
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
||||
@@ -201,6 +201,8 @@ public class Config
|
||||
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 int ITEM_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static int ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@@ -1722,6 +1724,8 @@ public class Config
|
||||
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);
|
||||
ITEM_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ItemEquipActiveSkillReuse", 300000);
|
||||
ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ArmorSetEquipActiveSkillReuse", 60000);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
||||
+35
-3
@@ -580,6 +580,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -618,7 +625,9 @@ public abstract class Inventory extends ItemContainer
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
if (skill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -626,6 +635,14 @@ public abstract class Inventory extends ItemContainer
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
@@ -682,6 +699,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -786,9 +810,9 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
player.addSkill(itemSkill, false);
|
||||
if (itemSkill.isActive() && (item != null))
|
||||
if (itemSkill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
if ((item != null) && !player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -797,8 +821,16 @@ public abstract class Inventory extends ItemContainer
|
||||
player.disableSkill(itemSkill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!itemSkill.isBad() && (Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(itemSkill, Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimeStamp = true;
|
||||
}
|
||||
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,6 +158,16 @@ CalculateMagicSuccessBySkillMagicLevel = True
|
||||
# Default: 100
|
||||
BlowRateChanceLimit = 100
|
||||
|
||||
# Disables active, non offensive, item skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 300000 (5 minutes).
|
||||
ItemEquipActiveSkillReuse = 300000
|
||||
|
||||
# Disables active, non offensive, armor set skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 60000 (1 minute).
|
||||
ArmorSetEquipActiveSkillReuse = 60000
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
||||
@@ -201,6 +201,8 @@ public class Config
|
||||
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 int ITEM_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static int ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@@ -1722,6 +1724,8 @@ public class Config
|
||||
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);
|
||||
ITEM_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ItemEquipActiveSkillReuse", 300000);
|
||||
ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ArmorSetEquipActiveSkillReuse", 60000);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
||||
+35
-3
@@ -603,6 +603,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -641,7 +648,9 @@ public abstract class Inventory extends ItemContainer
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
if (skill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -649,6 +658,14 @@ public abstract class Inventory extends ItemContainer
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
@@ -705,6 +722,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -809,9 +833,9 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
player.addSkill(itemSkill, false);
|
||||
if (itemSkill.isActive() && (item != null))
|
||||
if (itemSkill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
if ((item != null) && !player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -820,8 +844,16 @@ public abstract class Inventory extends ItemContainer
|
||||
player.disableSkill(itemSkill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!itemSkill.isBad() && (Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(itemSkill, Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimeStamp = true;
|
||||
}
|
||||
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,6 +158,16 @@ CalculateMagicSuccessBySkillMagicLevel = True
|
||||
# Default: 100
|
||||
BlowRateChanceLimit = 100
|
||||
|
||||
# Disables active, non offensive, item skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 300000 (5 minutes).
|
||||
ItemEquipActiveSkillReuse = 300000
|
||||
|
||||
# Disables active, non offensive, armor set skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 60000 (1 minute).
|
||||
ArmorSetEquipActiveSkillReuse = 60000
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
||||
@@ -201,6 +201,8 @@ public class Config
|
||||
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 int ITEM_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static int ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@@ -1734,6 +1736,8 @@ public class Config
|
||||
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);
|
||||
ITEM_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ItemEquipActiveSkillReuse", 300000);
|
||||
ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ArmorSetEquipActiveSkillReuse", 60000);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
||||
+35
-3
@@ -603,6 +603,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -641,7 +648,9 @@ public abstract class Inventory extends ItemContainer
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
if (skill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -649,6 +658,14 @@ public abstract class Inventory extends ItemContainer
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
@@ -705,6 +722,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -809,9 +833,9 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
player.addSkill(itemSkill, false);
|
||||
if (itemSkill.isActive() && (item != null))
|
||||
if (itemSkill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
if ((item != null) && !player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -820,8 +844,16 @@ public abstract class Inventory extends ItemContainer
|
||||
player.disableSkill(itemSkill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!itemSkill.isBad() && (Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(itemSkill, Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimeStamp = true;
|
||||
}
|
||||
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,6 +158,16 @@ CalculateMagicSuccessBySkillMagicLevel = True
|
||||
# Default: 100
|
||||
BlowRateChanceLimit = 100
|
||||
|
||||
# Disables active, non offensive, item skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 300000 (5 minutes).
|
||||
ItemEquipActiveSkillReuse = 300000
|
||||
|
||||
# Disables active, non offensive, armor set skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 60000 (1 minute).
|
||||
ArmorSetEquipActiveSkillReuse = 60000
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
||||
@@ -201,6 +201,8 @@ public class Config
|
||||
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 int ITEM_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static int ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@@ -1727,6 +1729,8 @@ public class Config
|
||||
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);
|
||||
ITEM_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ItemEquipActiveSkillReuse", 300000);
|
||||
ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ArmorSetEquipActiveSkillReuse", 60000);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
||||
+35
-3
@@ -603,6 +603,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -641,7 +648,9 @@ public abstract class Inventory extends ItemContainer
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
if (skill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -649,6 +658,14 @@ public abstract class Inventory extends ItemContainer
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
@@ -705,6 +722,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -809,9 +833,9 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
player.addSkill(itemSkill, false);
|
||||
if (itemSkill.isActive() && (item != null))
|
||||
if (itemSkill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
if ((item != null) && !player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -820,8 +844,16 @@ public abstract class Inventory extends ItemContainer
|
||||
player.disableSkill(itemSkill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!itemSkill.isBad() && (Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(itemSkill, Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimeStamp = true;
|
||||
}
|
||||
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,6 +158,16 @@ CalculateMagicSuccessBySkillMagicLevel = True
|
||||
# Default: 100
|
||||
BlowRateChanceLimit = 100
|
||||
|
||||
# Disables active, non offensive, item skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 300000 (5 minutes).
|
||||
ItemEquipActiveSkillReuse = 300000
|
||||
|
||||
# Disables active, non offensive, armor set skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 60000 (1 minute).
|
||||
ArmorSetEquipActiveSkillReuse = 60000
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
||||
@@ -201,6 +201,8 @@ public class Config
|
||||
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 int ITEM_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static int ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@@ -1734,6 +1736,8 @@ public class Config
|
||||
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);
|
||||
ITEM_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ItemEquipActiveSkillReuse", 300000);
|
||||
ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ArmorSetEquipActiveSkillReuse", 60000);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
||||
+35
-3
@@ -597,6 +597,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -635,7 +642,9 @@ public abstract class Inventory extends ItemContainer
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
if (skill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -643,6 +652,14 @@ public abstract class Inventory extends ItemContainer
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
@@ -699,6 +716,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -803,9 +827,9 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
player.addSkill(itemSkill, false);
|
||||
if (itemSkill.isActive() && (item != null))
|
||||
if (itemSkill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
if ((item != null) && !player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -814,8 +838,16 @@ public abstract class Inventory extends ItemContainer
|
||||
player.disableSkill(itemSkill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!itemSkill.isBad() && (Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(itemSkill, Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimeStamp = true;
|
||||
}
|
||||
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,6 +158,16 @@ CalculateMagicSuccessBySkillMagicLevel = True
|
||||
# Default: 100
|
||||
BlowRateChanceLimit = 100
|
||||
|
||||
# Disables active, non offensive, item skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 300000 (5 minutes).
|
||||
ItemEquipActiveSkillReuse = 300000
|
||||
|
||||
# Disables active, non offensive, armor set skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 60000 (1 minute).
|
||||
ArmorSetEquipActiveSkillReuse = 60000
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
||||
@@ -200,6 +200,8 @@ public class Config
|
||||
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 int ITEM_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static int ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@@ -1725,6 +1727,8 @@ public class Config
|
||||
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);
|
||||
ITEM_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ItemEquipActiveSkillReuse", 300000);
|
||||
ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ArmorSetEquipActiveSkillReuse", 60000);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
||||
+35
-3
@@ -562,6 +562,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -600,7 +607,9 @@ public abstract class Inventory extends ItemContainer
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
if (skill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -608,6 +617,14 @@ public abstract class Inventory extends ItemContainer
|
||||
player.addTimeStamp(skill, equipDelay);
|
||||
player.disableSkill(skill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
@@ -664,6 +681,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -765,9 +789,9 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
player.addSkill(itemSkill, false);
|
||||
if (itemSkill.isActive() && (item != null))
|
||||
if (itemSkill.isActive())
|
||||
{
|
||||
if (!player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
if ((item != null) && !player.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -776,8 +800,16 @@ public abstract class Inventory extends ItemContainer
|
||||
player.disableSkill(itemSkill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!itemSkill.isBad() && (Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE > 0) && player.hasEnteredWorld())
|
||||
{
|
||||
player.addTimeStamp(itemSkill, Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimeStamp = true;
|
||||
}
|
||||
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,6 +158,16 @@ CalculateMagicSuccessBySkillMagicLevel = False
|
||||
# Default: 100
|
||||
BlowRateChanceLimit = 100
|
||||
|
||||
# Disables active, non offensive, item skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 300000 (5 minutes).
|
||||
ItemEquipActiveSkillReuse = 300000
|
||||
|
||||
# Disables active, non offensive, armor set skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 60000 (1 minute).
|
||||
ArmorSetEquipActiveSkillReuse = 60000
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
||||
@@ -203,6 +203,8 @@ public class Config
|
||||
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 int ITEM_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static int ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@@ -1757,6 +1759,8 @@ public class Config
|
||||
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);
|
||||
ITEM_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ItemEquipActiveSkillReuse", 300000);
|
||||
ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ArmorSetEquipActiveSkillReuse", 60000);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
||||
+35
-3
@@ -621,6 +621,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && playable.getActingPlayer().hasEnteredWorld())
|
||||
{
|
||||
playable.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -704,7 +711,9 @@ public abstract class Inventory extends ItemContainer
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !playable.hasSkillReuse(skill.getReuseHashCode()))
|
||||
if (skill.isActive())
|
||||
{
|
||||
if (!playable.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -712,6 +721,14 @@ public abstract class Inventory extends ItemContainer
|
||||
playable.addTimeStamp(skill, equipDelay);
|
||||
playable.disableSkill(skill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && playable.getActingPlayer().hasEnteredWorld())
|
||||
{
|
||||
playable.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
@@ -771,6 +788,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && playable.getActingPlayer().hasEnteredWorld())
|
||||
{
|
||||
playable.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -918,9 +942,9 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
playable.addSkill(itemSkill);
|
||||
if (itemSkill.isActive() && (item != null))
|
||||
if (itemSkill.isActive())
|
||||
{
|
||||
if (!playable.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
if ((item != null) && !playable.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -929,8 +953,16 @@ public abstract class Inventory extends ItemContainer
|
||||
playable.disableSkill(itemSkill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!itemSkill.isBad() && (Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE > 0) && playable.getActingPlayer().hasEnteredWorld())
|
||||
{
|
||||
playable.addTimeStamp(itemSkill, Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimeStamp = true;
|
||||
}
|
||||
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -226,6 +226,16 @@ CalculateMagicSuccessBySkillMagicLevel = False
|
||||
# Default: 100
|
||||
BlowRateChanceLimit = 100
|
||||
|
||||
# Disables active, non offensive, item skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 300000 (5 minutes).
|
||||
ItemEquipActiveSkillReuse = 300000
|
||||
|
||||
# Disables active, non offensive, armor set skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 60000 (1 minute).
|
||||
ArmorSetEquipActiveSkillReuse = 60000
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
||||
@@ -205,6 +205,8 @@ public class Config
|
||||
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 int ITEM_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static int ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@@ -1856,6 +1858,8 @@ public class Config
|
||||
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);
|
||||
ITEM_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ItemEquipActiveSkillReuse", 300000);
|
||||
ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ArmorSetEquipActiveSkillReuse", 60000);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
||||
+35
-3
@@ -630,6 +630,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && playable.getActingPlayer().hasEnteredWorld())
|
||||
{
|
||||
playable.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -713,7 +720,9 @@ public abstract class Inventory extends ItemContainer
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !playable.hasSkillReuse(skill.getReuseHashCode()))
|
||||
if (skill.isActive())
|
||||
{
|
||||
if (!playable.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -721,6 +730,14 @@ public abstract class Inventory extends ItemContainer
|
||||
playable.addTimeStamp(skill, equipDelay);
|
||||
playable.disableSkill(skill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && playable.getActingPlayer().hasEnteredWorld())
|
||||
{
|
||||
playable.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
@@ -780,6 +797,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && playable.getActingPlayer().hasEnteredWorld())
|
||||
{
|
||||
playable.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -927,9 +951,9 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
playable.addSkill(itemSkill);
|
||||
if (itemSkill.isActive() && (item != null))
|
||||
if (itemSkill.isActive())
|
||||
{
|
||||
if (!playable.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
if ((item != null) && !playable.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -938,8 +962,16 @@ public abstract class Inventory extends ItemContainer
|
||||
playable.disableSkill(itemSkill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!itemSkill.isBad() && (Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE > 0) && playable.getActingPlayer().hasEnteredWorld())
|
||||
{
|
||||
playable.addTimeStamp(itemSkill, Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimeStamp = true;
|
||||
}
|
||||
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -226,6 +226,16 @@ CalculateMagicSuccessBySkillMagicLevel = False
|
||||
# Default: 100
|
||||
BlowRateChanceLimit = 100
|
||||
|
||||
# Disables active, non offensive, item skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 300000 (5 minutes).
|
||||
ItemEquipActiveSkillReuse = 300000
|
||||
|
||||
# Disables active, non offensive, armor set skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 60000 (1 minute).
|
||||
ArmorSetEquipActiveSkillReuse = 60000
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
||||
@@ -207,6 +207,8 @@ public class Config
|
||||
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 int ITEM_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static int ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@@ -1878,6 +1880,8 @@ public class Config
|
||||
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);
|
||||
ITEM_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ItemEquipActiveSkillReuse", 300000);
|
||||
ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ArmorSetEquipActiveSkillReuse", 60000);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
||||
+35
-3
@@ -630,6 +630,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && playable.getActingPlayer().hasEnteredWorld())
|
||||
{
|
||||
playable.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -713,7 +720,9 @@ public abstract class Inventory extends ItemContainer
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !playable.hasSkillReuse(skill.getReuseHashCode()))
|
||||
if (skill.isActive())
|
||||
{
|
||||
if (!playable.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -721,6 +730,14 @@ public abstract class Inventory extends ItemContainer
|
||||
playable.addTimeStamp(skill, equipDelay);
|
||||
playable.disableSkill(skill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && playable.getActingPlayer().hasEnteredWorld())
|
||||
{
|
||||
playable.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
@@ -780,6 +797,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && playable.getActingPlayer().hasEnteredWorld())
|
||||
{
|
||||
playable.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -927,9 +951,9 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
playable.addSkill(itemSkill);
|
||||
if (itemSkill.isActive() && (item != null))
|
||||
if (itemSkill.isActive())
|
||||
{
|
||||
if (!playable.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
if ((item != null) && !playable.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -938,8 +962,16 @@ public abstract class Inventory extends ItemContainer
|
||||
playable.disableSkill(itemSkill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!itemSkill.isBad() && (Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE > 0) && playable.getActingPlayer().hasEnteredWorld())
|
||||
{
|
||||
playable.addTimeStamp(itemSkill, Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimeStamp = true;
|
||||
}
|
||||
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -226,6 +226,16 @@ CalculateMagicSuccessBySkillMagicLevel = False
|
||||
# Default: 100
|
||||
BlowRateChanceLimit = 100
|
||||
|
||||
# Disables active, non offensive, item skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 300000 (5 minutes).
|
||||
ItemEquipActiveSkillReuse = 300000
|
||||
|
||||
# Disables active, non offensive, armor set skills for a fixed time upon equip.
|
||||
# Use 0 to disable.
|
||||
# Default: 60000 (1 minute).
|
||||
ArmorSetEquipActiveSkillReuse = 60000
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Class, Sub-class and skill learning options
|
||||
|
||||
@@ -207,6 +207,8 @@ public class Config
|
||||
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 int ITEM_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static int ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE;
|
||||
public static boolean LIFE_CRYSTAL_NEEDED;
|
||||
public static boolean DIVINE_SP_BOOK_NEEDED;
|
||||
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
|
||||
@@ -1878,6 +1880,8 @@ public class Config
|
||||
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);
|
||||
ITEM_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ItemEquipActiveSkillReuse", 300000);
|
||||
ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE = characterConfig.getInt("ArmorSetEquipActiveSkillReuse", 60000);
|
||||
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
|
||||
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
|
||||
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);
|
||||
|
||||
+35
-3
@@ -630,6 +630,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && playable.getActingPlayer().hasEnteredWorld())
|
||||
{
|
||||
playable.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -713,7 +720,9 @@ public abstract class Inventory extends ItemContainer
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
if (skill.isActive() && !playable.hasSkillReuse(skill.getReuseHashCode()))
|
||||
if (skill.isActive())
|
||||
{
|
||||
if (!playable.hasSkillReuse(skill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -721,6 +730,14 @@ public abstract class Inventory extends ItemContainer
|
||||
playable.addTimeStamp(skill, equipDelay);
|
||||
playable.disableSkill(skill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && playable.getActingPlayer().hasEnteredWorld())
|
||||
{
|
||||
playable.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
@@ -780,6 +797,13 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
addedSkills.put(skill.getId(), skill);
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (skill.isActive() && !skill.isBad() && (Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE > 0) && playable.getActingPlayer().hasEnteredWorld())
|
||||
{
|
||||
playable.addTimeStamp(skill, Config.ITEM_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
updateTimestamp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -927,9 +951,9 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
playable.addSkill(itemSkill);
|
||||
if (itemSkill.isActive() && (item != null))
|
||||
if (itemSkill.isActive())
|
||||
{
|
||||
if (!playable.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
if ((item != null) && !playable.hasSkillReuse(itemSkill.getReuseHashCode()))
|
||||
{
|
||||
final int equipDelay = item.getEquipReuseDelay();
|
||||
if (equipDelay > 0)
|
||||
@@ -938,8 +962,16 @@ public abstract class Inventory extends ItemContainer
|
||||
playable.disableSkill(itemSkill, equipDelay);
|
||||
}
|
||||
}
|
||||
|
||||
// Active, non offensive, skills start with reuse on equip.
|
||||
if (!itemSkill.isBad() && (Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE > 0) && playable.getActingPlayer().hasEnteredWorld())
|
||||
{
|
||||
playable.addTimeStamp(itemSkill, Config.ARMOR_SET_EQUIP_ACTIVE_SKILL_REUSE);
|
||||
}
|
||||
|
||||
updateTimeStamp = true;
|
||||
}
|
||||
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user