Prevent flood from using items with enchant options.
This commit is contained in:
@@ -92,6 +92,15 @@ public class EnchantItemOptionsData implements IXmlReader
|
|||||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemId
|
||||||
|
* @return if specified item id has available enchant effects.
|
||||||
|
*/
|
||||||
|
public boolean hasOptions(int itemId)
|
||||||
|
{
|
||||||
|
return _data.containsKey(itemId);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param itemId
|
* @param itemId
|
||||||
* @param enchantLevel
|
* @param enchantLevel
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ import org.l2jmobius.gameserver.cache.PaperdollCache;
|
|||||||
import org.l2jmobius.gameserver.data.ItemTable;
|
import org.l2jmobius.gameserver.data.ItemTable;
|
||||||
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
||||||
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
||||||
|
import org.l2jmobius.gameserver.data.xml.EnchantItemOptionsData;
|
||||||
import org.l2jmobius.gameserver.enums.ItemLocation;
|
import org.l2jmobius.gameserver.enums.ItemLocation;
|
||||||
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
||||||
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
||||||
@@ -1331,7 +1332,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (old != null)
|
if (old != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (old.getTemplate().hasSkills())
|
if (old.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(old.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1372,7 +1373,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (item.getTemplate().hasSkills())
|
if (item.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(item.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1435,7 +1436,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
getOwner().updateAbnormalVisualEffects();
|
getOwner().updateAbnormalVisualEffects();
|
||||||
getOwner().getActingPlayer().sendSkillList();
|
getOwner().getActingPlayer().sendSkillList();
|
||||||
_skillItemTask = null;
|
_skillItemTask = null;
|
||||||
}, 100);
|
}, 50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
|
|
||||||
if (_player != null)
|
if (_player != null)
|
||||||
{
|
{
|
||||||
// Avoid flood from class change or using items with skills.
|
// Prevent flood from class change or using items with skills.
|
||||||
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -92,6 +92,15 @@ public class EnchantItemOptionsData implements IXmlReader
|
|||||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemId
|
||||||
|
* @return if specified item id has available enchant effects.
|
||||||
|
*/
|
||||||
|
public boolean hasOptions(int itemId)
|
||||||
|
{
|
||||||
|
return _data.containsKey(itemId);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param itemId
|
* @param itemId
|
||||||
* @param enchantLevel
|
* @param enchantLevel
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ import org.l2jmobius.gameserver.cache.PaperdollCache;
|
|||||||
import org.l2jmobius.gameserver.data.ItemTable;
|
import org.l2jmobius.gameserver.data.ItemTable;
|
||||||
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
||||||
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
||||||
|
import org.l2jmobius.gameserver.data.xml.EnchantItemOptionsData;
|
||||||
import org.l2jmobius.gameserver.enums.ItemLocation;
|
import org.l2jmobius.gameserver.enums.ItemLocation;
|
||||||
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
||||||
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
||||||
@@ -1337,7 +1338,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (old != null)
|
if (old != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (old.getTemplate().hasSkills())
|
if (old.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(old.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1378,7 +1379,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (item.getTemplate().hasSkills())
|
if (item.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(item.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1441,7 +1442,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
getOwner().updateAbnormalVisualEffects();
|
getOwner().updateAbnormalVisualEffects();
|
||||||
getOwner().getActingPlayer().sendSkillList();
|
getOwner().getActingPlayer().sendSkillList();
|
||||||
_skillItemTask = null;
|
_skillItemTask = null;
|
||||||
}, 100);
|
}, 50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
|
|
||||||
if (_player != null)
|
if (_player != null)
|
||||||
{
|
{
|
||||||
// Avoid flood from class change or using items with skills.
|
// Prevent flood from class change or using items with skills.
|
||||||
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -92,6 +92,15 @@ public class EnchantItemOptionsData implements IXmlReader
|
|||||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemId
|
||||||
|
* @return if specified item id has available enchant effects.
|
||||||
|
*/
|
||||||
|
public boolean hasOptions(int itemId)
|
||||||
|
{
|
||||||
|
return _data.containsKey(itemId);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param itemId
|
* @param itemId
|
||||||
* @param enchantLevel
|
* @param enchantLevel
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ import org.l2jmobius.gameserver.cache.PaperdollCache;
|
|||||||
import org.l2jmobius.gameserver.data.ItemTable;
|
import org.l2jmobius.gameserver.data.ItemTable;
|
||||||
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
||||||
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
||||||
|
import org.l2jmobius.gameserver.data.xml.EnchantItemOptionsData;
|
||||||
import org.l2jmobius.gameserver.enums.ItemLocation;
|
import org.l2jmobius.gameserver.enums.ItemLocation;
|
||||||
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
||||||
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
||||||
@@ -1337,7 +1338,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (old != null)
|
if (old != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (old.getTemplate().hasSkills())
|
if (old.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(old.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1378,7 +1379,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (item.getTemplate().hasSkills())
|
if (item.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(item.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1441,7 +1442,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
getOwner().updateAbnormalVisualEffects();
|
getOwner().updateAbnormalVisualEffects();
|
||||||
getOwner().getActingPlayer().sendSkillList();
|
getOwner().getActingPlayer().sendSkillList();
|
||||||
_skillItemTask = null;
|
_skillItemTask = null;
|
||||||
}, 100);
|
}, 50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
|
|
||||||
if (_player != null)
|
if (_player != null)
|
||||||
{
|
{
|
||||||
// Avoid flood from class change or using items with skills.
|
// Prevent flood from class change or using items with skills.
|
||||||
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -92,6 +92,15 @@ public class EnchantItemOptionsData implements IXmlReader
|
|||||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemId
|
||||||
|
* @return if specified item id has available enchant effects.
|
||||||
|
*/
|
||||||
|
public boolean hasOptions(int itemId)
|
||||||
|
{
|
||||||
|
return _data.containsKey(itemId);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param itemId
|
* @param itemId
|
||||||
* @param enchantLevel
|
* @param enchantLevel
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ import org.l2jmobius.gameserver.cache.PaperdollCache;
|
|||||||
import org.l2jmobius.gameserver.data.ItemTable;
|
import org.l2jmobius.gameserver.data.ItemTable;
|
||||||
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
||||||
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
||||||
|
import org.l2jmobius.gameserver.data.xml.EnchantItemOptionsData;
|
||||||
import org.l2jmobius.gameserver.enums.ItemLocation;
|
import org.l2jmobius.gameserver.enums.ItemLocation;
|
||||||
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
||||||
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
||||||
@@ -1337,7 +1338,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (old != null)
|
if (old != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (old.getTemplate().hasSkills())
|
if (old.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(old.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1378,7 +1379,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (item.getTemplate().hasSkills())
|
if (item.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(item.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1441,7 +1442,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
getOwner().updateAbnormalVisualEffects();
|
getOwner().updateAbnormalVisualEffects();
|
||||||
getOwner().getActingPlayer().sendSkillList();
|
getOwner().getActingPlayer().sendSkillList();
|
||||||
_skillItemTask = null;
|
_skillItemTask = null;
|
||||||
}, 100);
|
}, 50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
|
|
||||||
if (_player != null)
|
if (_player != null)
|
||||||
{
|
{
|
||||||
// Avoid flood from class change or using items with skills.
|
// Prevent flood from class change or using items with skills.
|
||||||
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -92,6 +92,15 @@ public class EnchantItemOptionsData implements IXmlReader
|
|||||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemId
|
||||||
|
* @return if specified item id has available enchant effects.
|
||||||
|
*/
|
||||||
|
public boolean hasOptions(int itemId)
|
||||||
|
{
|
||||||
|
return _data.containsKey(itemId);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param itemId
|
* @param itemId
|
||||||
* @param enchantLevel
|
* @param enchantLevel
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ import org.l2jmobius.gameserver.data.ItemTable;
|
|||||||
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
||||||
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
||||||
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
||||||
|
import org.l2jmobius.gameserver.data.xml.EnchantItemOptionsData;
|
||||||
import org.l2jmobius.gameserver.enums.ItemLocation;
|
import org.l2jmobius.gameserver.enums.ItemLocation;
|
||||||
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
||||||
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
||||||
@@ -1380,7 +1381,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (old != null)
|
if (old != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (old.getTemplate().hasSkills())
|
if (old.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(old.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1445,7 +1446,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (item.getTemplate().hasSkills())
|
if (item.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(item.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1543,7 +1544,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
getOwner().updateAbnormalVisualEffects();
|
getOwner().updateAbnormalVisualEffects();
|
||||||
getOwner().getActingPlayer().sendSkillList();
|
getOwner().getActingPlayer().sendSkillList();
|
||||||
_skillItemTask = null;
|
_skillItemTask = null;
|
||||||
}, 100);
|
}, 50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
|
|
||||||
if (_player != null)
|
if (_player != null)
|
||||||
{
|
{
|
||||||
// Avoid flood from class change or using items with skills.
|
// Prevent flood from class change or using items with skills.
|
||||||
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -92,6 +92,15 @@ public class EnchantItemOptionsData implements IXmlReader
|
|||||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemId
|
||||||
|
* @return if specified item id has available enchant effects.
|
||||||
|
*/
|
||||||
|
public boolean hasOptions(int itemId)
|
||||||
|
{
|
||||||
|
return _data.containsKey(itemId);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param itemId
|
* @param itemId
|
||||||
* @param enchantLevel
|
* @param enchantLevel
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ import org.l2jmobius.gameserver.data.ItemTable;
|
|||||||
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
||||||
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
||||||
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
||||||
|
import org.l2jmobius.gameserver.data.xml.EnchantItemOptionsData;
|
||||||
import org.l2jmobius.gameserver.enums.ItemLocation;
|
import org.l2jmobius.gameserver.enums.ItemLocation;
|
||||||
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
||||||
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
||||||
@@ -1462,7 +1463,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (old != null)
|
if (old != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (old.getTemplate().hasSkills())
|
if (old.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(old.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1527,7 +1528,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (item.getTemplate().hasSkills())
|
if (item.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(item.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1625,7 +1626,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
getOwner().updateAbnormalVisualEffects();
|
getOwner().updateAbnormalVisualEffects();
|
||||||
getOwner().getActingPlayer().sendSkillList();
|
getOwner().getActingPlayer().sendSkillList();
|
||||||
_skillItemTask = null;
|
_skillItemTask = null;
|
||||||
}, 100);
|
}, 50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
|
|
||||||
if (_player != null)
|
if (_player != null)
|
||||||
{
|
{
|
||||||
// Avoid flood from class change or using items with skills.
|
// Prevent flood from class change or using items with skills.
|
||||||
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -92,6 +92,15 @@ public class EnchantItemOptionsData implements IXmlReader
|
|||||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemId
|
||||||
|
* @return if specified item id has available enchant effects.
|
||||||
|
*/
|
||||||
|
public boolean hasOptions(int itemId)
|
||||||
|
{
|
||||||
|
return _data.containsKey(itemId);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param itemId
|
* @param itemId
|
||||||
* @param enchantLevel
|
* @param enchantLevel
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ import org.l2jmobius.gameserver.data.ItemTable;
|
|||||||
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
||||||
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
||||||
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
||||||
|
import org.l2jmobius.gameserver.data.xml.EnchantItemOptionsData;
|
||||||
import org.l2jmobius.gameserver.enums.ItemLocation;
|
import org.l2jmobius.gameserver.enums.ItemLocation;
|
||||||
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
||||||
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
||||||
@@ -1462,7 +1463,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (old != null)
|
if (old != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (old.getTemplate().hasSkills())
|
if (old.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(old.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1527,7 +1528,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (item.getTemplate().hasSkills())
|
if (item.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(item.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1625,7 +1626,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
getOwner().updateAbnormalVisualEffects();
|
getOwner().updateAbnormalVisualEffects();
|
||||||
getOwner().getActingPlayer().sendSkillList();
|
getOwner().getActingPlayer().sendSkillList();
|
||||||
_skillItemTask = null;
|
_skillItemTask = null;
|
||||||
}, 100);
|
}, 50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
|
|
||||||
if (_player != null)
|
if (_player != null)
|
||||||
{
|
{
|
||||||
// Avoid flood from class change or using items with skills.
|
// Prevent flood from class change or using items with skills.
|
||||||
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -92,6 +92,15 @@ public class EnchantItemOptionsData implements IXmlReader
|
|||||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemId
|
||||||
|
* @return if specified item id has available enchant effects.
|
||||||
|
*/
|
||||||
|
public boolean hasOptions(int itemId)
|
||||||
|
{
|
||||||
|
return _data.containsKey(itemId);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param itemId
|
* @param itemId
|
||||||
* @param enchantLevel
|
* @param enchantLevel
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ import org.l2jmobius.gameserver.data.ItemTable;
|
|||||||
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
||||||
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
||||||
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
||||||
|
import org.l2jmobius.gameserver.data.xml.EnchantItemOptionsData;
|
||||||
import org.l2jmobius.gameserver.enums.ItemLocation;
|
import org.l2jmobius.gameserver.enums.ItemLocation;
|
||||||
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
||||||
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
||||||
@@ -1456,7 +1457,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (old != null)
|
if (old != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (old.getTemplate().hasSkills())
|
if (old.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(old.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1521,7 +1522,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (item.getTemplate().hasSkills())
|
if (item.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(item.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1619,7 +1620,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
getOwner().updateAbnormalVisualEffects();
|
getOwner().updateAbnormalVisualEffects();
|
||||||
getOwner().getActingPlayer().sendSkillList();
|
getOwner().getActingPlayer().sendSkillList();
|
||||||
_skillItemTask = null;
|
_skillItemTask = null;
|
||||||
}, 100);
|
}, 50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
|
|
||||||
if (_player != null)
|
if (_player != null)
|
||||||
{
|
{
|
||||||
// Avoid flood from class change or using items with skills.
|
// Prevent flood from class change or using items with skills.
|
||||||
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -92,6 +92,15 @@ public class EnchantItemOptionsData implements IXmlReader
|
|||||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemId
|
||||||
|
* @return if specified item id has available enchant effects.
|
||||||
|
*/
|
||||||
|
public boolean hasOptions(int itemId)
|
||||||
|
{
|
||||||
|
return _data.containsKey(itemId);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param itemId
|
* @param itemId
|
||||||
* @param enchantLevel
|
* @param enchantLevel
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ import org.l2jmobius.gameserver.data.ItemTable;
|
|||||||
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
||||||
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
||||||
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
||||||
|
import org.l2jmobius.gameserver.data.xml.EnchantItemOptionsData;
|
||||||
import org.l2jmobius.gameserver.enums.ItemLocation;
|
import org.l2jmobius.gameserver.enums.ItemLocation;
|
||||||
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
||||||
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
||||||
@@ -1438,7 +1439,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (old != null)
|
if (old != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (old.getTemplate().hasSkills())
|
if (old.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(old.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1503,7 +1504,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (item.getTemplate().hasSkills())
|
if (item.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(item.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1601,7 +1602,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
getOwner().updateAbnormalVisualEffects();
|
getOwner().updateAbnormalVisualEffects();
|
||||||
getOwner().getActingPlayer().sendSkillList();
|
getOwner().getActingPlayer().sendSkillList();
|
||||||
_skillItemTask = null;
|
_skillItemTask = null;
|
||||||
}, 100);
|
}, 50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
|
|
||||||
if (_player != null)
|
if (_player != null)
|
||||||
{
|
{
|
||||||
// Avoid flood from class change or using items with skills.
|
// Prevent flood from class change or using items with skills.
|
||||||
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -92,6 +92,15 @@ public class EnchantItemOptionsData implements IXmlReader
|
|||||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemId
|
||||||
|
* @return if specified item id has available enchant effects.
|
||||||
|
*/
|
||||||
|
public boolean hasOptions(int itemId)
|
||||||
|
{
|
||||||
|
return _data.containsKey(itemId);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param itemId
|
* @param itemId
|
||||||
* @param enchantLevel
|
* @param enchantLevel
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ import org.l2jmobius.gameserver.data.ItemTable;
|
|||||||
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
||||||
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
||||||
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
||||||
|
import org.l2jmobius.gameserver.data.xml.EnchantItemOptionsData;
|
||||||
import org.l2jmobius.gameserver.enums.ItemLocation;
|
import org.l2jmobius.gameserver.enums.ItemLocation;
|
||||||
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
||||||
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
||||||
@@ -1438,7 +1439,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (old != null)
|
if (old != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (old.getTemplate().hasSkills())
|
if (old.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(old.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1503,7 +1504,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (item.getTemplate().hasSkills())
|
if (item.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(item.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1601,7 +1602,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
getOwner().updateAbnormalVisualEffects();
|
getOwner().updateAbnormalVisualEffects();
|
||||||
getOwner().getActingPlayer().sendSkillList();
|
getOwner().getActingPlayer().sendSkillList();
|
||||||
_skillItemTask = null;
|
_skillItemTask = null;
|
||||||
}, 100);
|
}, 50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
|
|
||||||
if (_player != null)
|
if (_player != null)
|
||||||
{
|
{
|
||||||
// Avoid flood from class change or using items with skills.
|
// Prevent flood from class change or using items with skills.
|
||||||
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -92,6 +92,15 @@ public class EnchantItemOptionsData implements IXmlReader
|
|||||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemId
|
||||||
|
* @return if specified item id has available enchant effects.
|
||||||
|
*/
|
||||||
|
public boolean hasOptions(int itemId)
|
||||||
|
{
|
||||||
|
return _data.containsKey(itemId);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param itemId
|
* @param itemId
|
||||||
* @param enchantLevel
|
* @param enchantLevel
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ import org.l2jmobius.gameserver.data.ItemTable;
|
|||||||
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
||||||
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
||||||
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
||||||
|
import org.l2jmobius.gameserver.data.xml.EnchantItemOptionsData;
|
||||||
import org.l2jmobius.gameserver.enums.ItemLocation;
|
import org.l2jmobius.gameserver.enums.ItemLocation;
|
||||||
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
||||||
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
||||||
@@ -1449,7 +1450,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (old != null)
|
if (old != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (old.getTemplate().hasSkills())
|
if (old.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(old.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1514,7 +1515,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (item.getTemplate().hasSkills())
|
if (item.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(item.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1612,7 +1613,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
getOwner().updateAbnormalVisualEffects();
|
getOwner().updateAbnormalVisualEffects();
|
||||||
getOwner().getActingPlayer().sendSkillList();
|
getOwner().getActingPlayer().sendSkillList();
|
||||||
_skillItemTask = null;
|
_skillItemTask = null;
|
||||||
}, 100);
|
}, 50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
|
|
||||||
if (_player != null)
|
if (_player != null)
|
||||||
{
|
{
|
||||||
// Avoid flood from class change or using items with skills.
|
// Prevent flood from class change or using items with skills.
|
||||||
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -92,6 +92,15 @@ public class EnchantItemOptionsData implements IXmlReader
|
|||||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemId
|
||||||
|
* @return if specified item id has available enchant effects.
|
||||||
|
*/
|
||||||
|
public boolean hasOptions(int itemId)
|
||||||
|
{
|
||||||
|
return _data.containsKey(itemId);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param itemId
|
* @param itemId
|
||||||
* @param enchantLevel
|
* @param enchantLevel
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ import org.l2jmobius.gameserver.cache.PaperdollCache;
|
|||||||
import org.l2jmobius.gameserver.data.ItemTable;
|
import org.l2jmobius.gameserver.data.ItemTable;
|
||||||
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
||||||
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
||||||
|
import org.l2jmobius.gameserver.data.xml.EnchantItemOptionsData;
|
||||||
import org.l2jmobius.gameserver.enums.ItemLocation;
|
import org.l2jmobius.gameserver.enums.ItemLocation;
|
||||||
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
||||||
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
||||||
@@ -1339,7 +1340,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (old != null)
|
if (old != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (old.getTemplate().hasSkills())
|
if (old.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(old.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1380,7 +1381,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (item.getTemplate().hasSkills())
|
if (item.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(item.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1443,7 +1444,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
getOwner().updateAbnormalVisualEffects();
|
getOwner().updateAbnormalVisualEffects();
|
||||||
getOwner().getActingPlayer().sendSkillList();
|
getOwner().getActingPlayer().sendSkillList();
|
||||||
_skillItemTask = null;
|
_skillItemTask = null;
|
||||||
}, 100);
|
}, 50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
|
|
||||||
if (_player != null)
|
if (_player != null)
|
||||||
{
|
{
|
||||||
// Avoid flood from class change or using items with skills.
|
// Prevent flood from class change or using items with skills.
|
||||||
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -92,6 +92,15 @@ public class EnchantItemOptionsData implements IXmlReader
|
|||||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemId
|
||||||
|
* @return if specified item id has available enchant effects.
|
||||||
|
*/
|
||||||
|
public boolean hasOptions(int itemId)
|
||||||
|
{
|
||||||
|
return _data.containsKey(itemId);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param itemId
|
* @param itemId
|
||||||
* @param enchantLevel
|
* @param enchantLevel
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ import org.l2jmobius.gameserver.cache.PaperdollCache;
|
|||||||
import org.l2jmobius.gameserver.data.ItemTable;
|
import org.l2jmobius.gameserver.data.ItemTable;
|
||||||
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
||||||
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
||||||
|
import org.l2jmobius.gameserver.data.xml.EnchantItemOptionsData;
|
||||||
import org.l2jmobius.gameserver.enums.ItemLocation;
|
import org.l2jmobius.gameserver.enums.ItemLocation;
|
||||||
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
||||||
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
||||||
@@ -1339,7 +1340,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (old != null)
|
if (old != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (old.getTemplate().hasSkills())
|
if (old.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(old.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1380,7 +1381,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (item.getTemplate().hasSkills())
|
if (item.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(item.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1443,7 +1444,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
getOwner().updateAbnormalVisualEffects();
|
getOwner().updateAbnormalVisualEffects();
|
||||||
getOwner().getActingPlayer().sendSkillList();
|
getOwner().getActingPlayer().sendSkillList();
|
||||||
_skillItemTask = null;
|
_skillItemTask = null;
|
||||||
}, 100);
|
}, 50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
|
|
||||||
if (_player != null)
|
if (_player != null)
|
||||||
{
|
{
|
||||||
// Avoid flood from class change or using items with skills.
|
// Prevent flood from class change or using items with skills.
|
||||||
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -92,6 +92,15 @@ public class EnchantItemOptionsData implements IXmlReader
|
|||||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemId
|
||||||
|
* @return if specified item id has available enchant effects.
|
||||||
|
*/
|
||||||
|
public boolean hasOptions(int itemId)
|
||||||
|
{
|
||||||
|
return _data.containsKey(itemId);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param itemId
|
* @param itemId
|
||||||
* @param enchantLevel
|
* @param enchantLevel
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ import org.l2jmobius.gameserver.data.ItemTable;
|
|||||||
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
||||||
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
||||||
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
||||||
|
import org.l2jmobius.gameserver.data.xml.EnchantItemOptionsData;
|
||||||
import org.l2jmobius.gameserver.enums.ItemLocation;
|
import org.l2jmobius.gameserver.enums.ItemLocation;
|
||||||
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
||||||
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
||||||
@@ -1382,7 +1383,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (old != null)
|
if (old != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (old.getTemplate().hasSkills())
|
if (old.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(old.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1447,7 +1448,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (item.getTemplate().hasSkills())
|
if (item.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(item.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1545,7 +1546,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
getOwner().updateAbnormalVisualEffects();
|
getOwner().updateAbnormalVisualEffects();
|
||||||
getOwner().getActingPlayer().sendSkillList();
|
getOwner().getActingPlayer().sendSkillList();
|
||||||
_skillItemTask = null;
|
_skillItemTask = null;
|
||||||
}, 100);
|
}, 50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
|
|
||||||
if (_player != null)
|
if (_player != null)
|
||||||
{
|
{
|
||||||
// Avoid flood from class change or using items with skills.
|
// Prevent flood from class change or using items with skills.
|
||||||
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -92,6 +92,15 @@ public class EnchantItemOptionsData implements IXmlReader
|
|||||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemId
|
||||||
|
* @return if specified item id has available enchant effects.
|
||||||
|
*/
|
||||||
|
public boolean hasOptions(int itemId)
|
||||||
|
{
|
||||||
|
return _data.containsKey(itemId);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param itemId
|
* @param itemId
|
||||||
* @param enchantLevel
|
* @param enchantLevel
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ import org.l2jmobius.gameserver.data.ItemTable;
|
|||||||
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
||||||
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
||||||
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
||||||
|
import org.l2jmobius.gameserver.data.xml.EnchantItemOptionsData;
|
||||||
import org.l2jmobius.gameserver.enums.ItemLocation;
|
import org.l2jmobius.gameserver.enums.ItemLocation;
|
||||||
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
||||||
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
||||||
@@ -1464,7 +1465,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (old != null)
|
if (old != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (old.getTemplate().hasSkills())
|
if (old.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(old.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1529,7 +1530,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (item.getTemplate().hasSkills())
|
if (item.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(item.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1627,7 +1628,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
getOwner().updateAbnormalVisualEffects();
|
getOwner().updateAbnormalVisualEffects();
|
||||||
getOwner().getActingPlayer().sendSkillList();
|
getOwner().getActingPlayer().sendSkillList();
|
||||||
_skillItemTask = null;
|
_skillItemTask = null;
|
||||||
}, 100);
|
}, 50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
|
|
||||||
if (_player != null)
|
if (_player != null)
|
||||||
{
|
{
|
||||||
// Avoid flood from class change or using items with skills.
|
// Prevent flood from class change or using items with skills.
|
||||||
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -92,6 +92,15 @@ public class EnchantItemOptionsData implements IXmlReader
|
|||||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemId
|
||||||
|
* @return if specified item id has available enchant effects.
|
||||||
|
*/
|
||||||
|
public boolean hasOptions(int itemId)
|
||||||
|
{
|
||||||
|
return _data.containsKey(itemId);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param itemId
|
* @param itemId
|
||||||
* @param enchantLevel
|
* @param enchantLevel
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ import org.l2jmobius.gameserver.data.ItemTable;
|
|||||||
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
||||||
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
||||||
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
||||||
|
import org.l2jmobius.gameserver.data.xml.EnchantItemOptionsData;
|
||||||
import org.l2jmobius.gameserver.enums.ItemLocation;
|
import org.l2jmobius.gameserver.enums.ItemLocation;
|
||||||
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
||||||
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
||||||
@@ -1464,7 +1465,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (old != null)
|
if (old != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (old.getTemplate().hasSkills())
|
if (old.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(old.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1529,7 +1530,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (item.getTemplate().hasSkills())
|
if (item.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(item.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1627,7 +1628,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
getOwner().updateAbnormalVisualEffects();
|
getOwner().updateAbnormalVisualEffects();
|
||||||
getOwner().getActingPlayer().sendSkillList();
|
getOwner().getActingPlayer().sendSkillList();
|
||||||
_skillItemTask = null;
|
_skillItemTask = null;
|
||||||
}, 100);
|
}, 50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
|
|
||||||
if (_player != null)
|
if (_player != null)
|
||||||
{
|
{
|
||||||
// Avoid flood from class change or using items with skills.
|
// Prevent flood from class change or using items with skills.
|
||||||
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -92,6 +92,15 @@ public class EnchantItemOptionsData implements IXmlReader
|
|||||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemId
|
||||||
|
* @return if specified item id has available enchant effects.
|
||||||
|
*/
|
||||||
|
public boolean hasOptions(int itemId)
|
||||||
|
{
|
||||||
|
return _data.containsKey(itemId);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param itemId
|
* @param itemId
|
||||||
* @param enchantLevel
|
* @param enchantLevel
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ import org.l2jmobius.gameserver.data.ItemTable;
|
|||||||
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
||||||
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
||||||
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
||||||
|
import org.l2jmobius.gameserver.data.xml.EnchantItemOptionsData;
|
||||||
import org.l2jmobius.gameserver.enums.ItemLocation;
|
import org.l2jmobius.gameserver.enums.ItemLocation;
|
||||||
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
||||||
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
||||||
@@ -1458,7 +1459,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (old != null)
|
if (old != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (old.getTemplate().hasSkills())
|
if (old.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(old.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1523,7 +1524,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (item.getTemplate().hasSkills())
|
if (item.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(item.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1621,7 +1622,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
getOwner().updateAbnormalVisualEffects();
|
getOwner().updateAbnormalVisualEffects();
|
||||||
getOwner().getActingPlayer().sendSkillList();
|
getOwner().getActingPlayer().sendSkillList();
|
||||||
_skillItemTask = null;
|
_skillItemTask = null;
|
||||||
}, 100);
|
}, 50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
|
|
||||||
if (_player != null)
|
if (_player != null)
|
||||||
{
|
{
|
||||||
// Avoid flood from class change or using items with skills.
|
// Prevent flood from class change or using items with skills.
|
||||||
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -92,6 +92,15 @@ public class EnchantItemOptionsData implements IXmlReader
|
|||||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemId
|
||||||
|
* @return if specified item id has available enchant effects.
|
||||||
|
*/
|
||||||
|
public boolean hasOptions(int itemId)
|
||||||
|
{
|
||||||
|
return _data.containsKey(itemId);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param itemId
|
* @param itemId
|
||||||
* @param enchantLevel
|
* @param enchantLevel
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ import org.l2jmobius.gameserver.cache.PaperdollCache;
|
|||||||
import org.l2jmobius.gameserver.data.ItemTable;
|
import org.l2jmobius.gameserver.data.ItemTable;
|
||||||
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
||||||
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
||||||
|
import org.l2jmobius.gameserver.data.xml.EnchantItemOptionsData;
|
||||||
import org.l2jmobius.gameserver.enums.ItemLocation;
|
import org.l2jmobius.gameserver.enums.ItemLocation;
|
||||||
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
||||||
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
||||||
@@ -1331,7 +1332,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (old != null)
|
if (old != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (old.getTemplate().hasSkills())
|
if (old.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(old.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1372,7 +1373,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (item.getTemplate().hasSkills())
|
if (item.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(item.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1435,7 +1436,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
getOwner().updateAbnormalVisualEffects();
|
getOwner().updateAbnormalVisualEffects();
|
||||||
getOwner().getActingPlayer().sendSkillList();
|
getOwner().getActingPlayer().sendSkillList();
|
||||||
_skillItemTask = null;
|
_skillItemTask = null;
|
||||||
}, 100);
|
}, 50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
|
|
||||||
if (_player != null)
|
if (_player != null)
|
||||||
{
|
{
|
||||||
// Avoid flood from class change or using items with skills.
|
// Prevent flood from class change or using items with skills.
|
||||||
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -92,6 +92,15 @@ public class EnchantItemOptionsData implements IXmlReader
|
|||||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemId
|
||||||
|
* @return if specified item id has available enchant effects.
|
||||||
|
*/
|
||||||
|
public boolean hasOptions(int itemId)
|
||||||
|
{
|
||||||
|
return _data.containsKey(itemId);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param itemId
|
* @param itemId
|
||||||
* @param enchantLevel
|
* @param enchantLevel
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ import org.l2jmobius.gameserver.data.ItemTable;
|
|||||||
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
||||||
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
||||||
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
||||||
|
import org.l2jmobius.gameserver.data.xml.EnchantItemOptionsData;
|
||||||
import org.l2jmobius.gameserver.enums.ItemLocation;
|
import org.l2jmobius.gameserver.enums.ItemLocation;
|
||||||
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
||||||
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
||||||
@@ -1566,7 +1567,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (old != null)
|
if (old != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (old.getTemplate().hasSkills())
|
if (old.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(old.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1631,7 +1632,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (item.getTemplate().hasSkills())
|
if (item.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(item.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1729,7 +1730,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
getOwner().updateAbnormalVisualEffects();
|
getOwner().updateAbnormalVisualEffects();
|
||||||
getOwner().getActingPlayer().sendSkillList();
|
getOwner().getActingPlayer().sendSkillList();
|
||||||
_skillItemTask = null;
|
_skillItemTask = null;
|
||||||
}, 100);
|
}, 50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
|
|
||||||
if (_player != null)
|
if (_player != null)
|
||||||
{
|
{
|
||||||
// Avoid flood from class change or using items with skills.
|
// Prevent flood from class change or using items with skills.
|
||||||
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -92,6 +92,15 @@ public class EnchantItemOptionsData implements IXmlReader
|
|||||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemId
|
||||||
|
* @return if specified item id has available enchant effects.
|
||||||
|
*/
|
||||||
|
public boolean hasOptions(int itemId)
|
||||||
|
{
|
||||||
|
return _data.containsKey(itemId);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param itemId
|
* @param itemId
|
||||||
* @param enchantLevel
|
* @param enchantLevel
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ import org.l2jmobius.gameserver.data.ItemTable;
|
|||||||
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
||||||
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
||||||
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
||||||
|
import org.l2jmobius.gameserver.data.xml.EnchantItemOptionsData;
|
||||||
import org.l2jmobius.gameserver.enums.ItemLocation;
|
import org.l2jmobius.gameserver.enums.ItemLocation;
|
||||||
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
||||||
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
||||||
@@ -1575,7 +1576,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (old != null)
|
if (old != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (old.getTemplate().hasSkills())
|
if (old.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(old.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1640,7 +1641,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (item.getTemplate().hasSkills())
|
if (item.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(item.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1738,7 +1739,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
getOwner().updateAbnormalVisualEffects();
|
getOwner().updateAbnormalVisualEffects();
|
||||||
getOwner().getActingPlayer().sendSkillList();
|
getOwner().getActingPlayer().sendSkillList();
|
||||||
_skillItemTask = null;
|
_skillItemTask = null;
|
||||||
}, 100);
|
}, 50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
|
|
||||||
if (_player != null)
|
if (_player != null)
|
||||||
{
|
{
|
||||||
// Avoid flood from class change or using items with skills.
|
// Prevent flood from class change or using items with skills.
|
||||||
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -92,6 +92,15 @@ public class EnchantItemOptionsData implements IXmlReader
|
|||||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _data.size() + " items and " + counter + " options.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemId
|
||||||
|
* @return if specified item id has available enchant effects.
|
||||||
|
*/
|
||||||
|
public boolean hasOptions(int itemId)
|
||||||
|
{
|
||||||
|
return _data.containsKey(itemId);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param itemId
|
* @param itemId
|
||||||
* @param enchantLevel
|
* @param enchantLevel
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ import org.l2jmobius.gameserver.data.ItemTable;
|
|||||||
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
import org.l2jmobius.gameserver.data.xml.AgathionData;
|
||||||
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
import org.l2jmobius.gameserver.data.xml.AppearanceItemData;
|
||||||
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
import org.l2jmobius.gameserver.data.xml.ArmorSetData;
|
||||||
|
import org.l2jmobius.gameserver.data.xml.EnchantItemOptionsData;
|
||||||
import org.l2jmobius.gameserver.enums.ItemLocation;
|
import org.l2jmobius.gameserver.enums.ItemLocation;
|
||||||
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
import org.l2jmobius.gameserver.enums.ItemSkillType;
|
||||||
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
import org.l2jmobius.gameserver.enums.PlayerCondOverride;
|
||||||
@@ -1575,7 +1576,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (old != null)
|
if (old != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (old.getTemplate().hasSkills())
|
if (old.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(old.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1640,7 +1641,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
// Prevent flood from using items with skills.
|
// Prevent flood from using items with skills.
|
||||||
if (item.getTemplate().hasSkills())
|
if (item.getTemplate().hasSkills() || EnchantItemOptionsData.getInstance().hasOptions(item.getId()))
|
||||||
{
|
{
|
||||||
checkEquipTask();
|
checkEquipTask();
|
||||||
}
|
}
|
||||||
@@ -1738,7 +1739,7 @@ public abstract class Inventory extends ItemContainer
|
|||||||
getOwner().updateAbnormalVisualEffects();
|
getOwner().updateAbnormalVisualEffects();
|
||||||
getOwner().getActingPlayer().sendSkillList();
|
getOwner().getActingPlayer().sendSkillList();
|
||||||
_skillItemTask = null;
|
_skillItemTask = null;
|
||||||
}, 100);
|
}, 50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ public class GameClient extends ChannelInboundHandler<GameClient>
|
|||||||
|
|
||||||
if (_player != null)
|
if (_player != null)
|
||||||
{
|
{
|
||||||
// Avoid flood from class change or using items with skills.
|
// Prevent flood from class change or using items with skills.
|
||||||
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
if ((_player.isChangingClass() || _player.isUsingSkillItem()) && ((packet instanceof SkillList) || (packet instanceof AcquireSkillList) || (packet instanceof ExUserInfoAbnormalVisualEffect) || (packet instanceof AbnormalStatusUpdate) || (packet instanceof ExAbnormalStatusUpdateFromTarget)))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user