Proper naming for Item ItemTemplate getter.

This commit is contained in:
MobiusDevelopment 2022-02-03 23:09:47 +00:00
parent c81f7ee38c
commit 90e0adc645
2245 changed files with 8241 additions and 8241 deletions

View File

@ -181,10 +181,10 @@ public class AdminElement implements IAdminCommandHandler
player.sendInventoryUpdate(iu); player.sendInventoryUpdate(iu);
// informations // informations
BuilderUtil.sendSysMessage(activeChar, "Changed elemental power of " + player.getName() + "'s " + itemInstance.getItem().getName() + " from " + old + " to " + current + "."); BuilderUtil.sendSysMessage(activeChar, "Changed elemental power of " + player.getName() + "'s " + itemInstance.getTemplate().getName() + " from " + old + " to " + current + ".");
if (player != activeChar) if (player != activeChar)
{ {
player.sendMessage(activeChar.getName() + " has changed the elemental power of your " + itemInstance.getItem().getName() + " from " + old + " to " + current + "."); player.sendMessage(activeChar.getName() + " has changed the elemental power of your " + itemInstance.getTemplate().getName() + " from " + old + " to " + current + ".");
} }
} }
} }

View File

@ -203,8 +203,8 @@ public class AdminEnchant implements IAdminCommandHandler
player.broadcastUserInfo(); player.broadcastUserInfo();
// informations // informations
BuilderUtil.sendSysMessage(activeChar, "Changed enchantment of " + player.getName() + "'s " + itemInstance.getItem().getName() + " from " + curEnchant + " to " + ench + "."); BuilderUtil.sendSysMessage(activeChar, "Changed enchantment of " + player.getName() + "'s " + itemInstance.getTemplate().getName() + " from " + curEnchant + " to " + ench + ".");
player.sendMessage("Admin has changed the enchantment of your " + itemInstance.getItem().getName() + " from " + curEnchant + " to " + ench + "."); player.sendMessage("Admin has changed the enchantment of your " + itemInstance.getTemplate().getName() + " from " + curEnchant + " to " + ench + ".");
} }
} }

View File

@ -86,7 +86,7 @@ public class ConvertItem extends AbstractEffect
final int enchantLevel = wpn.getEnchantLevel(); final int enchantLevel = wpn.getEnchantLevel();
final AttributeHolder elementals = wpn.getAttributes() == null ? null : wpn.getAttackAttribute(); final AttributeHolder elementals = wpn.getAttributes() == null ? null : wpn.getAttackAttribute();
final List<Item> unequipped = player.getInventory().unEquipItemInBodySlotAndRecord(wpn.getItem().getBodyPart()); final List<Item> unequipped = player.getInventory().unEquipItemInBodySlotAndRecord(wpn.getTemplate().getBodyPart());
final InventoryUpdate iu = new InventoryUpdate(); final InventoryUpdate iu = new InventoryUpdate();
for (Item unequippedItem : unequipped) for (Item unequippedItem : unequipped)
{ {
@ -102,7 +102,7 @@ public class ConvertItem extends AbstractEffect
byte count = 0; byte count = 0;
for (Item unequippedItem : unequipped) for (Item unequippedItem : unequipped)
{ {
if (!(unequippedItem.getItem() instanceof Weapon)) if (!(unequippedItem.getTemplate() instanceof Weapon))
{ {
count++; count++;
continue; continue;

View File

@ -99,7 +99,7 @@ public class Heal extends AbstractEffect
final Item weaponInst = effector.getActiveWeaponInstance(); final Item weaponInst = effector.getActiveWeaponInstance();
if (weaponInst != null) if (weaponInst != null)
{ {
mAtkMul = weaponInst.getItem().getCrystalTypePlus() == CrystalType.R ? 4 : weaponInst.getItem().getCrystalTypePlus() == CrystalType.S ? 2 : 1; mAtkMul = weaponInst.getTemplate().getCrystalTypePlus() == CrystalType.R ? 4 : weaponInst.getTemplate().getCrystalTypePlus() == CrystalType.S ? 2 : 1;
} }
// shot dynamic bonus // shot dynamic bonus
mAtkMul = bss ? mAtkMul * 4 : mAtkMul + 1; mAtkMul = bss ? mAtkMul * 4 : mAtkMul + 1;

View File

@ -95,7 +95,7 @@ public class HpCpHeal extends AbstractEffect
final Item weaponInst = effector.getActiveWeaponInstance(); final Item weaponInst = effector.getActiveWeaponInstance();
if (weaponInst != null) if (weaponInst != null)
{ {
mAtkMul = weaponInst.getItem().getCrystalTypePlus() == CrystalType.R ? 4 : weaponInst.getItem().getCrystalTypePlus() == CrystalType.S ? 2 : 1; mAtkMul = weaponInst.getTemplate().getCrystalTypePlus() == CrystalType.R ? 4 : weaponInst.getTemplate().getCrystalTypePlus() == CrystalType.S ? 2 : 1;
} }
// shot dynamic bonus // shot dynamic bonus
mAtkMul = bss ? mAtkMul * 4 : mAtkMul + 1; mAtkMul = bss ? mAtkMul * 4 : mAtkMul + 1;

View File

@ -132,7 +132,7 @@ public class RestorationRandom extends AbstractEffect
final InventoryUpdate playerIU = new InventoryUpdate(); final InventoryUpdate playerIU = new InventoryUpdate();
for (Entry<Item, Long> entry : extractedItems.entrySet()) for (Entry<Item, Long> entry : extractedItems.entrySet())
{ {
if (entry.getKey().getItem().isStackable()) if (entry.getKey().getTemplate().isStackable())
{ {
playerIU.addModifiedItem(entry.getKey()); playerIU.addModifiedItem(entry.getKey());
} }

View File

@ -77,7 +77,7 @@ public class BeastSoulShot implements IItemHandler
final int itemId = item.getId(); final int itemId = item.getId();
final long shotCount = item.getCount(); final long shotCount = item.getCount();
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
short shotConsumption = 0; short shotConsumption = 0;
if ((pet != null) && !pet.isChargedShot(ShotType.SOULSHOTS)) if ((pet != null) && !pet.isChargedShot(ShotType.SOULSHOTS))
{ {

View File

@ -77,7 +77,7 @@ public class BeastSpiritShot implements IItemHandler
final int itemId = item.getId(); final int itemId = item.getId();
final boolean isBlessed = ((itemId == 6647) || (itemId == 20334)); // TODO: Unhardcode these! final boolean isBlessed = ((itemId == 6647) || (itemId == 20334)); // TODO: Unhardcode these!
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
final ShotType shotType = isBlessed ? ShotType.BLESSED_SPIRITSHOTS : ShotType.SPIRITSHOTS; final ShotType shotType = isBlessed ? ShotType.BLESSED_SPIRITSHOTS : ShotType.SPIRITSHOTS;
short shotConsumption = 0; short shotConsumption = 0;
if ((pet != null) && !pet.isChargedShot(shotType)) if ((pet != null) && !pet.isChargedShot(shotType))

View File

@ -49,7 +49,7 @@ public class BlessedSoulShots implements IItemHandler
final Player player = playable.getActingPlayer(); final Player player = playable.getActingPlayer();
final Item weaponInst = player.getActiveWeaponInstance(); final Item weaponInst = player.getActiveWeaponInstance();
final Weapon weaponItem = player.getActiveWeaponItem(); final Weapon weaponItem = player.getActiveWeaponItem();
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
if (skills == null) if (skills == null)
{ {
LOGGER.warning(getClass().getSimpleName() + ": is missing skills!"); LOGGER.warning(getClass().getSimpleName() + ": is missing skills!");
@ -68,7 +68,7 @@ public class BlessedSoulShots implements IItemHandler
return false; return false;
} }
final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SOULSHOT) && (weaponInst.getItem().getCrystalTypePlus() == item.getItem().getCrystalTypePlus()); final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SOULSHOT) && (weaponInst.getTemplate().getCrystalTypePlus() == item.getTemplate().getCrystalTypePlus());
if (!gradeCheck) if (!gradeCheck)
{ {
if (!player.getAutoSoulShot().contains(itemId)) if (!player.getAutoSoulShot().contains(itemId))

View File

@ -45,7 +45,7 @@ public class BlessedSpiritShot implements IItemHandler
final Player player = playable.getActingPlayer(); final Player player = playable.getActingPlayer();
final Item weaponInst = player.getActiveWeaponInstance(); final Item weaponInst = player.getActiveWeaponInstance();
final Weapon weaponItem = player.getActiveWeaponItem(); final Weapon weaponItem = player.getActiveWeaponItem();
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
if (skills == null) if (skills == null)
{ {
LOGGER.warning(getClass().getSimpleName() + ": is missing skills!"); LOGGER.warning(getClass().getSimpleName() + ": is missing skills!");
@ -71,7 +71,7 @@ public class BlessedSpiritShot implements IItemHandler
} }
// Check for correct grade // Check for correct grade
final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SPIRITSHOT) && (weaponInst.getItem().getCrystalTypePlus() == item.getItem().getCrystalTypePlus()); final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SPIRITSHOT) && (weaponInst.getTemplate().getCrystalTypePlus() == item.getTemplate().getCrystalTypePlus());
if (!gradeCheck) if (!gradeCheck)
{ {
if (!player.getAutoSoulShot().contains(itemId)) if (!player.getAutoSoulShot().contains(itemId))

View File

@ -69,7 +69,7 @@ public class ChangeAttributeCrystal implements IItemHandler
final List<ItemInfo> itemList = new ArrayList<>(); final List<ItemInfo> itemList = new ArrayList<>();
for (Item i : player.getInventory().getItems()) for (Item i : player.getInventory().getItems())
{ {
if (i.isWeapon() && i.hasAttributes() && (i.getItem().getItemGrade() == ITEM_GRADES.get(item.getId()))) if (i.isWeapon() && i.hasAttributes() && (i.getTemplate().getItemGrade() == ITEM_GRADES.get(item.getId())))
{ {
itemList.add(new ItemInfo(i)); itemList.add(new ItemInfo(i));
} }

View File

@ -40,7 +40,7 @@ public class CharmOfCourage implements IItemHandler
final Player player = playable.getActingPlayer(); final Player player = playable.getActingPlayer();
int level = player.getLevel(); int level = player.getLevel();
final int itemLevel = item.getItem().getCrystalType().getLevel(); final int itemLevel = item.getTemplate().getCrystalType().getLevel();
if (level < 20) if (level < 20)
{ {
level = 0; level = 0;

View File

@ -51,7 +51,7 @@ public class ExtractableItems implements IItemHandler
} }
final Player player = playable.getActingPlayer(); final Player player = playable.getActingPlayer();
final EtcItem etcitem = (EtcItem) item.getItem(); final EtcItem etcitem = (EtcItem) item.getTemplate();
final List<ExtractableProduct> exitems = etcitem.getExtractableItems(); final List<ExtractableProduct> exitems = etcitem.getExtractableItems();
if (exitems == null) if (exitems == null)
{ {
@ -98,7 +98,7 @@ public class ExtractableItems implements IItemHandler
boolean alreadyExtracted = false; boolean alreadyExtracted = false;
for (Item i : extractedItems.keySet()) for (Item i : extractedItems.keySet())
{ {
if (i.getItem().getId() == expi.getId()) if (i.getTemplate().getId() == expi.getId())
{ {
alreadyExtracted = true; alreadyExtracted = true;
break; break;

View File

@ -61,7 +61,7 @@ public class FishShots implements IItemHandler
} }
final long count = item.getCount(); final long count = item.getCount();
final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.FISHINGSHOT) && (weaponInst.getItem().getCrystalTypePlus() == item.getItem().getCrystalTypePlus()); final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.FISHINGSHOT) && (weaponInst.getTemplate().getCrystalTypePlus() == item.getTemplate().getCrystalTypePlus());
if (!gradeCheck) if (!gradeCheck)
{ {
player.sendPacket(SystemMessageId.THAT_IS_THE_WRONG_GRADE_OF_SOULSHOT_FOR_THAT_FISHING_POLE); player.sendPacket(SystemMessageId.THAT_IS_THE_WRONG_GRADE_OF_SOULSHOT_FOR_THAT_FISHING_POLE);
@ -78,7 +78,7 @@ public class FishShots implements IItemHandler
final WorldObject oldTarget = player.getTarget(); final WorldObject oldTarget = player.getTarget();
player.setTarget(player); player.setTarget(player);
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
if (skills == null) if (skills == null)
{ {
LOGGER.warning(getClass().getSimpleName() + ": is missing skills!"); LOGGER.warning(getClass().getSimpleName() + ": is missing skills!");

View File

@ -48,7 +48,7 @@ public class Harvester implements IItemHandler
return false; return false;
} }
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
if (skills == null) if (skills == null)
{ {
LOGGER.warning(getClass().getSimpleName() + ": is missing skills!"); LOGGER.warning(getClass().getSimpleName() + ": is missing skills!");

View File

@ -58,7 +58,7 @@ public class ItemSkillsTemplate implements IItemHandler
return false; return false;
} }
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
if (skills == null) if (skills == null)
{ {
LOGGER.info("Item " + item + " does not have registered any skill for handler."); LOGGER.info("Item " + item + " does not have registered any skill for handler.");
@ -122,7 +122,7 @@ public class ItemSkillsTemplate implements IItemHandler
playable.doCast(itemSkill); playable.doCast(itemSkill);
successfulUse = true; successfulUse = true;
} }
else if (itemSkill.isWithoutAction() || item.getItem().hasImmediateEffect() || item.getItem().hasExImmediateEffect()) else if (itemSkill.isWithoutAction() || item.getTemplate().hasImmediateEffect() || item.getTemplate().hasExImmediateEffect())
{ {
SkillCaster.triggerCast(playable, null, itemSkill, item, false); SkillCaster.triggerCast(playable, null, itemSkill, item, false);
successfulUse = true; successfulUse = true;
@ -163,12 +163,12 @@ public class ItemSkillsTemplate implements IItemHandler
*/ */
private boolean checkConsume(Item item, boolean hasConsumeSkill) private boolean checkConsume(Item item, boolean hasConsumeSkill)
{ {
switch (item.getItem().getDefaultAction()) switch (item.getTemplate().getDefaultAction())
{ {
case CAPSULE: case CAPSULE:
case SKILL_REDUCE: case SKILL_REDUCE:
{ {
if (!hasConsumeSkill && item.getItem().hasImmediateEffect()) if (!hasConsumeSkill && item.getTemplate().hasImmediateEffect())
{ {
return true; return true;
} }

View File

@ -46,7 +46,7 @@ public class PetFood implements IItemHandler
return false; return false;
} }
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
if (skills != null) if (skills != null)
{ {
skills.forEach(holder -> useFood(playable, holder.getSkillId(), holder.getSkillLevel(), item)); skills.forEach(holder -> useFood(playable, holder.getSkillId(), holder.getSkillLevel(), item));

View File

@ -91,7 +91,7 @@ public class Seed implements IItemHandler
final Player player = playable.getActingPlayer(); final Player player = playable.getActingPlayer();
target.setSeeded(seed, player); target.setSeeded(seed, player);
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
if (skills != null) if (skills != null)
{ {
skills.forEach(holder -> player.useMagic(holder.getSkill(), item, false, false)); skills.forEach(holder -> player.useMagic(holder.getSkill(), item, false, false));

View File

@ -46,7 +46,7 @@ public class SoulShots implements IItemHandler
final Player player = playable.getActingPlayer(); final Player player = playable.getActingPlayer();
final Item weaponInst = player.getActiveWeaponInstance(); final Item weaponInst = player.getActiveWeaponInstance();
final Weapon weaponItem = player.getActiveWeaponItem(); final Weapon weaponItem = player.getActiveWeaponItem();
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
if (skills == null) if (skills == null)
{ {
LOGGER.warning(getClass().getSimpleName() + ": is missing skills!"); LOGGER.warning(getClass().getSimpleName() + ": is missing skills!");
@ -65,7 +65,7 @@ public class SoulShots implements IItemHandler
return false; return false;
} }
final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SOULSHOT) && (weaponInst.getItem().getCrystalTypePlus() == item.getItem().getCrystalTypePlus()); final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SOULSHOT) && (weaponInst.getTemplate().getCrystalTypePlus() == item.getTemplate().getCrystalTypePlus());
if (!gradeCheck) if (!gradeCheck)
{ {
if (!player.getAutoSoulShot().contains(itemId)) if (!player.getAutoSoulShot().contains(itemId))

View File

@ -45,7 +45,7 @@ public class SpiritShot implements IItemHandler
final Player player = playable.getActingPlayer(); final Player player = playable.getActingPlayer();
final Item weaponInst = player.getActiveWeaponInstance(); final Item weaponInst = player.getActiveWeaponInstance();
final Weapon weaponItem = player.getActiveWeaponItem(); final Weapon weaponItem = player.getActiveWeaponItem();
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
if (skills == null) if (skills == null)
{ {
LOGGER.warning(getClass().getSimpleName() + ": is missing skills!"); LOGGER.warning(getClass().getSimpleName() + ": is missing skills!");
@ -71,7 +71,7 @@ public class SpiritShot implements IItemHandler
} }
// Check for correct grade // Check for correct grade
final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SPIRITSHOT) && (weaponInst.getItem().getCrystalTypePlus() == item.getItem().getCrystalTypePlus()); final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SPIRITSHOT) && (weaponInst.getTemplate().getCrystalTypePlus() == item.getTemplate().getCrystalTypePlus());
if (!gradeCheck) if (!gradeCheck)
{ {
if (!player.getAutoSoulShot().contains(itemId)) if (!player.getAutoSoulShot().contains(itemId))

View File

@ -63,7 +63,7 @@ public class EquipArmorSkillCondition implements ISkillCondition
{ {
return false; return false;
} }
final int chestMask = chest.getItem().getItemMask(); final int chestMask = chest.getTemplate().getItemMask();
// If chest armor is different from the condition one return false // If chest armor is different from the condition one return false
if ((_armorTypesMask & chestMask) == 0) if ((_armorTypesMask & chestMask) == 0)
@ -73,7 +73,7 @@ public class EquipArmorSkillCondition implements ISkillCondition
// So from here, chest armor matches conditions // So from here, chest armor matches conditions
final int chestBodyPart = chest.getItem().getBodyPart(); final int chestBodyPart = chest.getTemplate().getBodyPart();
// return True if chest armor is a Full Armor // return True if chest armor is a Full Armor
if (chestBodyPart == ItemTemplate.SLOT_FULL_ARMOR) if (chestBodyPart == ItemTemplate.SLOT_FULL_ARMOR)
{ {
@ -85,7 +85,7 @@ public class EquipArmorSkillCondition implements ISkillCondition
{ {
return false; return false;
} }
final int legMask = legs.getItem().getItemMask(); final int legMask = legs.getTemplate().getItemMask();
// return true if legs armor matches too // return true if legs armor matches too
return (_armorTypesMask & legMask) != 0; return (_armorTypesMask & legMask) != 0;
} }

View File

@ -65,10 +65,10 @@ public class OpTargetArmorTypeSkillCondition implements ISkillCondition
} }
// Get the chest item type. // Get the chest item type.
final ItemType chestType = chest.getItem().getItemType(); final ItemType chestType = chest.getTemplate().getItemType();
// Get the chest body part. // Get the chest body part.
final long chestBodyPart = chest.getItem().getBodyPart(); final long chestBodyPart = chest.getTemplate().getBodyPart();
// Get the legs armor. // Get the legs armor.
final Item legs = inv.getPaperdollItem(Inventory.PAPERDOLL_LEGS); final Item legs = inv.getPaperdollItem(Inventory.PAPERDOLL_LEGS);
@ -77,7 +77,7 @@ public class OpTargetArmorTypeSkillCondition implements ISkillCondition
ItemType legsType = null; ItemType legsType = null;
if (legs != null) if (legs != null)
{ {
legsType = legs.getItem().getItemType(); legsType = legs.getTemplate().getItemType();
} }
for (ArmorType armorType : _armorTypes) for (ArmorType armorType : _armorTypes)

View File

@ -186,11 +186,11 @@ public class Enchant implements ITelnetCommand
player.broadcastUserInfo(); player.broadcastUserInfo();
// informations // informations
player.sendMessage("Changed enchantment of " + player.getName() + "'s " + itemInstance.getItem().getName() + " from " + curEnchant + " to " + ench + "."); player.sendMessage("Changed enchantment of " + player.getName() + "'s " + itemInstance.getTemplate().getName() + " from " + curEnchant + " to " + ench + ".");
player.sendMessage("Admin has changed the enchantment of your " + itemInstance.getItem().getName() + " from " + curEnchant + " to " + ench + "."); player.sendMessage("Admin has changed the enchantment of your " + itemInstance.getTemplate().getName() + " from " + curEnchant + " to " + ench + ".");
// log // log
GMAudit.auditGMAction("TelnetAdmin", "enchant", player.getName(), itemInstance.getItem().getName() + "(" + itemInstance.getObjectId() + ") from " + curEnchant + " to " + ench); GMAudit.auditGMAction("TelnetAdmin", "enchant", player.getName(), itemInstance.getTemplate().getName() + "(" + itemInstance.getObjectId() + ") from " + curEnchant + " to " + ench);
return true; return true;
} }
return false; return false;

View File

@ -367,9 +367,9 @@ public class AttackableAI extends CreatureAI
{ {
ItemsOnGroundManager.getInstance().removeObject(droppedItem); ItemsOnGroundManager.getInstance().removeObject(droppedItem);
} }
if (droppedItem.getItem().hasExImmediateEffect()) if (droppedItem.getTemplate().hasExImmediateEffect())
{ {
for (SkillHolder skillHolder : droppedItem.getItem().getAllSkills()) for (SkillHolder skillHolder : droppedItem.getTemplate().getAllSkills())
{ {
SkillCaster.triggerCast(npc, null, skillHolder.getSkill(), null, false); SkillCaster.triggerCast(npc, null, skillHolder.getSkill(), null, false);
} }

View File

@ -117,7 +117,7 @@ public final class PaperdollCache
double value = 0; double value = 0;
for (Item item : _paperdollItems) for (Item item : _paperdollItems)
{ {
value += item.getItem().getStats(stat, 0); value += item.getTemplate().getStats(stat, 0);
} }
_statValues.put(stat, value); _statValues.put(stat, value);

View File

@ -307,7 +307,7 @@ public class ItemTable
LOGGER_ITEMS.info("CREATE:" + String.valueOf(process) // in case of null LOGGER_ITEMS.info("CREATE:" + String.valueOf(process) // in case of null
+ ", item " + item.getObjectId() // + ", item " + item.getObjectId() //
+ ":+" + item.getEnchantLevel() // + ":+" + item.getEnchantLevel() //
+ " " + item.getItem().getName() // + " " + item.getTemplate().getName() //
+ "(" + item.getCount() // + "(" + item.getCount() //
+ "), " + String.valueOf(actor) // in case of null + "), " + String.valueOf(actor) // in case of null
+ ", " + String.valueOf(reference)); // in case of null + ", " + String.valueOf(reference)); // in case of null
@ -316,7 +316,7 @@ public class ItemTable
{ {
LOGGER_ITEMS.info("CREATE:" + String.valueOf(process) // in case of null LOGGER_ITEMS.info("CREATE:" + String.valueOf(process) // in case of null
+ ", item " + item.getObjectId() // + ", item " + item.getObjectId() //
+ ":" + item.getItem().getName() // + ":" + item.getTemplate().getName() //
+ "(" + item.getCount() // + "(" + item.getCount() //
+ "), " + String.valueOf(actor) // in case of null + "), " + String.valueOf(actor) // in case of null
+ ", " + String.valueOf(reference)); // in case of null + ", " + String.valueOf(reference)); // in case of null
@ -350,7 +350,7 @@ public class ItemTable
} }
// Notify to scripts // Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnItemCreate(process, item, actor, reference), item.getItem()); EventDispatcher.getInstance().notifyEventAsync(new OnItemCreate(process, item, actor, reference), item.getTemplate());
return item; return item;
} }
@ -395,7 +395,7 @@ public class ItemTable
LOGGER_ITEMS.info("DELETE:" + String.valueOf(process) // in case of null LOGGER_ITEMS.info("DELETE:" + String.valueOf(process) // in case of null
+ ", item " + item.getObjectId() // + ", item " + item.getObjectId() //
+ ":+" + item.getEnchantLevel() // + ":+" + item.getEnchantLevel() //
+ " " + item.getItem().getName() // + " " + item.getTemplate().getName() //
+ "(" + item.getCount() // + "(" + item.getCount() //
+ "), PrevCount(" + old // + "), PrevCount(" + old //
+ "), " + String.valueOf(actor) // in case of null + "), " + String.valueOf(actor) // in case of null
@ -405,7 +405,7 @@ public class ItemTable
{ {
LOGGER_ITEMS.info("DELETE:" + String.valueOf(process) // in case of null LOGGER_ITEMS.info("DELETE:" + String.valueOf(process) // in case of null
+ ", item " + item.getObjectId() // + ", item " + item.getObjectId() //
+ ":" + item.getItem().getName() // + ":" + item.getTemplate().getName() //
+ "(" + item.getCount() // + "(" + item.getCount() //
+ "), PrevCount(" + old // + "), PrevCount(" + old //
+ "), " + String.valueOf(actor) // in case of null + "), " + String.valueOf(actor) // in case of null
@ -440,7 +440,7 @@ public class ItemTable
} }
// if it's a pet control item, delete the pet as well // if it's a pet control item, delete the pet as well
if (item.getItem().isPetItem()) if (item.getTemplate().isPetItem())
{ {
try (Connection con = DatabaseFactory.getConnection(); try (Connection con = DatabaseFactory.getConnection();
PreparedStatement statement = con.prepareStatement("DELETE FROM pets WHERE item_obj_id=?")) PreparedStatement statement = con.prepareStatement("DELETE FROM pets WHERE item_obj_id=?"))

View File

@ -153,7 +153,7 @@ public class ElementalAttributeData implements IXmlReader
{ {
int row = -1; int row = -1;
int column = -1; int column = -1;
switch (item.getItem().getCrystalType()) switch (item.getTemplate().getCrystalType())
{ {
case S: case S:
{ {

View File

@ -92,14 +92,14 @@ public class EnchantItemHPBonusData implements IXmlReader
*/ */
public int getHPBonus(Item item) public int getHPBonus(Item item)
{ {
final List<Integer> values = _armorHPBonuses.get(item.getItem().getCrystalTypePlus()); final List<Integer> values = _armorHPBonuses.get(item.getTemplate().getCrystalTypePlus());
if ((values == null) || values.isEmpty() || (item.getOlyEnchantLevel() <= 0)) if ((values == null) || values.isEmpty() || (item.getOlyEnchantLevel() <= 0))
{ {
return 0; return 0;
} }
final int bonus = values.get(Math.min(item.getOlyEnchantLevel(), values.size()) - 1); final int bonus = values.get(Math.min(item.getOlyEnchantLevel(), values.size()) - 1);
if (item.getItem().getBodyPart() == ItemTemplate.SLOT_FULL_ARMOR) if (item.getTemplate().getBodyPart() == ItemTemplate.SLOT_FULL_ARMOR)
{ {
return (int) (bonus * FULL_ARMOR_MODIFIER); return (int) (bonus * FULL_ARMOR_MODIFIER);
} }

View File

@ -208,9 +208,9 @@ public class ItemCrystallizationData implements IXmlReader
if (data != null) if (data != null)
{ {
// If there are no crystals on the template, add such. // If there are no crystals on the template, add such.
if (data.getItems().stream().noneMatch(i -> i.getId() == item.getItem().getCrystalItemId())) if (data.getItems().stream().noneMatch(i -> i.getId() == item.getTemplate().getCrystalItemId()))
{ {
result.add(new ItemChanceHolder(item.getItem().getCrystalItemId(), 100, item.getCrystalCount())); result.add(new ItemChanceHolder(item.getTemplate().getCrystalItemId(), 100, item.getCrystalCount()));
} }
result.addAll(data.getItems()); result.addAll(data.getItems());
@ -218,7 +218,7 @@ public class ItemCrystallizationData implements IXmlReader
else else
{ {
// Add basic crystal reward. // Add basic crystal reward.
result.add(new ItemChanceHolder(item.getItem().getCrystalItemId(), 100, item.getCrystalCount())); result.add(new ItemChanceHolder(item.getTemplate().getCrystalItemId(), 100, item.getCrystalCount()));
} }
return result; return result;

View File

@ -1573,7 +1573,7 @@ public class SkillTreeData implements IXmlReader
boolean isItemSkill = false; boolean isItemSkill = false;
SEARCH: for (Item item : player.getInventory().getItems()) SEARCH: for (Item item : player.getInventory().getItems())
{ {
final List<ItemSkillHolder> itemSkills = item.getItem().getAllSkills(); final List<ItemSkillHolder> itemSkills = item.getTemplate().getAllSkills();
if (itemSkills != null) if (itemSkills != null)
{ {
for (ItemSkillHolder itemSkillHolder : itemSkills) for (ItemSkillHolder itemSkillHolder : itemSkills)

View File

@ -502,7 +502,7 @@ public class ItemCommissionManager
{ {
for (CommissionItem item : _commissionItems.values()) for (CommissionItem item : _commissionItems.values())
{ {
if ((item.getItemInstance().getOwnerId() == player.getObjectId()) && (item.getItemInstance().getItem().getId() == itemId)) if ((item.getItemInstance().getOwnerId() == player.getObjectId()) && (item.getItemInstance().getTemplate().getId() == itemId))
{ {
return true; return true;
} }

View File

@ -126,7 +126,7 @@ public class ItemsOnGroundManager implements Runnable
_items.add(item); _items.add(item);
count++; count++;
// add to ItemsAutoDestroy only items not protected // add to ItemsAutoDestroy only items not protected
if (!Config.LIST_PROTECTED_ITEMS.contains(item.getId()) && (dropTime > -1) && (((Config.AUTODESTROY_ITEM_AFTER > 0) && !item.getItem().hasExImmediateEffect()) || ((Config.HERB_AUTO_DESTROY_TIME > 0) && item.getItem().hasExImmediateEffect()))) if (!Config.LIST_PROTECTED_ITEMS.contains(item.getId()) && (dropTime > -1) && (((Config.AUTODESTROY_ITEM_AFTER > 0) && !item.getTemplate().hasExImmediateEffect()) || ((Config.HERB_AUTO_DESTROY_TIME > 0) && item.getTemplate().hasExImmediateEffect())))
{ {
ItemsAutoDestroyTaskManager.getInstance().addItem(item); ItemsAutoDestroyTaskManager.getInstance().addItem(item);
} }

View File

@ -94,7 +94,7 @@ public class ItemInfo
_objectId = item.getObjectId(); _objectId = item.getObjectId();
// Get the Item of the Item // Get the Item of the Item
_item = item.getItem(); _item = item.getTemplate();
// Get the enchant level of the Item // Get the enchant level of the Item
_enchantLevel = item.getEnchantLevel(); _enchantLevel = item.getEnchantLevel();

View File

@ -40,7 +40,7 @@ public class TempItem
super(); super();
_itemId = item.getId(); _itemId = item.getId();
_quantity = quantity; _quantity = quantity;
_itemName = item.getItem().getName(); _itemName = item.getTemplate().getName();
_referencePrice = item.getReferencePrice(); _referencePrice = item.getReferencePrice();
} }

View File

@ -53,7 +53,7 @@ public class TradeItem
{ {
Objects.requireNonNull(item); Objects.requireNonNull(item);
_objectId = item.getObjectId(); _objectId = item.getObjectId();
_item = item.getItem(); _item = item.getTemplate();
_location = item.getLocationSlot(); _location = item.getLocationSlot();
_enchant = item.getEnchantLevel(); _enchant = item.getEnchantLevel();
_type1 = item.getCustomType1(); _type1 = item.getCustomType1();

View File

@ -1593,7 +1593,7 @@ public class Npc extends Creature
item.dropMe(this, newX, newY, newZ); item.dropMe(this, newX, newY, newZ);
// Add drop to auto destroy item task. // Add drop to auto destroy item task.
if (!Config.LIST_PROTECTED_ITEMS.contains(itemId) && (((Config.AUTODESTROY_ITEM_AFTER > 0) && !item.getItem().hasExImmediateEffect()) || ((Config.HERB_AUTO_DESTROY_TIME > 0) && item.getItem().hasExImmediateEffect()))) if (!Config.LIST_PROTECTED_ITEMS.contains(itemId) && (((Config.AUTODESTROY_ITEM_AFTER > 0) && !item.getTemplate().hasExImmediateEffect()) || ((Config.HERB_AUTO_DESTROY_TIME > 0) && item.getTemplate().hasExImmediateEffect())))
{ {
ItemsAutoDestroyTaskManager.getInstance().addItem(item); ItemsAutoDestroyTaskManager.getInstance().addItem(item);
} }

View File

@ -2137,7 +2137,7 @@ public class Player extends Playable
{ {
if ((item != null) && item.isEquipped() && ((item.getItemType() != EtcItemType.ARROW) && (item.getItemType() != EtcItemType.BOLT))) if ((item != null) && item.isEquipped() && ((item.getItemType() != EtcItemType.ARROW) && (item.getItemType() != EtcItemType.BOLT)))
{ {
crystaltype = item.getItem().getCrystalType().getLevel(); crystaltype = item.getTemplate().getCrystalType().getLevel();
if (crystaltype > expertiseLevel) if (crystaltype > expertiseLevel)
{ {
if (item.isWeapon() && (crystaltype > weaponPenalty)) if (item.isWeapon() && (crystaltype > weaponPenalty))
@ -2268,13 +2268,13 @@ public class Player extends Playable
// Consume mana - will start a task if required; returns if item is not a shadow item // Consume mana - will start a task if required; returns if item is not a shadow item
item.decreaseMana(false); item.decreaseMana(false);
if ((item.getItem().getBodyPart() & ItemTemplate.SLOT_MULTI_ALLWEAPON) != 0) if ((item.getTemplate().getBodyPart() & ItemTemplate.SLOT_MULTI_ALLWEAPON) != 0)
{ {
rechargeShots(true, true, false); rechargeShots(true, true, false);
} }
// Notify to scripts // Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemEquip(this, item), item.getItem()); EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemEquip(this, item), item.getTemplate());
} }
else else
{ {
@ -4504,7 +4504,7 @@ public class Player extends Playable
} }
// Auto use herbs - pick up // Auto use herbs - pick up
if (target.getItem().hasExImmediateEffect()) if (target.getTemplate().hasExImmediateEffect())
{ {
final IItemHandler handler = ItemHandler.getInstance().getHandler(target.getEtcItem()); final IItemHandler handler = ItemHandler.getInstance().getHandler(target.getEtcItem());
if (handler == null) if (handler == null)
@ -4788,7 +4788,7 @@ public class Player extends Playable
{ {
return _fistsWeaponItem; return _fistsWeaponItem;
} }
return (Weapon) weapon.getItem(); return (Weapon) weapon.getTemplate();
} }
public Item getChestArmorInstance() public Item getChestArmorInstance()
@ -4808,7 +4808,7 @@ public class Player extends Playable
{ {
return null; return null;
} }
return (Armor) armor.getItem(); return (Armor) armor.getTemplate();
} }
public Armor getActiveLegsArmorItem() public Armor getActiveLegsArmorItem()
@ -4818,7 +4818,7 @@ public class Player extends Playable
{ {
return null; return null;
} }
return (Armor) legs.getItem(); return (Armor) legs.getTemplate();
} }
public boolean isWearingHeavyArmor() public boolean isWearingHeavyArmor()
@ -4829,7 +4829,7 @@ public class Player extends Playable
{ {
return true; return true;
} }
return (armor != null) && ((_inventory.getPaperdollItem(Inventory.PAPERDOLL_CHEST).getItem().getBodyPart() == ItemTemplate.SLOT_FULL_ARMOR) && (armor.getItemType() == ArmorType.HEAVY)); return (armor != null) && ((_inventory.getPaperdollItem(Inventory.PAPERDOLL_CHEST).getTemplate().getBodyPart() == ItemTemplate.SLOT_FULL_ARMOR) && (armor.getItemType() == ArmorType.HEAVY));
} }
public boolean isWearingLightArmor() public boolean isWearingLightArmor()
@ -4840,7 +4840,7 @@ public class Player extends Playable
{ {
return true; return true;
} }
return (armor != null) && ((_inventory.getPaperdollItem(Inventory.PAPERDOLL_CHEST).getItem().getBodyPart() == ItemTemplate.SLOT_FULL_ARMOR) && (armor.getItemType() == ArmorType.LIGHT)); return (armor != null) && ((_inventory.getPaperdollItem(Inventory.PAPERDOLL_CHEST).getTemplate().getBodyPart() == ItemTemplate.SLOT_FULL_ARMOR) && (armor.getItemType() == ArmorType.LIGHT));
} }
public boolean isWearingMagicArmor() public boolean isWearingMagicArmor()
@ -4851,7 +4851,7 @@ public class Player extends Playable
{ {
return true; return true;
} }
return (armor != null) && ((_inventory.getPaperdollItem(Inventory.PAPERDOLL_CHEST).getItem().getBodyPart() == ItemTemplate.SLOT_FULL_ARMOR) && (armor.getItemType() == ArmorType.MAGIC)); return (armor != null) && ((_inventory.getPaperdollItem(Inventory.PAPERDOLL_CHEST).getTemplate().getBodyPart() == ItemTemplate.SLOT_FULL_ARMOR) && (armor.getItemType() == ArmorType.MAGIC));
} }
/** /**
@ -4873,7 +4873,7 @@ public class Player extends Playable
final Item item = _inventory.getPaperdollItem(Inventory.PAPERDOLL_LHAND); final Item item = _inventory.getPaperdollItem(Inventory.PAPERDOLL_LHAND);
if (item != null) if (item != null)
{ {
return item.getItem(); return item.getTemplate();
} }
return null; return null;
} }
@ -5112,7 +5112,7 @@ public class Player extends Playable
if (itemDrop.isShadowItem() || // Dont drop Shadow Items if (itemDrop.isShadowItem() || // Dont drop Shadow Items
itemDrop.isTimeLimitedItem() || // Dont drop Time Limited Items itemDrop.isTimeLimitedItem() || // Dont drop Time Limited Items
!itemDrop.isDropable() || (itemDrop.getId() == Inventory.ADENA_ID) || // Adena !itemDrop.isDropable() || (itemDrop.getId() == Inventory.ADENA_ID) || // Adena
(itemDrop.getItem().getType2() == ItemTemplate.TYPE2_QUEST) || // Quest Items (itemDrop.getTemplate().getType2() == ItemTemplate.TYPE2_QUEST) || // Quest Items
((_pet != null) && (_pet.getControlObjectId() == itemDrop.getId())) || // Control Item of active pet ((_pet != null) && (_pet.getControlObjectId() == itemDrop.getId())) || // Control Item of active pet
(Arrays.binarySearch(Config.KARMA_LIST_NONDROPPABLE_ITEMS, itemDrop.getId()) >= 0) || // Item listed in the non droppable item list (Arrays.binarySearch(Config.KARMA_LIST_NONDROPPABLE_ITEMS, itemDrop.getId()) >= 0) || // Item listed in the non droppable item list
(Arrays.binarySearch(Config.KARMA_LIST_NONDROPPABLE_PET_ITEMS, itemDrop.getId()) >= 0 // Item listed in the non droppable pet item list (Arrays.binarySearch(Config.KARMA_LIST_NONDROPPABLE_PET_ITEMS, itemDrop.getId()) >= 0 // Item listed in the non droppable pet item list
@ -5124,7 +5124,7 @@ public class Player extends Playable
if (itemDrop.isEquipped()) if (itemDrop.isEquipped())
{ {
// Set proper chance according to Item type of equipped Item // Set proper chance according to Item type of equipped Item
itemDropPercent = itemDrop.getItem().getType2() == ItemTemplate.TYPE2_WEAPON ? dropEquipWeapon : dropEquip; itemDropPercent = itemDrop.getTemplate().getType2() == ItemTemplate.TYPE2_WEAPON ? dropEquipWeapon : dropEquip;
_inventory.unEquipItemInSlot(itemDrop.getLocationSlot()); _inventory.unEquipItemInSlot(itemDrop.getLocationSlot());
} }
else else
@ -5918,7 +5918,7 @@ public class Player extends Playable
return false; return false;
} }
final List<Item> unequipped = _inventory.unEquipItemInBodySlotAndRecord(wpn.getItem().getBodyPart()); final List<Item> unequipped = _inventory.unEquipItemInBodySlotAndRecord(wpn.getTemplate().getBodyPart());
final InventoryUpdate iu = new InventoryUpdate(); final InventoryUpdate iu = new InventoryUpdate();
for (Item itm : unequipped) for (Item itm : unequipped)
{ {
@ -5959,7 +5959,7 @@ public class Player extends Playable
final Item sld = _inventory.getPaperdollItem(Inventory.PAPERDOLL_LHAND); final Item sld = _inventory.getPaperdollItem(Inventory.PAPERDOLL_LHAND);
if (sld != null) if (sld != null)
{ {
final List<Item> unequipped = _inventory.unEquipItemInBodySlotAndRecord(sld.getItem().getBodyPart()); final List<Item> unequipped = _inventory.unEquipItemInBodySlotAndRecord(sld.getTemplate().getBodyPart());
final InventoryUpdate iu = new InventoryUpdate(); final InventoryUpdate iu = new InventoryUpdate();
for (Item itm : unequipped) for (Item itm : unequipped)
{ {
@ -8832,7 +8832,7 @@ public class Player extends Playable
continue; continue;
} }
final ActionType defaultAction = item.getItem().getDefaultAction(); final ActionType defaultAction = item.getTemplate().getDefaultAction();
if ((magic && (defaultAction == ActionType.SPIRITSHOT)) || (physical && (defaultAction == ActionType.SOULSHOT)) || (fish && (defaultAction == ActionType.FISHINGSHOT))) if ((magic && (defaultAction == ActionType.SPIRITSHOT)) || (physical && (defaultAction == ActionType.SOULSHOT)) || (fish && (defaultAction == ActionType.FISHINGSHOT)))
{ {
handler.useItem(this, item, false); handler.useItem(this, item, false);
@ -11737,7 +11737,7 @@ public class Player extends Playable
for (int i = 0; i < Inventory.PAPERDOLL_TOTALSLOTS; i++) for (int i = 0; i < Inventory.PAPERDOLL_TOTALSLOTS; i++)
{ {
final Item equippedItem = _inventory.getPaperdollItem(i); final Item equippedItem = _inventory.getPaperdollItem(i);
if ((equippedItem != null) && !equippedItem.getItem().checkCondition(this, this, false)) if ((equippedItem != null) && !equippedItem.getTemplate().checkCondition(this, this, false))
{ {
_inventory.unEquipItemInSlot(i); _inventory.unEquipItemInSlot(i);
@ -11746,7 +11746,7 @@ public class Player extends Playable
sendInventoryUpdate(iu); sendInventoryUpdate(iu);
SystemMessage sm = null; SystemMessage sm = null;
if (equippedItem.getItem().getBodyPart() == ItemTemplate.SLOT_BACK) if (equippedItem.getTemplate().getBodyPart() == ItemTemplate.SLOT_BACK)
{ {
sendPacket(SystemMessageId.YOUR_CLOAK_HAS_BEEN_UNEQUIPPED_BECAUSE_YOUR_ARMOR_SET_IS_NO_LONGER_COMPLETE); sendPacket(SystemMessageId.YOUR_CLOAK_HAS_BEEN_UNEQUIPPED_BECAUSE_YOUR_ARMOR_SET_IS_NO_LONGER_COMPLETE);
return; return;

View File

@ -1063,7 +1063,7 @@ public abstract class Summon extends Playable
item = _owner.getInventory().getItemByItemId(itemId); item = _owner.getInventory().getItemByItemId(itemId);
if (item != null) if (item != null)
{ {
if (magic && (item.getItem().getDefaultAction() == ActionType.SUMMON_SPIRITSHOT)) if (magic && (item.getTemplate().getDefaultAction() == ActionType.SUMMON_SPIRITSHOT))
{ {
handler = ItemHandler.getInstance().getHandler(item.getEtcItem()); handler = ItemHandler.getInstance().getHandler(item.getEtcItem());
if (handler != null) if (handler != null)
@ -1072,7 +1072,7 @@ public abstract class Summon extends Playable
} }
} }
if (physical && (item.getItem().getDefaultAction() == ActionType.SUMMON_SOULSHOT)) if (physical && (item.getTemplate().getDefaultAction() == ActionType.SUMMON_SOULSHOT))
{ {
handler = ItemHandler.getInstance().getHandler(item.getEtcItem()); handler = ItemHandler.getInstance().getHandler(item.getEtcItem());
if (handler != null) if (handler != null)

View File

@ -339,7 +339,7 @@ public class Pet extends Summon
{ {
for (Item item : _inventory.getItems()) for (Item item : _inventory.getItems())
{ {
if ((item.getItemLocation() == ItemLocation.PET_EQUIP) && (item.getItem().getBodyPart() == ItemTemplate.SLOT_R_HAND)) if ((item.getItemLocation() == ItemLocation.PET_EQUIP) && (item.getTemplate().getBodyPart() == ItemTemplate.SLOT_R_HAND))
{ {
return item; return item;
} }
@ -359,7 +359,7 @@ public class Pet extends Summon
{ {
return null; return null;
} }
return (Weapon) weapon.getItem(); return (Weapon) weapon.getTemplate();
} }
@Override @Override
@ -574,7 +574,7 @@ public class Pet extends Summon
} }
// Herbs // Herbs
if (target.getItem().hasExImmediateEffect()) if (target.getTemplate().hasExImmediateEffect())
{ {
final IItemHandler handler = ItemHandler.getInstance().getHandler(target.getEtcItem()); final IItemHandler handler = ItemHandler.getInstance().getHandler(target.getEtcItem());
if (handler == null) if (handler == null)

View File

@ -126,9 +126,9 @@ public class PlayerStat extends PlayableStat
{ {
// rod fishing skills // rod fishing skills
final Item rod = player.getActiveWeaponInstance(); final Item rod = player.getActiveWeaponInstance();
if ((rod != null) && (rod.getItemType() == WeaponType.FISHINGROD) && (rod.getItem().getAllSkills() != null)) if ((rod != null) && (rod.getItemType() == WeaponType.FISHINGROD) && (rod.getTemplate().getAllSkills() != null))
{ {
for (ItemSkillHolder s : rod.getItem().getAllSkills()) for (ItemSkillHolder s : rod.getTemplate().getAllSkills())
{ {
if (s.getSkill().getId() == FANCY_FISHING_ROD_SKILL) if (s.getSkill().getId() == FANCY_FISHING_ROD_SKILL)
{ {

View File

@ -53,6 +53,6 @@ public class ConditionSlotItemType extends ConditionInventory
{ {
return false; return false;
} }
return (itemSlot.getItem().getItemMask() & _mask) != 0; return (itemSlot.getTemplate().getItemMask() & _mask) != 0;
} }
} }

View File

@ -65,7 +65,7 @@ public class ConditionUsingItemType extends Condition
{ {
return (ArmorType.NONE.mask() & _mask) == ArmorType.NONE.mask(); return (ArmorType.NONE.mask() & _mask) == ArmorType.NONE.mask();
} }
final int chestMask = chest.getItem().getItemMask(); final int chestMask = chest.getTemplate().getItemMask();
// If chest armor is different from the condition one return false // If chest armor is different from the condition one return false
if ((_mask & chestMask) == 0) if ((_mask & chestMask) == 0)
@ -75,7 +75,7 @@ public class ConditionUsingItemType extends Condition
// So from here, chest armor matches conditions // So from here, chest armor matches conditions
final int chestBodyPart = chest.getItem().getBodyPart(); final int chestBodyPart = chest.getTemplate().getBodyPart();
// return True if chest armor is a Full Armor // return True if chest armor is a Full Armor
if (chestBodyPart == ItemTemplate.SLOT_FULL_ARMOR) if (chestBodyPart == ItemTemplate.SLOT_FULL_ARMOR)
{ {
@ -87,7 +87,7 @@ public class ConditionUsingItemType extends Condition
{ {
return (ArmorType.NONE.mask() & _mask) == ArmorType.NONE.mask(); return (ArmorType.NONE.mask() & _mask) == ArmorType.NONE.mask();
} }
final int legMask = legs.getItem().getItemMask(); final int legMask = legs.getTemplate().getItemMask();
// return true if legs armor matches too // return true if legs armor matches too
return (_mask & legMask) != 0; return (_mask & legMask) != 0;
} }

View File

@ -2959,7 +2959,7 @@ public abstract class AbstractScript extends ManagedScript implements IEventTime
if (item.isEquipped()) if (item.isEquipped())
{ {
final InventoryUpdate iu = new InventoryUpdate(); final InventoryUpdate iu = new InventoryUpdate();
for (Item itm : player.getInventory().unEquipItemInBodySlotAndRecord(item.getItem().getBodyPart())) for (Item itm : player.getInventory().unEquipItemInBodySlotAndRecord(item.getTemplate().getBodyPart()))
{ {
iu.addModifiedItem(itm); iu.addModifiedItem(itm);
} }

View File

@ -68,7 +68,7 @@ public class WarehouseItem
public WarehouseItem(Item item) public WarehouseItem(Item item)
{ {
Objects.requireNonNull(item); Objects.requireNonNull(item);
_item = item.getItem(); _item = item.getTemplate();
_object = item.getObjectId(); _object = item.getObjectId();
_count = item.getCount(); _count = item.getCount();
_owner = item.getOwnerId(); _owner = item.getOwnerId();
@ -76,7 +76,7 @@ public class WarehouseItem
_enchant = item.getEnchantLevel(); _enchant = item.getEnchantLevel();
_customType1 = item.getCustomType1(); _customType1 = item.getCustomType1();
_customType2 = item.getCustomType2(); _customType2 = item.getCustomType2();
_grade = item.getItem().getCrystalType(); _grade = item.getTemplate().getCrystalType();
_augmentation = item.getAugmentation(); _augmentation = item.getAugmentation();
_mana = item.getMana(); _mana = item.getMana();
_time = item.isTimeLimitedItem() ? (int) (item.getRemainingTime() / 1000) : -1; _time = item.isTimeLimitedItem() ? (int) (item.getRemainingTime() / 1000) : -1;

View File

@ -285,13 +285,13 @@ public class AppearanceStone
return false; return false;
} }
if ((targetItem.isWeapon() && !getTargetTypes().contains(AppearanceTargetType.WEAPON)) || (targetItem.isArmor() && !getTargetTypes().contains(AppearanceTargetType.ARMOR) && !((targetItem.getItem().getBodyPart() == ItemTemplate.SLOT_HAIR) || (targetItem.getItem().getBodyPart() == ItemTemplate.SLOT_HAIR2) || (targetItem.getItem().getBodyPart() == ItemTemplate.SLOT_HAIRALL))) || (targetItem.isEtcItem() && !getTargetTypes().contains(AppearanceTargetType.ACCESSORY))) if ((targetItem.isWeapon() && !getTargetTypes().contains(AppearanceTargetType.WEAPON)) || (targetItem.isArmor() && !getTargetTypes().contains(AppearanceTargetType.ARMOR) && !((targetItem.getTemplate().getBodyPart() == ItemTemplate.SLOT_HAIR) || (targetItem.getTemplate().getBodyPart() == ItemTemplate.SLOT_HAIR2) || (targetItem.getTemplate().getBodyPart() == ItemTemplate.SLOT_HAIRALL))) || (targetItem.isEtcItem() && !getTargetTypes().contains(AppearanceTargetType.ACCESSORY)))
{ {
player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS); player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
return false; return false;
} }
if (((targetItem.getItem().getBodyPart() == ItemTemplate.SLOT_HAIR) || (targetItem.getItem().getBodyPart() == ItemTemplate.SLOT_HAIR2) || (targetItem.getItem().getBodyPart() == ItemTemplate.SLOT_HAIRALL)) && !getTargetTypes().contains(AppearanceTargetType.ACCESSORY)) if (((targetItem.getTemplate().getBodyPart() == ItemTemplate.SLOT_HAIR) || (targetItem.getTemplate().getBodyPart() == ItemTemplate.SLOT_HAIR2) || (targetItem.getTemplate().getBodyPart() == ItemTemplate.SLOT_HAIRALL)) && !getTargetTypes().contains(AppearanceTargetType.ACCESSORY))
{ {
player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS); player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
return false; return false;
@ -317,7 +317,7 @@ public class AppearanceStone
return false; return false;
} }
if (targetItem.getItem().getCrystalType() == CrystalType.NONE) if (targetItem.getTemplate().getCrystalType() == CrystalType.NONE)
{ {
player.sendPacket(SystemMessageId.YOU_CANNOT_MODIFY_OR_RESTORE_NO_GRADE_ITEMS); player.sendPacket(SystemMessageId.YOU_CANNOT_MODIFY_OR_RESTORE_NO_GRADE_ITEMS);
return false; return false;
@ -332,7 +332,7 @@ public class AppearanceStone
return false; return false;
} }
if (targetItem.getItem().getCrystalType() == CrystalType.NONE) if (targetItem.getTemplate().getCrystalType() == CrystalType.NONE)
{ {
player.sendPacket(SystemMessageId.YOU_CANNOT_MODIFY_OR_RESTORE_NO_GRADE_ITEMS); player.sendPacket(SystemMessageId.YOU_CANNOT_MODIFY_OR_RESTORE_NO_GRADE_ITEMS);
return false; return false;
@ -341,7 +341,7 @@ public class AppearanceStone
} }
case ACCESSORY: case ACCESSORY:
{ {
if ((targetItem.getItem().getBodyPart() != ItemTemplate.SLOT_HAIR) && (targetItem.getItem().getBodyPart() != ItemTemplate.SLOT_HAIR2) && (targetItem.getItem().getBodyPart() != ItemTemplate.SLOT_HAIRALL)) if ((targetItem.getTemplate().getBodyPart() != ItemTemplate.SLOT_HAIR) && (targetItem.getTemplate().getBodyPart() != ItemTemplate.SLOT_HAIR2) && (targetItem.getTemplate().getBodyPart() != ItemTemplate.SLOT_HAIRALL))
{ {
player.sendPacket(SystemMessageId.HAIR_ACCESSORIES_ONLY); player.sendPacket(SystemMessageId.HAIR_ACCESSORIES_ONLY);
return false; return false;
@ -350,7 +350,7 @@ public class AppearanceStone
} }
case ALL: case ALL:
{ {
if (!getCrystalTypes().isEmpty() && !getCrystalTypes().contains(targetItem.getItem().getCrystalType())) if (!getCrystalTypes().isEmpty() && !getCrystalTypes().contains(targetItem.getTemplate().getCrystalType()))
{ {
player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS); player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
return false; return false;
@ -368,13 +368,13 @@ public class AppearanceStone
} }
} }
if (!getCrystalTypes().isEmpty() && !getCrystalTypes().contains(targetItem.getItem().getCrystalType())) if (!getCrystalTypes().isEmpty() && !getCrystalTypes().contains(targetItem.getTemplate().getCrystalType()))
{ {
player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS); player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
return false; return false;
} }
if (targetItem.isArmor() && !getBodyParts().isEmpty() && !getBodyParts().contains(targetItem.getItem().getBodyPart())) if (targetItem.isArmor() && !getBodyParts().isEmpty() && !getBodyParts().contains(targetItem.getTemplate().getBodyPart()))
{ {
player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS); player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
return false; return false;
@ -400,7 +400,7 @@ public class AppearanceStone
{ {
case ONE_HANDED: case ONE_HANDED:
{ {
if ((targetItem.getItem().getBodyPart() & ItemTemplate.SLOT_R_HAND) != ItemTemplate.SLOT_R_HAND) if ((targetItem.getTemplate().getBodyPart() & ItemTemplate.SLOT_R_HAND) != ItemTemplate.SLOT_R_HAND)
{ {
player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS); player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
return false; return false;
@ -409,7 +409,7 @@ public class AppearanceStone
} }
case TWO_HANDED: case TWO_HANDED:
{ {
if ((targetItem.getItem().getBodyPart() & ItemTemplate.SLOT_LR_HAND) != ItemTemplate.SLOT_LR_HAND) if ((targetItem.getTemplate().getBodyPart() & ItemTemplate.SLOT_LR_HAND) != ItemTemplate.SLOT_LR_HAND)
{ {
player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS); player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
return false; return false;
@ -422,7 +422,7 @@ public class AppearanceStone
{ {
case MAGICAL: case MAGICAL:
{ {
if (!targetItem.getItem().isMagicWeapon()) if (!targetItem.getTemplate().isMagicWeapon())
{ {
player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS); player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
return false; return false;
@ -431,7 +431,7 @@ public class AppearanceStone
} }
case PHYISICAL: case PHYISICAL:
{ {
if (targetItem.getItem().isMagicWeapon()) if (targetItem.getTemplate().isMagicWeapon())
{ {
player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS); player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
return false; return false;
@ -471,7 +471,7 @@ public class AppearanceStone
{ {
for (AppearanceHolder holder : _allVisualIds) for (AppearanceHolder holder : _allVisualIds)
{ {
if (targetItem.isArmor() && (holder.getBodyPart() != 0) && (targetItem.getItem().getBodyPart() != holder.getBodyPart())) if (targetItem.isArmor() && (holder.getBodyPart() != 0) && (targetItem.getTemplate().getBodyPart() != holder.getBodyPart()))
{ {
continue; continue;
} }
@ -494,7 +494,7 @@ public class AppearanceStone
{ {
case ONE_HANDED: case ONE_HANDED:
{ {
if ((targetItem.getItem().getBodyPart() & ItemTemplate.SLOT_R_HAND) != ItemTemplate.SLOT_R_HAND) if ((targetItem.getTemplate().getBodyPart() & ItemTemplate.SLOT_R_HAND) != ItemTemplate.SLOT_R_HAND)
{ {
continue; continue;
} }
@ -502,7 +502,7 @@ public class AppearanceStone
} }
case TWO_HANDED: case TWO_HANDED:
{ {
if ((targetItem.getItem().getBodyPart() & ItemTemplate.SLOT_LR_HAND) != ItemTemplate.SLOT_LR_HAND) if ((targetItem.getTemplate().getBodyPart() & ItemTemplate.SLOT_LR_HAND) != ItemTemplate.SLOT_LR_HAND)
{ {
continue; continue;
} }
@ -514,7 +514,7 @@ public class AppearanceStone
{ {
case MAGICAL: case MAGICAL:
{ {
if (!targetItem.getItem().isMagicWeapon()) if (!targetItem.getTemplate().isMagicWeapon())
{ {
continue; continue;
} }
@ -522,7 +522,7 @@ public class AppearanceStone
} }
case PHYISICAL: case PHYISICAL:
{ {
if (targetItem.getItem().isMagicWeapon()) if (targetItem.getTemplate().isMagicWeapon())
{ {
continue; continue;
} }

View File

@ -172,11 +172,11 @@ public abstract class AbstractEnchantItem
{ {
return false; return false;
} }
else if (!itemToEnchant.isEnchantable() || (!(itemToEnchant.getItem().getEnchantLimit() == 0) && (itemToEnchant.getEnchantLevel() == itemToEnchant.getItem().getEnchantLimit()))) else if (!itemToEnchant.isEnchantable() || (!(itemToEnchant.getTemplate().getEnchantLimit() == 0) && (itemToEnchant.getEnchantLevel() == itemToEnchant.getTemplate().getEnchantLimit())))
{ {
return false; return false;
} }
else if (!isValidItemType(itemToEnchant.getItem().getType2())) else if (!isValidItemType(itemToEnchant.getTemplate().getType2()))
{ {
return false; return false;
} }
@ -184,7 +184,7 @@ public abstract class AbstractEnchantItem
{ {
return false; return false;
} }
else if (_grade != itemToEnchant.getItem().getCrystalTypePlus()) else if (_grade != itemToEnchant.getTemplate().getCrystalTypePlus())
{ {
return false; return false;
} }

View File

@ -183,7 +183,7 @@ public class EnchantScroll extends AbstractEnchantItem
return -1; return -1;
} }
final EnchantItemGroup group = EnchantItemGroupsData.getInstance().getItemGroup(enchantItem.getItem(), _scrollGroupId); final EnchantItemGroup group = EnchantItemGroupsData.getInstance().getItemGroup(enchantItem.getTemplate(), _scrollGroupId);
if (group == null) if (group == null)
{ {
LOGGER.warning(getClass().getSimpleName() + ": Couldn't find enchant item group for scroll: " + getId() + " requested by: " + player); LOGGER.warning(getClass().getSimpleName() + ": Couldn't find enchant item group for scroll: " + getId() + " requested by: " + player);
@ -217,7 +217,7 @@ public class EnchantScroll extends AbstractEnchantItem
return EnchantResultType.ERROR; return EnchantResultType.ERROR;
} }
final int crystalLevel = enchantItem.getItem().getCrystalType().getLevel(); final int crystalLevel = enchantItem.getTemplate().getCrystalType().getLevel();
final double enchantRateStat = (crystalLevel > CrystalType.NONE.getLevel()) && (crystalLevel < CrystalType.EVENT.getLevel()) ? player.getStat().getValue(Stat.ENCHANT_RATE) : 0; final double enchantRateStat = (crystalLevel > CrystalType.NONE.getLevel()) && (crystalLevel < CrystalType.EVENT.getLevel()) ? player.getStat().getValue(Stat.ENCHANT_RATE) : 0;
final double bonusRate = getBonusRate(); final double bonusRate = getBonusRate();
final double supportBonusRate = (supportItem != null) ? supportItem.getBonusRate() : 0; final double supportBonusRate = (supportItem != null) ? supportItem.getBonusRate() : 0;

View File

@ -120,7 +120,7 @@ public class Item extends WorldObject
private final int _itemId; private final int _itemId;
/** ItemTemplate associated to the item */ /** ItemTemplate associated to the item */
private final ItemTemplate _item; private final ItemTemplate _itemTemplate;
/** Location of the item : Inventory, PaperDoll, WareHouse */ /** Location of the item : Inventory, PaperDoll, WareHouse */
private ItemLocation _loc; private ItemLocation _loc;
@ -184,18 +184,18 @@ public class Item extends WorldObject
super(objectId); super(objectId);
setInstanceType(InstanceType.Item); setInstanceType(InstanceType.Item);
_itemId = itemId; _itemId = itemId;
_item = ItemTable.getInstance().getTemplate(itemId); _itemTemplate = ItemTable.getInstance().getTemplate(itemId);
if ((_itemId == 0) || (_item == null)) if ((_itemId == 0) || (_itemTemplate == null))
{ {
throw new IllegalArgumentException(); throw new IllegalArgumentException();
} }
super.setName(_item.getName()); super.setName(_itemTemplate.getName());
_loc = ItemLocation.VOID; _loc = ItemLocation.VOID;
_type1 = 0; _type1 = 0;
_type2 = 0; _type2 = 0;
_dropTime = 0; _dropTime = 0;
_mana = _item.getDuration(); _mana = _itemTemplate.getDuration();
_time = _item.getTime() == -1 ? -1 : Chronos.currentTimeMillis() + (_item.getTime() * 60 * 1000); _time = _itemTemplate.getTime() == -1 ? -1 : Chronos.currentTimeMillis() + (_itemTemplate.getTime() * 60 * 1000);
scheduleLifeTimeTask(); scheduleLifeTimeTask();
scheduleVisualLifeTime(); scheduleVisualLifeTime();
} }
@ -203,22 +203,22 @@ public class Item extends WorldObject
/** /**
* Constructor of the Item from the objetId and the description of the item given by the Item. * Constructor of the Item from the objetId and the description of the item given by the Item.
* @param objectId : int designating the ID of the object in the world * @param objectId : int designating the ID of the object in the world
* @param item : Item containing informations of the item * @param itemTemplate : Item containing informations of the item
*/ */
public Item(int objectId, ItemTemplate item) public Item(int objectId, ItemTemplate itemTemplate)
{ {
super(objectId); super(objectId);
setInstanceType(InstanceType.Item); setInstanceType(InstanceType.Item);
_itemId = item.getId(); _itemId = itemTemplate.getId();
_item = item; _itemTemplate = itemTemplate;
if (_itemId == 0) if (_itemId == 0)
{ {
throw new IllegalArgumentException(); throw new IllegalArgumentException();
} }
super.setName(_item.getName()); super.setName(_itemTemplate.getName());
_loc = ItemLocation.VOID; _loc = ItemLocation.VOID;
_mana = _item.getDuration(); _mana = _itemTemplate.getDuration();
_time = _item.getTime() == -1 ? -1 : Chronos.currentTimeMillis() + (_item.getTime() * 60 * 1000); _time = _itemTemplate.getTime() == -1 ? -1 : Chronos.currentTimeMillis() + (_itemTemplate.getTime() * 60 * 1000);
scheduleLifeTimeTask(); scheduleLifeTimeTask();
scheduleVisualLifeTime(); scheduleVisualLifeTime();
} }
@ -297,7 +297,7 @@ public class Item extends WorldObject
if (creature.isPlayer()) if (creature.isPlayer())
{ {
// Notify to scripts // Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemPickup(creature.getActingPlayer(), this), getItem()); EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemPickup(creature.getActingPlayer(), this), getTemplate());
} }
} }
@ -314,14 +314,14 @@ public class Item extends WorldObject
if (Config.LOG_ITEMS) if (Config.LOG_ITEMS)
{ {
if (!Config.LOG_ITEMS_SMALL_LOG || (Config.LOG_ITEMS_SMALL_LOG && (_item.isEquipable() || (_item.getId() == ADENA_ID)))) if (!Config.LOG_ITEMS_SMALL_LOG || (Config.LOG_ITEMS_SMALL_LOG && (_itemTemplate.isEquipable() || (_itemTemplate.getId() == ADENA_ID))))
{ {
if (_enchantLevel > 0) if (_enchantLevel > 0)
{ {
LOG_ITEMS.info("SETOWNER:" + String.valueOf(process) // in case of null LOG_ITEMS.info("SETOWNER:" + String.valueOf(process) // in case of null
+ ", item " + getObjectId() // + ", item " + getObjectId() //
+ ":+" + _enchantLevel // + ":+" + _enchantLevel //
+ " " + _item.getName() // + " " + _itemTemplate.getName() //
+ "(" + _count + "), " // + "(" + _count + "), " //
+ String.valueOf(creator) + ", " // in case of null + String.valueOf(creator) + ", " // in case of null
+ String.valueOf(reference)); // in case of null + String.valueOf(reference)); // in case of null
@ -330,7 +330,7 @@ public class Item extends WorldObject
{ {
LOG_ITEMS.info("SETOWNER:" + String.valueOf(process) // in case of null LOG_ITEMS.info("SETOWNER:" + String.valueOf(process) // in case of null
+ ", item " + getObjectId() // + ", item " + getObjectId() //
+ ":" + _item.getName() // + ":" + _itemTemplate.getName() //
+ "(" + _count + "), " // + "(" + _count + "), " //
+ String.valueOf(creator) + ", " // in case of null + String.valueOf(creator) + ", " // in case of null
+ String.valueOf(reference)); // in case of null + String.valueOf(reference)); // in case of null
@ -486,14 +486,14 @@ public class Item extends WorldObject
if (Config.LOG_ITEMS && (process != null)) if (Config.LOG_ITEMS && (process != null))
{ {
if (!Config.LOG_ITEMS_SMALL_LOG || (Config.LOG_ITEMS_SMALL_LOG && (_item.isEquipable() || (_item.getId() == ADENA_ID)))) if (!Config.LOG_ITEMS_SMALL_LOG || (Config.LOG_ITEMS_SMALL_LOG && (_itemTemplate.isEquipable() || (_itemTemplate.getId() == ADENA_ID))))
{ {
if (_enchantLevel > 0) if (_enchantLevel > 0)
{ {
LOG_ITEMS.info("CHANGE:" + String.valueOf(process) // in case of null LOG_ITEMS.info("CHANGE:" + String.valueOf(process) // in case of null
+ ", item " + getObjectId() // + ", item " + getObjectId() //
+ ":+" + _enchantLevel // + ":+" + _enchantLevel //
+ " " + _item.getName() // + " " + _itemTemplate.getName() //
+ "(" + _count + "), PrevCount(" // + "(" + _count + "), PrevCount(" //
+ String.valueOf(old) + "), " // in case of null + String.valueOf(old) + "), " // in case of null
+ String.valueOf(creator) + ", " // in case of null + String.valueOf(creator) + ", " // in case of null
@ -503,7 +503,7 @@ public class Item extends WorldObject
{ {
LOG_ITEMS.info("CHANGE:" + String.valueOf(process) // in case of null LOG_ITEMS.info("CHANGE:" + String.valueOf(process) // in case of null
+ ", item " + getObjectId() // + ", item " + getObjectId() //
+ ":" + _item.getName() // + ":" + _itemTemplate.getName() //
+ "(" + _count + "), PrevCount(" // + "(" + _count + "), PrevCount(" //
+ String.valueOf(old) + "), " // in case of null + String.valueOf(old) + "), " // in case of null
+ String.valueOf(creator) + ", " // in case of null + String.valueOf(creator) + ", " // in case of null
@ -545,7 +545,7 @@ public class Item extends WorldObject
{ {
if ((_loc == ItemLocation.INVENTORY) || (_loc == ItemLocation.PAPERDOLL)) if ((_loc == ItemLocation.INVENTORY) || (_loc == ItemLocation.PAPERDOLL))
{ {
return _item.isEnchantable(); return _itemTemplate.isEnchantable();
} }
return false; return false;
} }
@ -556,7 +556,7 @@ public class Item extends WorldObject
*/ */
public boolean isEquipable() public boolean isEquipable()
{ {
return _item.getBodyPart() != ItemTemplate.SLOT_NONE; return _itemTemplate.getBodyPart() != ItemTemplate.SLOT_NONE;
} }
/** /**
@ -578,12 +578,12 @@ public class Item extends WorldObject
} }
/** /**
* Returns the characteristics of the item * Returns the characteristics of the item.
* @return Item * @return ItemTemplate
*/ */
public ItemTemplate getItem() public ItemTemplate getTemplate()
{ {
return _item; return _itemTemplate;
} }
public int getCustomType1() public int getCustomType1()
@ -621,7 +621,7 @@ public class Item extends WorldObject
*/ */
public ItemType getItemType() public ItemType getItemType()
{ {
return _item.getItemType(); return _itemTemplate.getItemType();
} }
/** /**
@ -639,7 +639,7 @@ public class Item extends WorldObject
*/ */
public int getDisplayId() public int getDisplayId()
{ {
return _item.getDisplayId(); return _itemTemplate.getDisplayId();
} }
/** /**
@ -647,7 +647,7 @@ public class Item extends WorldObject
*/ */
public boolean isEtcItem() public boolean isEtcItem()
{ {
return (_item instanceof EtcItem); return (_itemTemplate instanceof EtcItem);
} }
/** /**
@ -655,7 +655,7 @@ public class Item extends WorldObject
*/ */
public boolean isWeapon() public boolean isWeapon()
{ {
return (_item instanceof Weapon); return (_itemTemplate instanceof Weapon);
} }
/** /**
@ -663,7 +663,7 @@ public class Item extends WorldObject
*/ */
public boolean isArmor() public boolean isArmor()
{ {
return (_item instanceof Armor); return (_itemTemplate instanceof Armor);
} }
/** /**
@ -671,9 +671,9 @@ public class Item extends WorldObject
*/ */
public EtcItem getEtcItem() public EtcItem getEtcItem()
{ {
if (_item instanceof EtcItem) if (_itemTemplate instanceof EtcItem)
{ {
return (EtcItem) _item; return (EtcItem) _itemTemplate;
} }
return null; return null;
} }
@ -683,9 +683,9 @@ public class Item extends WorldObject
*/ */
public Weapon getWeaponItem() public Weapon getWeaponItem()
{ {
if (_item instanceof Weapon) if (_itemTemplate instanceof Weapon)
{ {
return (Weapon) _item; return (Weapon) _itemTemplate;
} }
return null; return null;
} }
@ -695,9 +695,9 @@ public class Item extends WorldObject
*/ */
public Armor getArmorItem() public Armor getArmorItem()
{ {
if (_item instanceof Armor) if (_itemTemplate instanceof Armor)
{ {
return (Armor) _item; return (Armor) _itemTemplate;
} }
return null; return null;
} }
@ -707,7 +707,7 @@ public class Item extends WorldObject
*/ */
public int getCrystalCount() public int getCrystalCount()
{ {
return _item.getCrystalCount(_enchantLevel); return _itemTemplate.getCrystalCount(_enchantLevel);
} }
/** /**
@ -715,7 +715,7 @@ public class Item extends WorldObject
*/ */
public long getReferencePrice() public long getReferencePrice()
{ {
return _item.getReferencePrice(); return _itemTemplate.getReferencePrice();
} }
/** /**
@ -723,7 +723,7 @@ public class Item extends WorldObject
*/ */
public String getItemName() public String getItemName()
{ {
return _item.getName(); return _itemTemplate.getName();
} }
/** /**
@ -731,7 +731,7 @@ public class Item extends WorldObject
*/ */
public int getReuseDelay() public int getReuseDelay()
{ {
return _item.getReuseDelay(); return _itemTemplate.getReuseDelay();
} }
/** /**
@ -739,7 +739,7 @@ public class Item extends WorldObject
*/ */
public int getSharedReuseGroup() public int getSharedReuseGroup()
{ {
return _item.getSharedReuseGroup(); return _itemTemplate.getSharedReuseGroup();
} }
/** /**
@ -765,7 +765,7 @@ public class Item extends WorldObject
*/ */
public boolean isStackable() public boolean isStackable()
{ {
return _item.isStackable(); return _itemTemplate.isStackable();
} }
/** /**
@ -778,7 +778,7 @@ public class Item extends WorldObject
{ {
return true; return true;
} }
return !isAugmented() && (getVisualId() == 0) && _item.isDropable(); return !isAugmented() && (getVisualId() == 0) && _itemTemplate.isDropable();
} }
/** /**
@ -791,7 +791,7 @@ public class Item extends WorldObject
{ {
return false; return false;
} }
return _item.isDestroyable(); return _itemTemplate.isDestroyable();
} }
/** /**
@ -804,7 +804,7 @@ public class Item extends WorldObject
{ {
return true; return true;
} }
return !isAugmented() && _item.isTradeable(); return !isAugmented() && _itemTemplate.isTradeable();
} }
/** /**
@ -817,7 +817,7 @@ public class Item extends WorldObject
{ {
return true; return true;
} }
return !isAugmented() && _item.isSellable(); return !isAugmented() && _itemTemplate.isSellable();
} }
/** /**
@ -827,7 +827,7 @@ public class Item extends WorldObject
public boolean isDepositable(boolean isPrivateWareHouse) public boolean isDepositable(boolean isPrivateWareHouse)
{ {
// equipped, hero and quest items // equipped, hero and quest items
if (isEquipped() || !_item.isDepositable()) if (isEquipped() || !_itemTemplate.isDepositable())
{ {
return false; return false;
} }
@ -841,27 +841,27 @@ public class Item extends WorldObject
public boolean isPotion() public boolean isPotion()
{ {
return _item.isPotion(); return _itemTemplate.isPotion();
} }
public boolean isElixir() public boolean isElixir()
{ {
return _item.isElixir(); return _itemTemplate.isElixir();
} }
public boolean isScroll() public boolean isScroll()
{ {
return _item.isScroll(); return _itemTemplate.isScroll();
} }
public boolean isHeroItem() public boolean isHeroItem()
{ {
return _item.isHeroItem(); return _itemTemplate.isHeroItem();
} }
public boolean isCommonItem() public boolean isCommonItem()
{ {
return _item.isCommon(); return _itemTemplate.isCommon();
} }
/** /**
@ -870,12 +870,12 @@ public class Item extends WorldObject
*/ */
public boolean isPvp() public boolean isPvp()
{ {
return _item.isPvpItem(); return _itemTemplate.isPvpItem();
} }
public boolean isOlyRestrictedItem() public boolean isOlyRestrictedItem()
{ {
return _item.isOlyRestrictedItem(); return _itemTemplate.isOlyRestrictedItem();
} }
/** /**
@ -889,12 +889,12 @@ public class Item extends WorldObject
final Summon pet = player.getPet(); final Summon pet = player.getPet();
return ((!isEquipped()) // Not equipped return ((!isEquipped()) // Not equipped
&& (_item.getType2() != ItemTemplate.TYPE2_QUEST) // Not Quest Item && (_itemTemplate.getType2() != ItemTemplate.TYPE2_QUEST) // Not Quest Item
&& ((_item.getType2() != ItemTemplate.TYPE2_MONEY) || (_item.getType1() != ItemTemplate.TYPE1_SHIELD_ARMOR)) // not money, not shield && ((_itemTemplate.getType2() != ItemTemplate.TYPE2_MONEY) || (_itemTemplate.getType1() != ItemTemplate.TYPE1_SHIELD_ARMOR)) // not money, not shield
&& ((pet == null) || (getObjectId() != pet.getControlObjectId())) // Not Control item of currently summoned pet && ((pet == null) || (getObjectId() != pet.getControlObjectId())) // Not Control item of currently summoned pet
&& !(player.isProcessingItem(getObjectId())) // Not momentarily used enchant scroll && !(player.isProcessingItem(getObjectId())) // Not momentarily used enchant scroll
&& (allowAdena || (_itemId != ADENA_ID)) // Not Adena && (allowAdena || (_itemId != ADENA_ID)) // Not Adena
&& (!player.isCastingNow(s -> s.getSkill().getItemConsumeId() != _itemId)) && (allowNonTradeable || (isTradeable() && (!((_item.getItemType() == EtcItemType.PET_COLLAR) && player.havePetInvItems()))))); && (!player.isCastingNow(s -> s.getSkill().getItemConsumeId() != _itemId)) && (allowNonTradeable || (isTradeable() && (!((_itemTemplate.getItemType() == EtcItemType.PET_COLLAR) && player.havePetInvItems())))));
} }
/** /**
@ -972,7 +972,7 @@ public class Item extends WorldObject
} }
// Notify to scripts. // Notify to scripts.
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerAugment(getActingPlayer(), this, augmentation, true), getItem()); EventDispatcher.getInstance().notifyEventAsync(new OnPlayerAugment(getActingPlayer(), this, augmentation, true), getTemplate());
return true; return true;
} }
@ -1002,7 +1002,7 @@ public class Item extends WorldObject
} }
// Notify to scripts. // Notify to scripts.
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerAugment(getActingPlayer(), this, augment, false), getItem()); EventDispatcher.getInstance().notifyEventAsync(new OnPlayerAugment(getActingPlayer(), this, augment, false), getTemplate());
} }
public void restoreAttributes() public void restoreAttributes()
@ -1139,9 +1139,9 @@ public class Item extends WorldObject
{ {
if (isWeapon()) if (isWeapon())
{ {
if (_item.getAttributes() != null) if (_itemTemplate.getAttributes() != null)
{ {
return _item.getAttributes().stream().findFirst().orElse(null); return _itemTemplate.getAttributes().stream().findFirst().orElse(null);
} }
else if (_elementals != null) else if (_elementals != null)
{ {
@ -1167,9 +1167,9 @@ public class Item extends WorldObject
{ {
if (isArmor()) if (isArmor())
{ {
if (_item.getAttributes() != null) if (_itemTemplate.getAttributes() != null)
{ {
final AttributeHolder attribute = _item.getAttribute(element); final AttributeHolder attribute = _itemTemplate.getAttribute(element);
if (attribute != null) if (attribute != null)
{ {
return attribute.getValue(); return attribute.getValue();
@ -1341,21 +1341,21 @@ public class Item extends WorldObject
case 10: case 10:
{ {
sm = new SystemMessage(SystemMessageId.S1_S_REMAINING_MANA_IS_NOW_10); sm = new SystemMessage(SystemMessageId.S1_S_REMAINING_MANA_IS_NOW_10);
sm.addItemName(_item); sm.addItemName(_itemTemplate);
player.sendPacket(sm); player.sendPacket(sm);
break; break;
} }
case 5: case 5:
{ {
sm = new SystemMessage(SystemMessageId.S1_S_REMAINING_MANA_IS_NOW_5); sm = new SystemMessage(SystemMessageId.S1_S_REMAINING_MANA_IS_NOW_5);
sm.addItemName(_item); sm.addItemName(_itemTemplate);
player.sendPacket(sm); player.sendPacket(sm);
break; break;
} }
case 1: case 1:
{ {
sm = new SystemMessage(SystemMessageId.S1_S_REMAINING_MANA_IS_NOW_1_IT_WILL_DISAPPEAR_SOON); sm = new SystemMessage(SystemMessageId.S1_S_REMAINING_MANA_IS_NOW_1_IT_WILL_DISAPPEAR_SOON);
sm.addItemName(_item); sm.addItemName(_itemTemplate);
player.sendPacket(sm); player.sendPacket(sm);
break; break;
} }
@ -1364,7 +1364,7 @@ public class Item extends WorldObject
if (_mana == 0) // The life time has expired if (_mana == 0) // The life time has expired
{ {
sm = new SystemMessage(SystemMessageId.S1_S_REMAINING_MANA_IS_NOW_0_AND_THE_ITEM_HAS_DISAPPEARED); sm = new SystemMessage(SystemMessageId.S1_S_REMAINING_MANA_IS_NOW_0_AND_THE_ITEM_HAS_DISAPPEARED);
sm.addItemName(_item); sm.addItemName(_itemTemplate);
player.sendPacket(sm); player.sendPacket(sm);
// unequip // unequip
@ -1532,7 +1532,7 @@ public class Item extends WorldObject
_owner = null; _owner = null;
// Notify to scripts // Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(dropper.getActingPlayer(), this, new Location(x, y, z)), getItem()); EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(dropper.getActingPlayer(), this, new Location(x, y, z)), getTemplate());
} }
} }
@ -1682,7 +1682,7 @@ public class Item extends WorldObject
@Override @Override
public String toString() public String toString()
{ {
return _item + "[" + getObjectId() + "]"; return _itemTemplate + "[" + getObjectId() + "]";
} }
public void resetOwnerTimer() public void resetOwnerTimer()
@ -1716,7 +1716,7 @@ public class Item extends WorldObject
public boolean isAvailable() public boolean isAvailable()
{ {
if (!_item.isConditionAttached()) if (!_itemTemplate.isConditionAttached())
{ {
return true; return true;
} }
@ -1728,14 +1728,14 @@ public class Item extends WorldObject
final Creature owner = getActingPlayer(); final Creature owner = getActingPlayer();
if (owner != null) if (owner != null)
{ {
for (Condition condition : _item.getConditions()) for (Condition condition : _itemTemplate.getConditions())
{ {
if (condition == null) if (condition == null)
{ {
continue; continue;
} }
if (!condition.testImpl(owner, owner, null, _item)) if (!condition.testImpl(owner, owner, null, _itemTemplate))
{ {
return false; return false;
} }
@ -1887,26 +1887,26 @@ public class Item extends WorldObject
public boolean isQuestItem() public boolean isQuestItem()
{ {
return _item.isQuestItem(); return _itemTemplate.isQuestItem();
} }
public boolean isElementable() public boolean isElementable()
{ {
if ((_loc == ItemLocation.INVENTORY) || (_loc == ItemLocation.PAPERDOLL)) if ((_loc == ItemLocation.INVENTORY) || (_loc == ItemLocation.PAPERDOLL))
{ {
return _item.isElementable(); return _itemTemplate.isElementable();
} }
return false; return false;
} }
public boolean isFreightable() public boolean isFreightable()
{ {
return _item.isFreightable(); return _itemTemplate.isFreightable();
} }
public int useSkillDisTime() public int useSkillDisTime()
{ {
return _item.useSkillDisTime(); return _itemTemplate.useSkillDisTime();
} }
public int getOlyEnchantLevel() public int getOlyEnchantLevel()
@ -1921,7 +1921,7 @@ public class Item extends WorldObject
if (player.isInOlympiadMode()) if (player.isInOlympiadMode())
{ {
if (_item.isWeapon()) if (_itemTemplate.isWeapon())
{ {
if ((Config.ALT_OLY_WEAPON_ENCHANT_LIMIT >= 0) && (enchant > Config.ALT_OLY_WEAPON_ENCHANT_LIMIT)) if ((Config.ALT_OLY_WEAPON_ENCHANT_LIMIT >= 0) && (enchant > Config.ALT_OLY_WEAPON_ENCHANT_LIMIT))
{ {
@ -1942,7 +1942,7 @@ public class Item extends WorldObject
public boolean hasPassiveSkills() public boolean hasPassiveSkills()
{ {
return (_item.getItemType() == EtcItemType.ENCHT_ATTR_RUNE) && (_loc == ItemLocation.INVENTORY) && (_ownerId > 0) && (_item.getSkills(ItemSkillType.NORMAL) != null); return (_itemTemplate.getItemType() == EtcItemType.ENCHT_ATTR_RUNE) && (_loc == ItemLocation.INVENTORY) && (_ownerId > 0) && (_itemTemplate.getSkills(ItemSkillType.NORMAL) != null);
} }
public void giveSkillsToOwner() public void giveSkillsToOwner()
@ -1955,7 +1955,7 @@ public class Item extends WorldObject
final Player player = getActingPlayer(); final Player player = getActingPlayer();
if (player != null) if (player != null)
{ {
_item.forEachSkill(ItemSkillType.NORMAL, holder -> _itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{ {
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill.isPassive()) if (skill.isPassive())
@ -1976,7 +1976,7 @@ public class Item extends WorldObject
final Player player = getActingPlayer(); final Player player = getActingPlayer();
if (player != null) if (player != null)
{ {
_item.forEachSkill(ItemSkillType.NORMAL, holder -> _itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{ {
final Skill skill = holder.getSkill(); final Skill skill = holder.getSkill();
if (skill.isPassive()) if (skill.isPassive())
@ -2005,7 +2005,7 @@ public class Item extends WorldObject
public int getEquipReuseDelay() public int getEquipReuseDelay()
{ {
return _item.getEquipReuseDelay(); return _itemTemplate.getEquipReuseDelay();
} }
/** /**
@ -2026,11 +2026,11 @@ public class Item extends WorldObject
if (event != null) if (event != null)
{ {
EventDispatcher.getInstance().notifyEventAsync(new OnItemBypassEvent(this, player, event), getItem()); EventDispatcher.getInstance().notifyEventAsync(new OnItemBypassEvent(this, player, event), getTemplate());
} }
else else
{ {
EventDispatcher.getInstance().notifyEventAsync(new OnItemTalk(this, player), getItem()); EventDispatcher.getInstance().notifyEventAsync(new OnItemTalk(this, player), getTemplate());
} }
} }
} }

View File

@ -81,7 +81,7 @@ public class AuctionItem
final Item item = new Item(IdManager.getInstance().getNextId(), _itemId); final Item item = new Item(IdManager.getInstance().getNextId(), _itemId);
World.getInstance().addObject(item); World.getInstance().addObject(item);
item.setCount(_itemCount); item.setCount(_itemCount);
item.setEnchantLevel(item.getItem().getDefaultEnchantLevel()); item.setEnchantLevel(item.getTemplate().getDefaultEnchantLevel());
return item; return item;
} }
} }

View File

@ -71,7 +71,7 @@ public class ClanWarehouse extends Warehouse
final Item item = super.addItem(process, itemId, count, actor, reference); final Item item = super.addItem(process, itemId, count, actor, reference);
// Notify to scripts // Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerClanWHItemAdd(process, actor, item, this), item.getItem()); EventDispatcher.getInstance().notifyEventAsync(new OnPlayerClanWHItemAdd(process, actor, item, this), item.getTemplate());
return item; return item;
} }
@ -79,7 +79,7 @@ public class ClanWarehouse extends Warehouse
public Item addItem(String process, Item item, Player actor, Object reference) public Item addItem(String process, Item item, Player actor, Object reference)
{ {
// Notify to scripts // Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerClanWHItemAdd(process, actor, item, this), item.getItem()); EventDispatcher.getInstance().notifyEventAsync(new OnPlayerClanWHItemAdd(process, actor, item, this), item.getTemplate());
return super.addItem(process, item, actor, reference); return super.addItem(process, item, actor, reference);
} }
@ -87,7 +87,7 @@ public class ClanWarehouse extends Warehouse
public Item destroyItem(String process, Item item, long count, Player actor, Object reference) public Item destroyItem(String process, Item item, long count, Player actor, Object reference)
{ {
// Notify to scripts // Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerClanWHItemDestroy(process, actor, item, count, this), item.getItem()); EventDispatcher.getInstance().notifyEventAsync(new OnPlayerClanWHItemDestroy(process, actor, item, count, this), item.getTemplate());
return super.destroyItem(process, item, count, actor, reference); return super.destroyItem(process, item, count, actor, reference);
} }
@ -97,7 +97,7 @@ public class ClanWarehouse extends Warehouse
final Item item = getItemByObjectId(objectId); final Item item = getItemByObjectId(objectId);
// Notify to scripts // Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerClanWHItemTransfer(process, actor, item, count, target), item.getItem()); EventDispatcher.getInstance().notifyEventAsync(new OnPlayerClanWHItemTransfer(process, actor, item, count, target), item.getTemplate());
return super.transferItem(process, objectId, count, target, actor, reference); return super.transferItem(process, objectId, count, target, actor, reference);
} }
} }

View File

@ -246,7 +246,7 @@ public abstract class Inventory extends ItemContainer
if (item.getItemType() == WeaponType.BOW) if (item.getItemType() == WeaponType.BOW)
{ {
final Item arrow = inventory.findArrowForBow(item.getItem()); final Item arrow = inventory.findArrowForBow(item.getTemplate());
if (arrow != null) if (arrow != null)
{ {
inventory.setPaperdollItem(PAPERDOLL_LHAND, arrow); inventory.setPaperdollItem(PAPERDOLL_LHAND, arrow);
@ -254,7 +254,7 @@ public abstract class Inventory extends ItemContainer
} }
else if ((item.getItemType() == WeaponType.CROSSBOW) || (item.getItemType() == WeaponType.TWOHANDCROSSBOW)) else if ((item.getItemType() == WeaponType.CROSSBOW) || (item.getItemType() == WeaponType.TWOHANDCROSSBOW))
{ {
final Item bolts = inventory.findBoltForCrossBow(item.getItem()); final Item bolts = inventory.findBoltForCrossBow(item.getTemplate());
if (bolts != null) if (bolts != null)
{ {
inventory.setPaperdollItem(PAPERDOLL_LHAND, bolts); inventory.setPaperdollItem(PAPERDOLL_LHAND, bolts);
@ -303,7 +303,7 @@ public abstract class Inventory extends ItemContainer
} }
final Player player = (Player) inventory.getOwner(); final Player player = (Player) inventory.getOwner();
final ItemTemplate it = item.getItem(); final ItemTemplate it = item.getTemplate();
final Map<Integer, Skill> addedSkills = new HashMap<>(1); final Map<Integer, Skill> addedSkills = new HashMap<>(1);
final Map<Integer, Skill> removedSkills = new HashMap<>(1); final Map<Integer, Skill> removedSkills = new HashMap<>(1);
boolean update = false; boolean update = false;
@ -365,7 +365,7 @@ public abstract class Inventory extends ItemContainer
continue; continue;
} }
final List<ItemSkillHolder> otherNormalSkills = itm.getItem().getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> otherNormalSkills = itm.getTemplate().getSkills(ItemSkillType.NORMAL);
if (otherNormalSkills == null) if (otherNormalSkills == null)
{ {
continue; continue;
@ -416,12 +416,12 @@ public abstract class Inventory extends ItemContainer
// Must check all equipped items for enchant conditions. // Must check all equipped items for enchant conditions.
for (Item equipped : inventory.getPaperdollItems()) for (Item equipped : inventory.getPaperdollItems())
{ {
if (!equipped.getItem().hasSkills()) if (!equipped.getTemplate().hasSkills())
{ {
continue; continue;
} }
final List<ItemSkillHolder> otherEnchantSkills = equipped.getItem().getSkills(ItemSkillType.ON_ENCHANT); final List<ItemSkillHolder> otherEnchantSkills = equipped.getTemplate().getSkills(ItemSkillType.ON_ENCHANT);
if (otherEnchantSkills == null) if (otherEnchantSkills == null)
{ {
continue; continue;
@ -499,7 +499,7 @@ public abstract class Inventory extends ItemContainer
final Player player = (Player) inventory.getOwner(); final Player player = (Player) inventory.getOwner();
// Any items equipped that result in expertise penalty do not give any skills at all. // Any items equipped that result in expertise penalty do not give any skills at all.
if (item.getItem().getCrystalType().getLevel() > player.getExpertiseLevel()) if (item.getTemplate().getCrystalType().getLevel() > player.getExpertiseLevel())
{ {
return; return;
} }
@ -519,9 +519,9 @@ public abstract class Inventory extends ItemContainer
// Apply enchant stats // Apply enchant stats
item.applyEnchantStats(); item.applyEnchantStats();
if (item.getItem().hasSkills()) if (item.getTemplate().hasSkills())
{ {
final List<ItemSkillHolder> onEnchantSkills = item.getItem().getSkills(ItemSkillType.ON_ENCHANT); final List<ItemSkillHolder> onEnchantSkills = item.getTemplate().getSkills(ItemSkillType.ON_ENCHANT);
if (onEnchantSkills != null) if (onEnchantSkills != null)
{ {
for (ItemSkillHolder holder : onEnchantSkills) for (ItemSkillHolder holder : onEnchantSkills)
@ -563,7 +563,7 @@ public abstract class Inventory extends ItemContainer
} }
} }
final List<ItemSkillHolder> normalSkills = item.getItem().getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> normalSkills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
if (normalSkills != null) if (normalSkills != null)
{ {
for (ItemSkillHolder holder : normalSkills) for (ItemSkillHolder holder : normalSkills)
@ -615,12 +615,12 @@ public abstract class Inventory extends ItemContainer
// Must check all equipped items for enchant conditions. // Must check all equipped items for enchant conditions.
for (Item equipped : inventory.getPaperdollItems()) for (Item equipped : inventory.getPaperdollItems())
{ {
if (!equipped.getItem().hasSkills()) if (!equipped.getTemplate().hasSkills())
{ {
continue; continue;
} }
final List<ItemSkillHolder> otherEnchantSkills = equipped.getItem().getSkills(ItemSkillType.ON_ENCHANT); final List<ItemSkillHolder> otherEnchantSkills = equipped.getTemplate().getSkills(ItemSkillType.ON_ENCHANT);
if (otherEnchantSkills == null) if (otherEnchantSkills == null)
{ {
continue; continue;
@ -666,7 +666,7 @@ public abstract class Inventory extends ItemContainer
} }
// Apply skill, if weapon have "skills on equip" // Apply skill, if weapon have "skills on equip"
item.getItem().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player)); item.getTemplate().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
if (!addedSkills.isEmpty()) if (!addedSkills.isEmpty())
{ {
@ -727,7 +727,7 @@ public abstract class Inventory extends ItemContainer
player.sendSkillList(); player.sendSkillList();
} }
if ((item.getItem().getBodyPart() == ItemTemplate.SLOT_BROOCH_JEWEL) || (item.getItem().getBodyPart() == ItemTemplate.SLOT_BROOCH)) if ((item.getTemplate().getBodyPart() == ItemTemplate.SLOT_BROOCH_JEWEL) || (item.getTemplate().getBodyPart() == ItemTemplate.SLOT_BROOCH))
{ {
player.updateActiveBroochJewel(); player.updateActiveBroochJewel();
} }
@ -872,7 +872,7 @@ public abstract class Inventory extends ItemContainer
player.sendSkillList(); player.sendSkillList();
} }
if ((item.getItem().getBodyPart() == ItemTemplate.SLOT_BROOCH_JEWEL) || (item.getItem().getBodyPart() == ItemTemplate.SLOT_BROOCH)) if ((item.getTemplate().getBodyPart() == ItemTemplate.SLOT_BROOCH_JEWEL) || (item.getTemplate().getBodyPart() == ItemTemplate.SLOT_BROOCH))
{ {
player.updateActiveBroochJewel(); player.updateActiveBroochJewel();
} }
@ -897,7 +897,7 @@ public abstract class Inventory extends ItemContainer
return; return;
} }
if (item.getItem().getBodyPart() == ItemTemplate.SLOT_R_BRACELET) if (item.getTemplate().getBodyPart() == ItemTemplate.SLOT_R_BRACELET)
{ {
inventory.unEquipItemInSlot(PAPERDOLL_DECO1); inventory.unEquipItemInSlot(PAPERDOLL_DECO1);
inventory.unEquipItemInSlot(PAPERDOLL_DECO2); inventory.unEquipItemInSlot(PAPERDOLL_DECO2);
@ -933,7 +933,7 @@ public abstract class Inventory extends ItemContainer
return; return;
} }
if (item.getItem().getBodyPart() == ItemTemplate.SLOT_BROOCH) if (item.getTemplate().getBodyPart() == ItemTemplate.SLOT_BROOCH)
{ {
inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL1); inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL1);
inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL2); inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL2);
@ -1331,7 +1331,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.getItem().hasSkills()) if (old.getTemplate().hasSkills())
{ {
checkEquipTask(); checkEquipTask();
} }
@ -1350,7 +1350,7 @@ public abstract class Inventory extends ItemContainer
final Item pi = _paperdoll[i]; final Item pi = _paperdoll[i];
if (pi != null) if (pi != null)
{ {
mask |= pi.getItem().getItemMask(); mask |= pi.getTemplate().getItemMask();
} }
} }
_wearedMask = mask; _wearedMask = mask;
@ -1372,7 +1372,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.getItem().hasSkills()) if (item.getTemplate().hasSkills())
{ {
checkEquipTask(); checkEquipTask();
} }
@ -1385,7 +1385,7 @@ public abstract class Inventory extends ItemContainer
item.setLastChange(Item.MODIFIED); item.setLastChange(Item.MODIFIED);
// Notify all paperdoll listener in order to equip item in slot // Notify all paperdoll listener in order to equip item in slot
_wearedMask |= item.getItem().getItemMask(); _wearedMask |= item.getTemplate().getItemMask();
for (PaperdollListener listener : _paperdollListeners) for (PaperdollListener listener : _paperdollListeners)
{ {
if (listener == null) if (listener == null)
@ -1413,7 +1413,7 @@ public abstract class Inventory extends ItemContainer
final Creature owner = getOwner(); final Creature owner = getOwner();
if ((owner != null) && owner.isPlayer()) if ((owner != null) && owner.isPlayer())
{ {
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemUnequip(owner.getActingPlayer(), old), old.getItem()); EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemUnequip(owner.getActingPlayer(), old), old.getTemplate());
} }
} }
@ -1515,7 +1515,7 @@ public abstract class Inventory extends ItemContainer
} }
case PAPERDOLL_CHEST: case PAPERDOLL_CHEST:
{ {
slot = item.getItem().getBodyPart(); slot = item.getTemplate().getBodyPart();
break; break;
} }
case PAPERDOLL_LEGS: case PAPERDOLL_LEGS:
@ -1823,7 +1823,7 @@ public abstract class Inventory extends ItemContainer
final ItemType weaponItemType = weapon.getItemType(); final ItemType weaponItemType = weapon.getItemType();
if ((((weaponItemType == WeaponType.BOW) && (itemType == EtcItemType.ARROW)) // if ((((weaponItemType == WeaponType.BOW) && (itemType == EtcItemType.ARROW)) //
|| (((weaponItemType == WeaponType.CROSSBOW) || (weaponItemType == WeaponType.TWOHANDCROSSBOW)) && (itemType == EtcItemType.BOLT))) // || (((weaponItemType == WeaponType.CROSSBOW) || (weaponItemType == WeaponType.TWOHANDCROSSBOW)) && (itemType == EtcItemType.BOLT))) //
&& (weapon.getItem().getCrystalTypePlus() != item.getItem().getCrystalTypePlus())) && (weapon.getTemplate().getCrystalTypePlus() != item.getTemplate().getCrystalTypePlus()))
{ {
return; return;
} }
@ -1837,11 +1837,11 @@ public abstract class Inventory extends ItemContainer
} }
} }
final int targetSlot = item.getItem().getBodyPart(); final int targetSlot = item.getTemplate().getBodyPart();
// Check if player is using Formal Wear and item isn't Wedding Bouquet. // Check if player is using Formal Wear and item isn't Wedding Bouquet.
final Item formal = getPaperdollItem(PAPERDOLL_CHEST); final Item formal = getPaperdollItem(PAPERDOLL_CHEST);
if ((item.getId() != 21163) && (formal != null) && (formal.getItem().getBodyPart() == ItemTemplate.SLOT_ALLDRESS)) if ((item.getId() != 21163) && (formal != null) && (formal.getTemplate().getBodyPart() == ItemTemplate.SLOT_ALLDRESS))
{ {
// only chest target can pass this // only chest target can pass this
switch (targetSlot) switch (targetSlot)
@ -1870,7 +1870,7 @@ public abstract class Inventory extends ItemContainer
case ItemTemplate.SLOT_L_HAND: case ItemTemplate.SLOT_L_HAND:
{ {
final Item rh = getPaperdollItem(PAPERDOLL_RHAND); final Item rh = getPaperdollItem(PAPERDOLL_RHAND);
if ((rh != null) && (rh.getItem().getBodyPart() == ItemTemplate.SLOT_LR_HAND) && !(((rh.getItemType() == WeaponType.BOW) && (item.getItemType() == EtcItemType.ARROW)) || (((rh.getItemType() == WeaponType.CROSSBOW) || (rh.getItemType() == WeaponType.TWOHANDCROSSBOW)) && (item.getItemType() == EtcItemType.BOLT)) || ((rh.getItemType() == WeaponType.FISHINGROD) && (item.getItemType() == EtcItemType.LURE)))) if ((rh != null) && (rh.getTemplate().getBodyPart() == ItemTemplate.SLOT_LR_HAND) && !(((rh.getItemType() == WeaponType.BOW) && (item.getItemType() == EtcItemType.ARROW)) || (((rh.getItemType() == WeaponType.CROSSBOW) || (rh.getItemType() == WeaponType.TWOHANDCROSSBOW)) && (item.getItemType() == EtcItemType.BOLT)) || ((rh.getItemType() == WeaponType.FISHINGROD) && (item.getItemType() == EtcItemType.LURE))))
{ {
setPaperdollItem(PAPERDOLL_RHAND, null); setPaperdollItem(PAPERDOLL_RHAND, null);
} }
@ -1939,7 +1939,7 @@ public abstract class Inventory extends ItemContainer
{ {
// handle full armor // handle full armor
final Item chest = getPaperdollItem(PAPERDOLL_CHEST); final Item chest = getPaperdollItem(PAPERDOLL_CHEST);
if ((chest != null) && (chest.getItem().getBodyPart() == ItemTemplate.SLOT_FULL_ARMOR)) if ((chest != null) && (chest.getTemplate().getBodyPart() == ItemTemplate.SLOT_FULL_ARMOR))
{ {
setPaperdollItem(PAPERDOLL_CHEST, null); setPaperdollItem(PAPERDOLL_CHEST, null);
} }
@ -1964,7 +1964,7 @@ public abstract class Inventory extends ItemContainer
case ItemTemplate.SLOT_HAIR: case ItemTemplate.SLOT_HAIR:
{ {
final Item hair = getPaperdollItem(PAPERDOLL_HAIR); final Item hair = getPaperdollItem(PAPERDOLL_HAIR);
if ((hair != null) && (hair.getItem().getBodyPart() == ItemTemplate.SLOT_HAIRALL)) if ((hair != null) && (hair.getTemplate().getBodyPart() == ItemTemplate.SLOT_HAIRALL))
{ {
setPaperdollItem(PAPERDOLL_HAIR2, null); setPaperdollItem(PAPERDOLL_HAIR2, null);
} }
@ -1978,7 +1978,7 @@ public abstract class Inventory extends ItemContainer
case ItemTemplate.SLOT_HAIR2: case ItemTemplate.SLOT_HAIR2:
{ {
final Item hair2 = getPaperdollItem(PAPERDOLL_HAIR); final Item hair2 = getPaperdollItem(PAPERDOLL_HAIR);
if ((hair2 != null) && (hair2.getItem().getBodyPart() == ItemTemplate.SLOT_HAIRALL)) if ((hair2 != null) && (hair2.getTemplate().getBodyPart() == ItemTemplate.SLOT_HAIRALL))
{ {
setPaperdollItem(PAPERDOLL_HAIR, null); setPaperdollItem(PAPERDOLL_HAIR, null);
} }
@ -2063,9 +2063,9 @@ public abstract class Inventory extends ItemContainer
long weight = 0; long weight = 0;
for (Item item : _items) for (Item item : _items)
{ {
if ((item != null) && (item.getItem() != null)) if ((item != null) && (item.getTemplate() != null))
{ {
weight += item.getItem().getWeight() * item.getCount(); weight += item.getTemplate().getWeight() * item.getCount();
} }
} }
_totalWeight = (int) Math.min(weight, Integer.MAX_VALUE); _totalWeight = (int) Math.min(weight, Integer.MAX_VALUE);
@ -2094,7 +2094,7 @@ public abstract class Inventory extends ItemContainer
Item arrow = null; Item arrow = null;
for (Item item : _items) for (Item item : _items)
{ {
if (item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.ARROW) && (item.getItem().getCrystalTypePlus() == bow.getCrystalTypePlus())) if (item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.ARROW) && (item.getTemplate().getCrystalTypePlus() == bow.getCrystalTypePlus()))
{ {
arrow = item; arrow = item;
break; break;
@ -2115,7 +2115,7 @@ public abstract class Inventory extends ItemContainer
Item bolt = null; Item bolt = null;
for (Item item : _items) for (Item item : _items)
{ {
if (item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.BOLT) && (item.getItem().getCrystalTypePlus() == crossbow.getCrystalTypePlus())) if (item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.BOLT) && (item.getTemplate().getCrystalTypePlus() == crossbow.getCrystalTypePlus()))
{ {
bolt = item; bolt = item;
break; break;

View File

@ -175,7 +175,7 @@ public abstract class ItemContainer
{ {
for (Item item : _items) for (Item item : _items)
{ {
if (item.getItem().isAllowSelfResurrection()) if (item.getTemplate().isAllowSelfResurrection())
{ {
return true; return true;
} }

View File

@ -66,7 +66,7 @@ public class PetInventory extends Inventory
public boolean validateCapacity(Item item) public boolean validateCapacity(Item item)
{ {
int slots = 0; int slots = 0;
if (!(item.isStackable() && (getItemByItemId(item.getId()) != null)) && !item.getItem().hasExImmediateEffect()) if (!(item.isStackable() && (getItemByItemId(item.getId()) != null)) && !item.getTemplate().hasExImmediateEffect())
{ {
slots++; slots++;
} }
@ -116,7 +116,7 @@ public class PetInventory extends Inventory
// check for equipped items from other pets // check for equipped items from other pets
for (Item item : _items) for (Item item : _items)
{ {
if (item.isEquipped() && !item.getItem().checkCondition(_owner, _owner, false)) if (item.isEquipped() && !item.getTemplate().checkCondition(_owner, _owner, false))
{ {
unEquipItemInSlot(item.getLocationSlot()); unEquipItemInSlot(item.getLocationSlot());
} }

View File

@ -427,7 +427,7 @@ public class PlayerInventory extends Inventory
} }
// Notify to scripts // Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemAdd(actor, addedItem), actor, addedItem.getItem()); EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemAdd(actor, addedItem), actor, addedItem.getTemplate());
} }
} }
return addedItem; return addedItem;
@ -502,7 +502,7 @@ public class PlayerInventory extends Inventory
} }
// Notify to scripts // Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemAdd(actor, item), actor, item.getItem()); EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemAdd(actor, item), actor, item.getTemplate());
} }
return item; return item;
} }
@ -533,7 +533,7 @@ public class PlayerInventory extends Inventory
} }
// Notify to scripts // Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemTransfer(actor, item, target), item.getItem()); EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemTransfer(actor, item, target), item.getTemplate());
return item; return item;
} }
@ -589,7 +589,7 @@ public class PlayerInventory extends Inventory
// Notify to scripts // Notify to scripts
if (destroyedItem != null) if (destroyedItem != null)
{ {
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDestroy(actor, destroyedItem), destroyedItem.getItem()); EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDestroy(actor, destroyedItem), destroyedItem.getTemplate());
} }
return destroyedItem; return destroyedItem;
@ -662,7 +662,7 @@ public class PlayerInventory extends Inventory
// Notify to scripts // Notify to scripts
if (droppedItem != null) if (droppedItem != null)
{ {
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(actor, droppedItem, droppedItem.getLocation()), droppedItem.getItem()); EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(actor, droppedItem, droppedItem.getLocation()), droppedItem.getTemplate());
} }
return droppedItem; return droppedItem;
@ -695,7 +695,7 @@ public class PlayerInventory extends Inventory
// Notify to scripts // Notify to scripts
if (item != null) if (item != null)
{ {
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(actor, item, item.getLocation()), item.getItem()); EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(actor, item, item.getLocation()), item.getTemplate());
} }
return item; return item;
@ -865,7 +865,7 @@ public class PlayerInventory extends Inventory
public boolean validateCapacity(Item item) public boolean validateCapacity(Item item)
{ {
int slots = 0; int slots = 0;
if (!item.isStackable() || ((getInventoryItemCount(item.getId(), -1) <= 0) && !item.getItem().hasExImmediateEffect())) if (!item.isStackable() || ((getInventoryItemCount(item.getId(), -1) <= 0) && !item.getTemplate().hasExImmediateEffect()))
{ {
slots++; slots++;
} }

View File

@ -357,7 +357,7 @@ public class SkillCaster implements Runnable
{ {
// Get the Item consumed by the spell. // Get the Item consumed by the spell.
final Item requiredItem = caster.getInventory().getItemByItemId(_skill.getItemConsumeId()); final Item requiredItem = caster.getInventory().getItemByItemId(_skill.getItemConsumeId());
if (_skill.isBad() || (requiredItem.getItem().getDefaultAction() == ActionType.NONE)) // Non reagent items are removed at finishSkill or item handler. if (_skill.isBad() || (requiredItem.getTemplate().getDefaultAction() == ActionType.NONE)) // Non reagent items are removed at finishSkill or item handler.
{ {
caster.destroyItem(_skill.toString(), requiredItem.getObjectId(), _skill.getItemConsumeCount(), caster, false); caster.destroyItem(_skill.toString(), requiredItem.getObjectId(), _skill.getItemConsumeCount(), caster, false);
} }
@ -517,7 +517,7 @@ public class SkillCaster implements Runnable
} }
// Consume skill reduced item on success. // Consume skill reduced item on success.
if ((_item != null) && (_item.getItem().getDefaultAction() == ActionType.SKILL_REDUCE_ON_SKILL_SUCCESS) && (_skill.getItemConsumeId() > 0) && (_skill.getItemConsumeCount() > 0) && !caster.destroyItem(_skill.toString(), _item.getObjectId(), _skill.getItemConsumeCount(), target, true)) if ((_item != null) && (_item.getTemplate().getDefaultAction() == ActionType.SKILL_REDUCE_ON_SKILL_SUCCESS) && (_skill.getItemConsumeId() > 0) && (_skill.getItemConsumeCount() > 0) && !caster.destroyItem(_skill.toString(), _item.getObjectId(), _skill.getItemConsumeCount(), target, true))
{ {
return false; return false;
} }

View File

@ -49,9 +49,9 @@ public interface IStatFunction
for (int slot : slots) for (int slot : slots)
{ {
final Item item = creature.getInventory().getPaperdollItemByItemId(slot); final Item item = creature.getInventory().getPaperdollItemByItemId(slot);
if ((item != null) && (item.getEnchantLevel() >= 4) && (item.getItem().getCrystalTypePlus() == CrystalType.R)) if ((item != null) && (item.getEnchantLevel() >= 4) && (item.getTemplate().getCrystalTypePlus() == CrystalType.R))
{ {
value += calcEnchantBodyPartBonus(item.getEnchantLevel(), item.getItem().isBlessed()); value += calcEnchantBodyPartBonus(item.getEnchantLevel(), item.getTemplate().isBlessed());
} }
} }
return value; return value;
@ -71,12 +71,12 @@ public interface IStatFunction
final Pet pet = (Pet) creature; final Pet pet = (Pet) creature;
final Item weapon = pet.getActiveWeaponInstance(); final Item weapon = pet.getActiveWeaponInstance();
final double baseVal = stat == Stat.PHYSICAL_ATTACK ? pet.getPetLevelData().getPetPAtk() : stat == Stat.MAGIC_ATTACK ? pet.getPetLevelData().getPetMAtk() : baseTemplateValue; final double baseVal = stat == Stat.PHYSICAL_ATTACK ? pet.getPetLevelData().getPetPAtk() : stat == Stat.MAGIC_ATTACK ? pet.getPetLevelData().getPetMAtk() : baseTemplateValue;
baseValue = baseVal + (weapon != null ? weapon.getItem().getStats(stat, baseVal) : 0); baseValue = baseVal + (weapon != null ? weapon.getTemplate().getStats(stat, baseVal) : 0);
} }
else if (creature.isPlayer() && (!creature.isTransformed() || (creature.getTransformation().get().getType() == TransformType.COMBAT) || (creature.getTransformation().get().getType() == TransformType.MODE_CHANGE))) else if (creature.isPlayer() && (!creature.isTransformed() || (creature.getTransformation().get().getType() == TransformType.COMBAT) || (creature.getTransformation().get().getType() == TransformType.MODE_CHANGE)))
{ {
final Item weapon = creature.getActiveWeaponInstance(); final Item weapon = creature.getActiveWeaponInstance();
baseValue = (weapon != null ? weapon.getItem().getStats(stat, baseTemplateValue) : baseTemplateValue); baseValue = (weapon != null ? weapon.getTemplate().getStats(stat, baseTemplateValue) : baseTemplateValue);
} }
return baseValue; return baseValue;
@ -109,7 +109,7 @@ public interface IStatFunction
double value = 0; double value = 0;
for (Item equippedItem : creature.getInventory().getPaperdollItems(Item::isEnchanted)) for (Item equippedItem : creature.getInventory().getPaperdollItems(Item::isEnchanted))
{ {
final ItemTemplate item = equippedItem.getItem(); final ItemTemplate item = equippedItem.getTemplate();
final int bodypart = item.getBodyPart(); final int bodypart = item.getBodyPart();
if ((bodypart == ItemTemplate.SLOT_HAIR) || // if ((bodypart == ItemTemplate.SLOT_HAIR) || //
(bodypart == ItemTemplate.SLOT_HAIR2) || // (bodypart == ItemTemplate.SLOT_HAIR2) || //
@ -171,7 +171,7 @@ public interface IStatFunction
*/ */
static double calcEnchantDefBonus(Item item, double blessedBonus, int enchant) static double calcEnchantDefBonus(Item item, double blessedBonus, int enchant)
{ {
switch (item.getItem().getCrystalTypePlus()) switch (item.getTemplate().getCrystalTypePlus())
{ {
case R: case R:
{ {
@ -192,7 +192,7 @@ public interface IStatFunction
*/ */
static double calcEnchantMatkBonus(Item item, double blessedBonus, int enchant) static double calcEnchantMatkBonus(Item item, double blessedBonus, int enchant)
{ {
switch (item.getItem().getCrystalTypePlus()) switch (item.getTemplate().getCrystalTypePlus())
{ {
case R: case R:
{ {
@ -229,7 +229,7 @@ public interface IStatFunction
*/ */
static double calcEnchantedPAtkBonus(Item item, double blessedBonus, int enchant) static double calcEnchantedPAtkBonus(Item item, double blessedBonus, int enchant)
{ {
switch (item.getItem().getCrystalTypePlus()) switch (item.getTemplate().getCrystalTypePlus())
{ {
case R: case R:
{ {

View File

@ -59,7 +59,7 @@ public class AttributeFinalizer implements IStatFunction
baseValue += weaponInstanceHolder.getValue(); baseValue += weaponInstanceHolder.getValue();
} }
final AttributeHolder weaponHolder = weapon.getItem().getAttribute(_type); final AttributeHolder weaponHolder = weapon.getTemplate().getAttribute(_type);
if (weaponHolder != null) if (weaponHolder != null)
{ {
baseValue += weaponHolder.getValue(); baseValue += weaponHolder.getValue();
@ -79,7 +79,7 @@ public class AttributeFinalizer implements IStatFunction
baseValue += weaponInstanceHolder.getValue(); baseValue += weaponInstanceHolder.getValue();
} }
final AttributeHolder weaponHolder = item.getItem().getAttribute(_type); final AttributeHolder weaponHolder = item.getTemplate().getAttribute(_type);
if (weaponHolder != null) if (weaponHolder != null)
{ {
baseValue += weaponHolder.getValue(); baseValue += weaponHolder.getValue();

View File

@ -59,7 +59,7 @@ public class MDefenseFinalizer implements IStatFunction
{ {
for (Item item : inv.getPaperdollItems()) for (Item item : inv.getPaperdollItems())
{ {
baseValue += item.getItem().getStats(stat, 0); baseValue += item.getTemplate().getStats(stat, 0);
} }
} }

View File

@ -73,12 +73,12 @@ public class MaxHpFinalizer implements IStatFunction
// Add maxHP bonus from items // Add maxHP bonus from items
for (Item item : inv.getPaperdollItems()) for (Item item : inv.getPaperdollItems())
{ {
addItem += item.getItem().getStats(stat, 0); addItem += item.getTemplate().getStats(stat, 0);
// Apply enchanted item bonus HP // Apply enchanted item bonus HP
if (item.isArmor() && item.isEnchanted()) if (item.isArmor() && item.isEnchanted())
{ {
final int bodyPart = item.getItem().getBodyPart(); final int bodyPart = item.getTemplate().getBodyPart();
if ((bodyPart != ItemTemplate.SLOT_NECK) && (bodyPart != ItemTemplate.SLOT_LR_EAR) && (bodyPart != ItemTemplate.SLOT_LR_FINGER)) if ((bodyPart != ItemTemplate.SLOT_NECK) && (bodyPart != ItemTemplate.SLOT_LR_EAR) && (bodyPart != ItemTemplate.SLOT_LR_FINGER))
{ {
addItem += EnchantItemHPBonusData.getInstance().getHPBonus(item); addItem += EnchantItemHPBonusData.getInstance().getHPBonus(item);

View File

@ -71,7 +71,7 @@ public class MaxMpFinalizer implements IStatFunction
// Add maxMP bonus from items // Add maxMP bonus from items
for (Item item : inv.getPaperdollItems()) for (Item item : inv.getPaperdollItems())
{ {
addItem += item.getItem().getStats(stat, 0); addItem += item.getTemplate().getStats(stat, 0);
} }
} }

View File

@ -63,7 +63,7 @@ public class PDefenseFinalizer implements IStatFunction
{ {
for (Item item : inv.getPaperdollItems()) for (Item item : inv.getPaperdollItems())
{ {
baseValue += item.getItem().getStats(stat, 0); baseValue += item.getTemplate().getStats(stat, 0);
} }
if (creature.isPlayer()) if (creature.isPlayer())
@ -72,7 +72,7 @@ public class PDefenseFinalizer implements IStatFunction
for (int slot : SLOTS) for (int slot : SLOTS)
{ {
if (!inv.isPaperdollSlotEmpty(slot) || // if (!inv.isPaperdollSlotEmpty(slot) || //
((slot == Inventory.PAPERDOLL_LEGS) && !inv.isPaperdollSlotEmpty(Inventory.PAPERDOLL_CHEST) && (inv.getPaperdollItem(Inventory.PAPERDOLL_CHEST).getItem().getBodyPart() == ItemTemplate.SLOT_FULL_ARMOR))) ((slot == Inventory.PAPERDOLL_LEGS) && !inv.isPaperdollSlotEmpty(Inventory.PAPERDOLL_CHEST) && (inv.getPaperdollItem(Inventory.PAPERDOLL_CHEST).getTemplate().getBodyPart() == ItemTemplate.SLOT_FULL_ARMOR)))
{ {
final int defaultStatValue = player.getTemplate().getBaseDefBySlot(slot); final int defaultStatValue = player.getTemplate().getBaseDefBySlot(slot);
baseValue -= creature.getTransformation().map(transform -> transform.getBaseDefBySlot(player, slot)).orElse(defaultStatValue); baseValue -= creature.getTransformation().map(transform -> transform.getBaseDefBySlot(player, slot)).orElse(defaultStatValue);

View File

@ -168,7 +168,7 @@ public abstract class AbstractRefinePacket implements IClientIncomingPacket
} }
} }
if (!(item.getItem() instanceof Weapon) && !(item.getItem() instanceof Armor)) if (!(item.getTemplate() instanceof Weapon) && !(item.getTemplate() instanceof Armor))
{ {
return false; // neither weapon nor armor ? return false; // neither weapon nor armor ?
} }

View File

@ -462,7 +462,7 @@ public class MultiSellChoose implements IClientIncomingPacket
final Item addedItem = inventory.addItem("Multisell", product.getId(), totalCount, player, npc, false); final Item addedItem = inventory.addItem("Multisell", product.getId(), totalCount, player, npc, false);
// Check if the newly given item should be enchanted. // Check if the newly given item should be enchanted.
if (itemEnchantmentProcessed && list.isMaintainEnchantment() && (itemEnchantment != null) && addedItem.isEquipable() && addedItem.getItem().getClass().equals(itemEnchantment.getItem().getClass())) if (itemEnchantmentProcessed && list.isMaintainEnchantment() && (itemEnchantment != null) && addedItem.isEquipable() && addedItem.getTemplate().getClass().equals(itemEnchantment.getItem().getClass()))
{ {
addedItem.setEnchantLevel(itemEnchantment.getEnchantLevel()); addedItem.setEnchantLevel(itemEnchantment.getEnchantLevel());
addedItem.setAugmentation(itemEnchantment.getAugmentation(), false); addedItem.setAugmentation(itemEnchantment.getAugmentation(), false);

View File

@ -72,7 +72,7 @@ public class RequestAutoSoulShot implements IClientIncomingPacket
return; return;
} }
if (isSummonShot(item.getItem())) if (isSummonShot(item.getTemplate()))
{ {
if (player.hasSummon()) if (player.hasSummon())
{ {
@ -124,7 +124,7 @@ public class RequestAutoSoulShot implements IClientIncomingPacket
if (pet != null) if (pet != null)
{ {
// Send message // Send message
if (!pet.isChargedShot(item.getItem().getDefaultAction() == ActionType.SUMMON_SOULSHOT ? ShotType.SOULSHOTS : ((item.getId() == 6647) || (item.getId() == 20334)) ? ShotType.BLESSED_SPIRITSHOTS : ShotType.SPIRITSHOTS)) if (!pet.isChargedShot(item.getTemplate().getDefaultAction() == ActionType.SUMMON_SOULSHOT ? ShotType.SOULSHOTS : ((item.getId() == 6647) || (item.getId() == 20334)) ? ShotType.BLESSED_SPIRITSHOTS : ShotType.SPIRITSHOTS))
{ {
final SystemMessage sm = new SystemMessage(SystemMessageId.THE_AUTOMATIC_USE_OF_S1_HAS_BEEN_ACTIVATED); final SystemMessage sm = new SystemMessage(SystemMessageId.THE_AUTOMATIC_USE_OF_S1_HAS_BEEN_ACTIVATED);
sm.addItemName(item); sm.addItemName(item);
@ -136,7 +136,7 @@ public class RequestAutoSoulShot implements IClientIncomingPacket
for (Summon summon : player.getServitors().values()) for (Summon summon : player.getServitors().values())
{ {
// Send message // Send message
if (!summon.isChargedShot(item.getItem().getDefaultAction() == ActionType.SUMMON_SOULSHOT ? ShotType.SOULSHOTS : ((item.getId() == 6647) || (item.getId() == 20334)) ? ShotType.BLESSED_SPIRITSHOTS : ShotType.SPIRITSHOTS)) if (!summon.isChargedShot(item.getTemplate().getDefaultAction() == ActionType.SUMMON_SOULSHOT ? ShotType.SOULSHOTS : ((item.getId() == 6647) || (item.getId() == 20334)) ? ShotType.BLESSED_SPIRITSHOTS : ShotType.SPIRITSHOTS))
{ {
final SystemMessage sm = new SystemMessage(SystemMessageId.THE_AUTOMATIC_USE_OF_S1_HAS_BEEN_ACTIVATED); final SystemMessage sm = new SystemMessage(SystemMessageId.THE_AUTOMATIC_USE_OF_S1_HAS_BEEN_ACTIVATED);
sm.addItemName(item); sm.addItemName(item);
@ -151,12 +151,12 @@ public class RequestAutoSoulShot implements IClientIncomingPacket
player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_A_SERVITOR_OR_PET_AND_THEREFORE_CANNOT_USE_THE_AUTOMATIC_USE_FUNCTION); player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_A_SERVITOR_OR_PET_AND_THEREFORE_CANNOT_USE_THE_AUTOMATIC_USE_FUNCTION);
} }
} }
else if (isPlayerShot(item.getItem())) else if (isPlayerShot(item.getTemplate()))
{ {
final boolean isSoulshot = item.getEtcItem().getDefaultAction() == ActionType.SOULSHOT; final boolean isSoulshot = item.getEtcItem().getDefaultAction() == ActionType.SOULSHOT;
final boolean isSpiritshot = item.getEtcItem().getDefaultAction() == ActionType.SPIRITSHOT; final boolean isSpiritshot = item.getEtcItem().getDefaultAction() == ActionType.SPIRITSHOT;
final boolean isFishingshot = item.getEtcItem().getDefaultAction() == ActionType.FISHINGSHOT; final boolean isFishingshot = item.getEtcItem().getDefaultAction() == ActionType.FISHINGSHOT;
if ((player.getActiveWeaponItem() == player.getFistsWeaponItem()) || (item.getItem().getCrystalType() != player.getActiveWeaponItem().getCrystalTypePlus())) if ((player.getActiveWeaponItem() == player.getFistsWeaponItem()) || (item.getTemplate().getCrystalType() != player.getActiveWeaponItem().getCrystalTypePlus()))
{ {
player.sendPacket(isSoulshot ? SystemMessageId.THE_SOULSHOT_YOU_ARE_ATTEMPTING_TO_USE_DOES_NOT_MATCH_THE_GRADE_OF_YOUR_EQUIPPED_WEAPON : SystemMessageId.YOUR_SPIRITSHOT_DOES_NOT_MATCH_THE_WEAPON_S_GRADE); player.sendPacket(isSoulshot ? SystemMessageId.THE_SOULSHOT_YOU_ARE_ATTEMPTING_TO_USE_DOES_NOT_MATCH_THE_GRADE_OF_YOUR_EQUIPPED_WEAPON : SystemMessageId.YOUR_SPIRITSHOT_DOES_NOT_MATCH_THE_WEAPON_S_GRADE);
return; return;

View File

@ -137,7 +137,7 @@ public class RequestCancelPostAttachment implements IClientIncomingPacket
return; return;
} }
weight += item.getCount() * item.getItem().getWeight(); weight += item.getCount() * item.getTemplate().getWeight();
if (!item.isStackable()) if (!item.isStackable())
{ {
slots += item.getCount(); slots += item.getCount();

View File

@ -117,7 +117,7 @@ public class RequestCrystallizeItem implements IClientIncomingPacket
return; return;
} }
if (!itemToRemove.getItem().isCrystallizable() || (itemToRemove.getItem().getCrystalCount() <= 0) || (itemToRemove.getItem().getCrystalType() == CrystalType.NONE)) if (!itemToRemove.getTemplate().isCrystallizable() || (itemToRemove.getTemplate().getCrystalCount() <= 0) || (itemToRemove.getTemplate().getCrystalType() == CrystalType.NONE))
{ {
player.sendPacket(SystemMessageId.THIS_ITEM_CANNOT_BE_CRYSTALLIZED); player.sendPacket(SystemMessageId.THIS_ITEM_CANNOT_BE_CRYSTALLIZED);
return; return;
@ -132,7 +132,7 @@ public class RequestCrystallizeItem implements IClientIncomingPacket
// Check if the char can crystallize items and return if false; // Check if the char can crystallize items and return if false;
boolean canCrystallize = true; boolean canCrystallize = true;
switch (itemToRemove.getItem().getCrystalTypePlus()) switch (itemToRemove.getTemplate().getCrystalTypePlus())
{ {
case D: case D:
{ {

View File

@ -153,7 +153,7 @@ public class RequestDestroyItem implements IClientIncomingPacket
count = itemToRemove.getCount(); count = itemToRemove.getCount();
} }
if (itemToRemove.getItem().isPetItem()) if (itemToRemove.getTemplate().isPetItem())
{ {
final Summon pet = player.getPet(); final Summon pet = player.getPet();
if ((pet != null) && (pet.getControlObjectId() == _objectId)) if ((pet != null) && (pet.getControlObjectId() == _objectId))

View File

@ -148,13 +148,13 @@ public class RequestDropItem implements IClientIncomingPacket
} }
// Cannot discard item that the skill is consuming. // Cannot discard item that the skill is consuming.
if (player.isCastingNow(s -> (s.getSkill().getItemConsumeId() == item.getId()) && (item.getItem().getDefaultAction() == ActionType.SKILL_REDUCE_ON_SKILL_SUCCESS))) if (player.isCastingNow(s -> (s.getSkill().getItemConsumeId() == item.getId()) && (item.getTemplate().getDefaultAction() == ActionType.SKILL_REDUCE_ON_SKILL_SUCCESS)))
{ {
player.sendPacket(SystemMessageId.THIS_ITEM_CANNOT_BE_DESTROYED); player.sendPacket(SystemMessageId.THIS_ITEM_CANNOT_BE_DESTROYED);
return; return;
} }
if ((ItemTemplate.TYPE2_QUEST == item.getItem().getType2()) && !player.canOverrideCond(PlayerCondOverride.DROP_ALL_ITEMS)) if ((ItemTemplate.TYPE2_QUEST == item.getTemplate().getType2()) && !player.canOverrideCond(PlayerCondOverride.DROP_ALL_ITEMS))
{ {
player.sendPacket(SystemMessageId.THAT_ITEM_CANNOT_BE_DISCARDED_OR_EXCHANGED); player.sendPacket(SystemMessageId.THAT_ITEM_CANNOT_BE_DISCARDED_OR_EXCHANGED);
return; return;

View File

@ -118,7 +118,7 @@ public class RequestEnchantItem implements IClientIncomingPacket
} }
// first validation check - also over enchant check // first validation check - also over enchant check
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && ((item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel()) || (!(item.getItem().getEnchantLimit() == 0) && (item.getEnchantLevel() == item.getItem().getEnchantLimit()))))) if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && ((item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel()) || (!(item.getTemplate().getEnchantLimit() == 0) && (item.getEnchantLevel() == item.getTemplate().getEnchantLimit())))))
{ {
player.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS); player.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
player.removeRequest(request.getClass()); player.removeRequest(request.getClass());
@ -179,7 +179,7 @@ public class RequestEnchantItem implements IClientIncomingPacket
} }
case SUCCESS: case SUCCESS:
{ {
final ItemTemplate it = item.getItem(); final ItemTemplate it = item.getTemplate();
// Increase enchant level only if scroll's base template has chance, some armors can success over +20 but they shouldn't have increased. // Increase enchant level only if scroll's base template has chance, some armors can success over +20 but they shouldn't have increased.
if (scrollTemplate.getChance(player, item) > 0) if (scrollTemplate.getChance(player, item) > 0)
{ {
@ -384,13 +384,13 @@ public class RequestEnchantItem implements IClientIncomingPacket
World.getInstance().removeObject(item); World.getInstance().removeObject(item);
int count = 0; int count = 0;
if (item.getItem().isCrystallizable()) if (item.getTemplate().isCrystallizable())
{ {
count = Math.max(0, item.getCrystalCount() - ((item.getItem().getCrystalCount() + 1) / 2)); count = Math.max(0, item.getCrystalCount() - ((item.getTemplate().getCrystalCount() + 1) / 2));
} }
Item crystals = null; Item crystals = null;
final int crystalId = item.getItem().getCrystalItemId(); final int crystalId = item.getTemplate().getCrystalItemId();
if (count > 0) if (count > 0)
{ {
crystals = player.getInventory().addItem("Enchant", crystalId, count, player, item); crystals = player.getInventory().addItem("Enchant", crystalId, count, player, item);

View File

@ -124,11 +124,11 @@ public class RequestExRemoveItemAttribute implements IClientIncomingPacket
private long getPrice(Item item) private long getPrice(Item item)
{ {
switch (item.getItem().getCrystalType()) switch (item.getTemplate().getCrystalType())
{ {
case S: case S:
{ {
if (item.getItem() instanceof Weapon) if (item.getTemplate() instanceof Weapon)
{ {
_price = 50000; _price = 50000;
} }
@ -140,7 +140,7 @@ public class RequestExRemoveItemAttribute implements IClientIncomingPacket
} }
case S80: case S80:
{ {
if (item.getItem() instanceof Weapon) if (item.getTemplate() instanceof Weapon)
{ {
_price = 100000; _price = 100000;
} }
@ -152,7 +152,7 @@ public class RequestExRemoveItemAttribute implements IClientIncomingPacket
} }
case S84: case S84:
{ {
if (item.getItem() instanceof Weapon) if (item.getTemplate() instanceof Weapon)
{ {
_price = 200000; _price = 200000;
} }
@ -164,7 +164,7 @@ public class RequestExRemoveItemAttribute implements IClientIncomingPacket
} }
case R: case R:
{ {
if (item.getItem() instanceof Weapon) if (item.getTemplate() instanceof Weapon)
{ {
_price = 400000; _price = 400000;
} }
@ -176,7 +176,7 @@ public class RequestExRemoveItemAttribute implements IClientIncomingPacket
} }
case R95: case R95:
{ {
if (item.getItem() instanceof Weapon) if (item.getTemplate() instanceof Weapon)
{ {
_price = 800000; _price = 800000;
} }
@ -188,7 +188,7 @@ public class RequestExRemoveItemAttribute implements IClientIncomingPacket
} }
case R99: case R99:
{ {
if (item.getItem() instanceof Weapon) if (item.getTemplate() instanceof Weapon)
{ {
_price = 3200000; _price = 3200000;
} }

View File

@ -63,7 +63,7 @@ public class RequestPetUseItem implements IClientIncomingPacket
return; return;
} }
if (!item.getItem().isForNpc()) if (!item.getTemplate().isForNpc())
{ {
player.sendPacket(SystemMessageId.THIS_PET_CANNOT_USE_THIS_ITEM); player.sendPacket(SystemMessageId.THIS_PET_CANNOT_USE_THIS_ITEM);
return; return;
@ -89,7 +89,7 @@ public class RequestPetUseItem implements IClientIncomingPacket
} }
} }
if (!item.isEquipped() && !item.getItem().checkCondition(pet, pet, true)) if (!item.isEquipped() && !item.getTemplate().checkCondition(pet, pet, true))
{ {
return; return;
} }
@ -101,7 +101,7 @@ public class RequestPetUseItem implements IClientIncomingPacket
{ {
if (item.isEquipable()) if (item.isEquipable())
{ {
if (!item.getItem().isConditionAttached()) if (!item.getTemplate().isConditionAttached())
{ {
player.sendPacket(SystemMessageId.THIS_PET_CANNOT_USE_THIS_ITEM); player.sendPacket(SystemMessageId.THIS_PET_CANNOT_USE_THIS_ITEM);
return; return;

View File

@ -151,7 +151,7 @@ public class RequestPostAttachment implements IClientIncomingPacket
return; return;
} }
weight += item.getCount() * item.getItem().getWeight(); weight += item.getCount() * item.getTemplate().getWeight();
if (!item.isStackable()) if (!item.isStackable())
{ {
slots += item.getCount(); slots += item.getCount();

View File

@ -142,7 +142,7 @@ public class RequestRefundItem implements IClientIncomingPacket
} }
final Item item = refund[idx]; final Item item = refund[idx];
final ItemTemplate template = item.getItem(); final ItemTemplate template = item.getTemplate();
objectIds[i] = item.getObjectId(); objectIds[i] = item.getObjectId();
// second check for duplicates - object ids // second check for duplicates - object ids

View File

@ -70,7 +70,7 @@ public class RequestUnEquipItem implements IClientIncomingPacket
} }
// Arrows and bolts. // Arrows and bolts.
if ((_slot == ItemTemplate.SLOT_L_HAND) && (item.getItem() instanceof EtcItem)) if ((_slot == ItemTemplate.SLOT_L_HAND) && (item.getTemplate() instanceof EtcItem))
{ {
return; return;
} }

View File

@ -133,7 +133,7 @@ public class SendWareHouseWithDrawList implements IClientIncomingPacket
return; return;
} }
weight += i.getCount() * item.getItem().getWeight(); weight += i.getCount() * item.getTemplate().getWeight();
if (!item.isStackable()) if (!item.isStackable())
{ {
slots += i.getCount(); slots += i.getCount();

View File

@ -111,7 +111,7 @@ public class UseItem implements IClientIncomingPacket
return; return;
} }
if (item.isQuestItem() && (item.getItem().getDefaultAction() != ActionType.NONE)) if (item.isQuestItem() && (item.getTemplate().getDefaultAction() != ActionType.NONE))
{ {
player.sendPacket(SystemMessageId.YOU_CANNOT_USE_QUEST_ITEMS); player.sendPacket(SystemMessageId.YOU_CANNOT_USE_QUEST_ITEMS);
return; return;
@ -132,7 +132,7 @@ public class UseItem implements IClientIncomingPacket
return; return;
} }
if (!item.isEquipped() && !item.getItem().checkCondition(player, player, true)) if (!item.isEquipped() && !item.getTemplate().checkCondition(player, player, true))
{ {
return; return;
} }
@ -147,7 +147,7 @@ public class UseItem implements IClientIncomingPacket
if (!Config.ALT_GAME_KARMA_PLAYER_CAN_TELEPORT && (player.getReputation() < 0)) if (!Config.ALT_GAME_KARMA_PLAYER_CAN_TELEPORT && (player.getReputation() < 0))
{ {
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
if ((skills != null) && skills.stream().anyMatch(holder -> holder.getSkill().hasEffectType(EffectType.TELEPORT))) if ((skills != null) && skills.stream().anyMatch(holder -> holder.getSkill().hasEffectType(EffectType.TELEPORT)))
{ {
return; return;
@ -198,13 +198,13 @@ public class UseItem implements IClientIncomingPacket
return; return;
} }
if (player.getInventory().isItemSlotBlocked(item.getItem().getBodyPart())) if (player.getInventory().isItemSlotBlocked(item.getTemplate().getBodyPart()))
{ {
player.sendPacket(SystemMessageId.YOU_DO_NOT_MEET_THE_REQUIRED_CONDITION_TO_EQUIP_THAT_ITEM); player.sendPacket(SystemMessageId.YOU_DO_NOT_MEET_THE_REQUIRED_CONDITION_TO_EQUIP_THAT_ITEM);
return; return;
} }
switch (item.getItem().getBodyPart()) switch (item.getTemplate().getBodyPart())
{ {
case ItemTemplate.SLOT_LR_HAND: case ItemTemplate.SLOT_LR_HAND:
case ItemTemplate.SLOT_L_HAND: case ItemTemplate.SLOT_L_HAND:

View File

@ -80,7 +80,7 @@ public class RequestExTryToPutShapeShiftingEnchantSupportItem implements IClient
return; return;
} }
if (!extractItem.getItem().isAppearanceable()) if (!extractItem.getTemplate().isAppearanceable())
{ {
player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS); player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
player.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED); player.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
@ -133,14 +133,14 @@ public class RequestExTryToPutShapeShiftingEnchantSupportItem implements IClient
return; return;
} }
if ((extractItem.getItem().getBodyPart() != targetItem.getItem().getBodyPart()) && ((extractItem.getItem().getBodyPart() != ItemTemplate.SLOT_FULL_ARMOR) || (targetItem.getItem().getBodyPart() != ItemTemplate.SLOT_CHEST))) if ((extractItem.getTemplate().getBodyPart() != targetItem.getTemplate().getBodyPart()) && ((extractItem.getTemplate().getBodyPart() != ItemTemplate.SLOT_FULL_ARMOR) || (targetItem.getTemplate().getBodyPart() != ItemTemplate.SLOT_CHEST)))
{ {
player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS); player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
player.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED); player.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
return; return;
} }
if (extractItem.getItem().getCrystalType().isGreater(targetItem.getItem().getCrystalType())) if (extractItem.getTemplate().getCrystalType().isGreater(targetItem.getTemplate().getCrystalType()))
{ {
player.sendPacket(SystemMessageId.YOU_CANNOT_EXTRACT_FROM_ITEMS_THAT_ARE_HIGHER_GRADE_THAN_ITEMS_TO_BE_MODIFIED); player.sendPacket(SystemMessageId.YOU_CANNOT_EXTRACT_FROM_ITEMS_THAT_ARE_HIGHER_GRADE_THAN_ITEMS_TO_BE_MODIFIED);
player.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED); player.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);

View File

@ -77,7 +77,7 @@ public class RequestExTryToPutShapeShiftingTargetItem implements IClientIncoming
return; return;
} }
if (!targetItem.getItem().isAppearanceable()) if (!targetItem.getTemplate().isAppearanceable())
{ {
player.sendPacket(SystemMessageId.THIS_ITEM_CANNOT_BE_MODIFIED_OR_RESTORED); player.sendPacket(SystemMessageId.THIS_ITEM_CANNOT_BE_MODIFIED_OR_RESTORED);
player.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED); player.sendPacket(ExPutShapeShiftingTargetItemResult.FAILED);

View File

@ -86,7 +86,7 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
return; return;
} }
if (!targetItem.getItem().isAppearanceable()) if (!targetItem.getTemplate().isAppearanceable())
{ {
player.sendPacket(SystemMessageId.THIS_ITEM_CANNOT_BE_MODIFIED_OR_RESTORED); player.sendPacket(SystemMessageId.THIS_ITEM_CANNOT_BE_MODIFIED_OR_RESTORED);
player.sendPacket(ExShapeShiftingResult.CLOSE); player.sendPacket(ExShapeShiftingResult.CLOSE);
@ -141,7 +141,7 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
return; return;
} }
if (!extractItem.getItem().isAppearanceable()) if (!extractItem.getTemplate().isAppearanceable())
{ {
player.sendPacket(ExShapeShiftingResult.CLOSE); player.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class); player.removeRequest(ShapeShiftingItemRequest.class);
@ -155,7 +155,7 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
return; return;
} }
if (extractItem.getItem().getCrystalType().isGreater(targetItem.getItem().getCrystalType())) if (extractItem.getTemplate().getCrystalType().isGreater(targetItem.getTemplate().getCrystalType()))
{ {
player.sendPacket(ExShapeShiftingResult.CLOSE); player.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class); player.removeRequest(ShapeShiftingItemRequest.class);
@ -176,7 +176,7 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
return; return;
} }
if ((extractItem.getItem().getBodyPart() != targetItem.getItem().getBodyPart()) && ((extractItem.getItem().getBodyPart() != ItemTemplate.SLOT_FULL_ARMOR) || (targetItem.getItem().getBodyPart() != ItemTemplate.SLOT_CHEST))) if ((extractItem.getTemplate().getBodyPart() != targetItem.getTemplate().getBodyPart()) && ((extractItem.getTemplate().getBodyPart() != ItemTemplate.SLOT_FULL_ARMOR) || (targetItem.getTemplate().getBodyPart() != ItemTemplate.SLOT_CHEST)))
{ {
player.sendPacket(ExShapeShiftingResult.CLOSE); player.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class); player.removeRequest(ShapeShiftingItemRequest.class);

View File

@ -84,7 +84,7 @@ public class RequestNewEnchantPushTwo implements IClientIncomingPacket
} }
// Lets prevent using same item twice. Also stackable item check. // Lets prevent using same item twice. Also stackable item check.
if ((itemOne.getObjectId() == itemTwo.getObjectId()) && (!itemOne.isStackable() || (player.getInventory().getInventoryItemCount(itemOne.getItem().getId(), -1) < 2))) if ((itemOne.getObjectId() == itemTwo.getObjectId()) && (!itemOne.isStackable() || (player.getInventory().getInventoryItemCount(itemOne.getTemplate().getId(), -1) < 2)))
{ {
player.sendPacket(ExEnchantTwoFail.STATIC_PACKET); player.sendPacket(ExEnchantTwoFail.STATIC_PACKET);
return; return;

View File

@ -86,7 +86,7 @@ public class RequestNewEnchantTry implements IClientIncomingPacket
} }
// Lets prevent using same item twice. Also stackable item check. // Lets prevent using same item twice. Also stackable item check.
if ((itemOne.getObjectId() == itemTwo.getObjectId()) && (!itemOne.isStackable() || (player.getInventory().getInventoryItemCount(itemOne.getItem().getId(), -1) < 2))) if ((itemOne.getObjectId() == itemTwo.getObjectId()) && (!itemOne.isStackable() || (player.getInventory().getInventoryItemCount(itemOne.getTemplate().getId(), -1) < 2)))
{ {
player.sendPacket(new ExEnchantFail(itemOne.getId(), itemTwo.getId())); player.sendPacket(new ExEnchantFail(itemOne.getId(), itemTwo.getId()));
player.removeRequest(request.getClass()); player.removeRequest(request.getClass());

View File

@ -93,10 +93,10 @@ public class RequestCrystallizeEstimate implements IClientIncomingPacket
return; return;
} }
if (!item.getItem().isCrystallizable() || (item.getItem().getCrystalCount() <= 0) || (item.getItem().getCrystalType() == CrystalType.NONE)) if (!item.getTemplate().isCrystallizable() || (item.getTemplate().getCrystalCount() <= 0) || (item.getTemplate().getCrystalType() == CrystalType.NONE))
{ {
player.sendPacket(ActionFailed.STATIC_PACKET); player.sendPacket(ActionFailed.STATIC_PACKET);
PacketLogger.warning(player + ": tried to crystallize " + item.getItem()); PacketLogger.warning(player + ": tried to crystallize " + item.getTemplate());
return; return;
} }
@ -114,7 +114,7 @@ public class RequestCrystallizeEstimate implements IClientIncomingPacket
// Check if the char can crystallize items and return if false; // Check if the char can crystallize items and return if false;
boolean canCrystallize = true; boolean canCrystallize = true;
switch (item.getItem().getCrystalTypePlus()) switch (item.getTemplate().getCrystalTypePlus())
{ {
case D: case D:
{ {

View File

@ -67,7 +67,7 @@ public class ExBuySellList extends AbstractItemPacket
for (Item item : _sellList) for (Item item : _sellList)
{ {
writeItem(packet, item); writeItem(packet, item);
packet.writeQ(Config.MERCHANT_ZERO_SELL_PRICE ? 0 : item.getItem().getReferencePrice() / 2); packet.writeQ(Config.MERCHANT_ZERO_SELL_PRICE ? 0 : item.getTemplate().getReferencePrice() / 2);
} }
} }
else else
@ -82,7 +82,7 @@ public class ExBuySellList extends AbstractItemPacket
{ {
writeItem(packet, item); writeItem(packet, item);
packet.writeD(i++); packet.writeD(i++);
packet.writeQ(Config.MERCHANT_ZERO_SELL_PRICE ? 0 : (item.getItem().getReferencePrice() / 2) * item.getCount()); packet.writeQ(Config.MERCHANT_ZERO_SELL_PRICE ? 0 : (item.getTemplate().getReferencePrice() / 2) * item.getCount());
} }
} }
else else

View File

@ -60,7 +60,7 @@ public class ExShowBaseAttributeCancelWindow implements IClientOutgoingPacket
*/ */
private long getPrice(Item item) private long getPrice(Item item)
{ {
switch (item.getItem().getCrystalType()) switch (item.getTemplate().getCrystalType())
{ {
case S: case S:
{ {

View File

@ -49,7 +49,7 @@ public class PrivateStoreManageListBuy extends AbstractItemPacket
for (Item item : _itemList) for (Item item : _itemList)
{ {
writeItem(packet, item); writeItem(packet, item);
packet.writeQ(item.getItem().getReferencePrice() * 2); packet.writeQ(item.getTemplate().getReferencePrice() * 2);
} }
packet.writeD(_buyList.size()); // count for all items already added for buy packet.writeD(_buyList.size()); // count for all items already added for buy
for (TradeItem item : _buyList) for (TradeItem item : _buyList)

View File

@ -55,11 +55,11 @@ public class SellListProcure implements IClientOutgoingPacket
for (Entry<Item, Long> entry : _sellList.entrySet()) for (Entry<Item, Long> entry : _sellList.entrySet())
{ {
final Item item = entry.getKey(); final Item item = entry.getKey();
packet.writeH(item.getItem().getType1()); packet.writeH(item.getTemplate().getType1());
packet.writeD(item.getObjectId()); packet.writeD(item.getObjectId());
packet.writeD(item.getDisplayId()); packet.writeD(item.getDisplayId());
packet.writeQ(entry.getValue()); // count packet.writeQ(entry.getValue()); // count
packet.writeH(item.getItem().getType2()); packet.writeH(item.getTemplate().getType2());
packet.writeH(0); // unknown packet.writeH(0); // unknown
packet.writeQ(0); // price, you shouldnt get any adena for crops, only raw materials packet.writeQ(0); // price, you shouldnt get any adena for crops, only raw materials
} }

View File

@ -53,11 +53,11 @@ public class ItemsAutoDestroyTaskManager implements Runnable
else else
{ {
final long autoDestroyTime; final long autoDestroyTime;
if (item.getItem().getAutoDestroyTime() > 0) if (item.getTemplate().getAutoDestroyTime() > 0)
{ {
autoDestroyTime = item.getItem().getAutoDestroyTime(); autoDestroyTime = item.getTemplate().getAutoDestroyTime();
} }
else if (item.getItem().hasExImmediateEffect()) else if (item.getTemplate().hasExImmediateEffect())
{ {
autoDestroyTime = Config.HERB_AUTO_DESTROY_TIME; autoDestroyTime = Config.HERB_AUTO_DESTROY_TIME;
} }

View File

@ -64,7 +64,7 @@ public class EnchantFormatter extends Formatter
{ {
StringUtil.append(output, "+", String.valueOf(item.getEnchantLevel()), " "); StringUtil.append(output, "+", String.valueOf(item.getEnchantLevel()), " ");
} }
StringUtil.append(output, item.getItem().getName(), "(", String.valueOf(item.getCount()), ")"); StringUtil.append(output, item.getTemplate().getName(), "(", String.valueOf(item.getCount()), ")");
StringUtil.append(output, " [", String.valueOf(item.getObjectId()), "]"); StringUtil.append(output, " [", String.valueOf(item.getObjectId()), "]");
} }
else if (p instanceof Skill) else if (p instanceof Skill)

View File

@ -56,7 +56,7 @@ public class ItemLogFormatter extends Formatter
StringUtil.append(output, "+", String.valueOf(item.getEnchantLevel()), " "); StringUtil.append(output, "+", String.valueOf(item.getEnchantLevel()), " ");
} }
StringUtil.append(output, item.getItem().getName(), "(", String.valueOf(item.getCount()), ")"); StringUtil.append(output, item.getTemplate().getName(), "(", String.valueOf(item.getCount()), ")");
} }
else else
{ {

View File

@ -181,10 +181,10 @@ public class AdminElement implements IAdminCommandHandler
player.sendInventoryUpdate(iu); player.sendInventoryUpdate(iu);
// informations // informations
BuilderUtil.sendSysMessage(activeChar, "Changed elemental power of " + player.getName() + "'s " + itemInstance.getItem().getName() + " from " + old + " to " + current + "."); BuilderUtil.sendSysMessage(activeChar, "Changed elemental power of " + player.getName() + "'s " + itemInstance.getTemplate().getName() + " from " + old + " to " + current + ".");
if (player != activeChar) if (player != activeChar)
{ {
player.sendMessage(activeChar.getName() + " has changed the elemental power of your " + itemInstance.getItem().getName() + " from " + old + " to " + current + "."); player.sendMessage(activeChar.getName() + " has changed the elemental power of your " + itemInstance.getTemplate().getName() + " from " + old + " to " + current + ".");
} }
} }
} }

View File

@ -203,8 +203,8 @@ public class AdminEnchant implements IAdminCommandHandler
player.broadcastUserInfo(); player.broadcastUserInfo();
// informations // informations
BuilderUtil.sendSysMessage(activeChar, "Changed enchantment of " + player.getName() + "'s " + itemInstance.getItem().getName() + " from " + curEnchant + " to " + ench + "."); BuilderUtil.sendSysMessage(activeChar, "Changed enchantment of " + player.getName() + "'s " + itemInstance.getTemplate().getName() + " from " + curEnchant + " to " + ench + ".");
player.sendMessage("Admin has changed the enchantment of your " + itemInstance.getItem().getName() + " from " + curEnchant + " to " + ench + "."); player.sendMessage("Admin has changed the enchantment of your " + itemInstance.getTemplate().getName() + " from " + curEnchant + " to " + ench + ".");
} }
} }

View File

@ -86,7 +86,7 @@ public class ConvertItem extends AbstractEffect
final int enchantLevel = wpn.getEnchantLevel(); final int enchantLevel = wpn.getEnchantLevel();
final AttributeHolder elementals = wpn.getAttributes() == null ? null : wpn.getAttackAttribute(); final AttributeHolder elementals = wpn.getAttributes() == null ? null : wpn.getAttackAttribute();
final List<Item> unequipped = player.getInventory().unEquipItemInBodySlotAndRecord(wpn.getItem().getBodyPart()); final List<Item> unequipped = player.getInventory().unEquipItemInBodySlotAndRecord(wpn.getTemplate().getBodyPart());
final InventoryUpdate iu = new InventoryUpdate(); final InventoryUpdate iu = new InventoryUpdate();
for (Item unequippedItem : unequipped) for (Item unequippedItem : unequipped)
{ {
@ -102,7 +102,7 @@ public class ConvertItem extends AbstractEffect
byte count = 0; byte count = 0;
for (Item unequippedItem : unequipped) for (Item unequippedItem : unequipped)
{ {
if (!(unequippedItem.getItem() instanceof Weapon)) if (!(unequippedItem.getTemplate() instanceof Weapon))
{ {
count++; count++;
continue; continue;

View File

@ -99,7 +99,7 @@ public class Heal extends AbstractEffect
final Item weaponInst = effector.getActiveWeaponInstance(); final Item weaponInst = effector.getActiveWeaponInstance();
if (weaponInst != null) if (weaponInst != null)
{ {
mAtkMul = weaponInst.getItem().getCrystalTypePlus() == CrystalType.R ? 4 : weaponInst.getItem().getCrystalTypePlus() == CrystalType.S ? 2 : 1; mAtkMul = weaponInst.getTemplate().getCrystalTypePlus() == CrystalType.R ? 4 : weaponInst.getTemplate().getCrystalTypePlus() == CrystalType.S ? 2 : 1;
} }
// shot dynamic bonus // shot dynamic bonus
mAtkMul = bss ? mAtkMul * 4 : mAtkMul + 1; mAtkMul = bss ? mAtkMul * 4 : mAtkMul + 1;

View File

@ -95,7 +95,7 @@ public class HpCpHeal extends AbstractEffect
final Item weaponInst = effector.getActiveWeaponInstance(); final Item weaponInst = effector.getActiveWeaponInstance();
if (weaponInst != null) if (weaponInst != null)
{ {
mAtkMul = weaponInst.getItem().getCrystalTypePlus() == CrystalType.R ? 4 : weaponInst.getItem().getCrystalTypePlus() == CrystalType.S ? 2 : 1; mAtkMul = weaponInst.getTemplate().getCrystalTypePlus() == CrystalType.R ? 4 : weaponInst.getTemplate().getCrystalTypePlus() == CrystalType.S ? 2 : 1;
} }
// shot dynamic bonus // shot dynamic bonus
mAtkMul = bss ? mAtkMul * 4 : mAtkMul + 1; mAtkMul = bss ? mAtkMul * 4 : mAtkMul + 1;

View File

@ -132,7 +132,7 @@ public class RestorationRandom extends AbstractEffect
final InventoryUpdate playerIU = new InventoryUpdate(); final InventoryUpdate playerIU = new InventoryUpdate();
for (Entry<Item, Long> entry : extractedItems.entrySet()) for (Entry<Item, Long> entry : extractedItems.entrySet())
{ {
if (entry.getKey().getItem().isStackable()) if (entry.getKey().getTemplate().isStackable())
{ {
playerIU.addModifiedItem(entry.getKey()); playerIU.addModifiedItem(entry.getKey());
} }

View File

@ -77,7 +77,7 @@ public class BeastSoulShot implements IItemHandler
final int itemId = item.getId(); final int itemId = item.getId();
final long shotCount = item.getCount(); final long shotCount = item.getCount();
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
short shotConsumption = 0; short shotConsumption = 0;
if ((pet != null) && !pet.isChargedShot(ShotType.SOULSHOTS)) if ((pet != null) && !pet.isChargedShot(ShotType.SOULSHOTS))
{ {

View File

@ -77,7 +77,7 @@ public class BeastSpiritShot implements IItemHandler
final int itemId = item.getId(); final int itemId = item.getId();
final boolean isBlessed = ((itemId == 6647) || (itemId == 20334)); // TODO: Unhardcode these! final boolean isBlessed = ((itemId == 6647) || (itemId == 20334)); // TODO: Unhardcode these!
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
final ShotType shotType = isBlessed ? ShotType.BLESSED_SPIRITSHOTS : ShotType.SPIRITSHOTS; final ShotType shotType = isBlessed ? ShotType.BLESSED_SPIRITSHOTS : ShotType.SPIRITSHOTS;
short shotConsumption = 0; short shotConsumption = 0;
if ((pet != null) && !pet.isChargedShot(shotType)) if ((pet != null) && !pet.isChargedShot(shotType))

View File

@ -49,7 +49,7 @@ public class BlessedSoulShots implements IItemHandler
final Player player = playable.getActingPlayer(); final Player player = playable.getActingPlayer();
final Item weaponInst = player.getActiveWeaponInstance(); final Item weaponInst = player.getActiveWeaponInstance();
final Weapon weaponItem = player.getActiveWeaponItem(); final Weapon weaponItem = player.getActiveWeaponItem();
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
if (skills == null) if (skills == null)
{ {
LOGGER.warning(getClass().getSimpleName() + ": is missing skills!"); LOGGER.warning(getClass().getSimpleName() + ": is missing skills!");
@ -68,7 +68,7 @@ public class BlessedSoulShots implements IItemHandler
return false; return false;
} }
final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SOULSHOT) && (weaponInst.getItem().getCrystalTypePlus() == item.getItem().getCrystalTypePlus()); final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SOULSHOT) && (weaponInst.getTemplate().getCrystalTypePlus() == item.getTemplate().getCrystalTypePlus());
if (!gradeCheck) if (!gradeCheck)
{ {
if (!player.getAutoSoulShot().contains(itemId)) if (!player.getAutoSoulShot().contains(itemId))

View File

@ -45,7 +45,7 @@ public class BlessedSpiritShot implements IItemHandler
final Player player = playable.getActingPlayer(); final Player player = playable.getActingPlayer();
final Item weaponInst = player.getActiveWeaponInstance(); final Item weaponInst = player.getActiveWeaponInstance();
final Weapon weaponItem = player.getActiveWeaponItem(); final Weapon weaponItem = player.getActiveWeaponItem();
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL); final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
if (skills == null) if (skills == null)
{ {
LOGGER.warning(getClass().getSimpleName() + ": is missing skills!"); LOGGER.warning(getClass().getSimpleName() + ": is missing skills!");
@ -71,7 +71,7 @@ public class BlessedSpiritShot implements IItemHandler
} }
// Check for correct grade // Check for correct grade
final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SPIRITSHOT) && (weaponInst.getItem().getCrystalTypePlus() == item.getItem().getCrystalTypePlus()); final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SPIRITSHOT) && (weaponInst.getTemplate().getCrystalTypePlus() == item.getTemplate().getCrystalTypePlus());
if (!gradeCheck) if (!gradeCheck)
{ {
if (!player.getAutoSoulShot().contains(itemId)) if (!player.getAutoSoulShot().contains(itemId))

View File

@ -70,7 +70,7 @@ public class ChangeAttributeCrystal implements IItemHandler
final List<ItemInfo> itemList = new ArrayList<>(); final List<ItemInfo> itemList = new ArrayList<>();
for (Item i : player.getInventory().getItems()) for (Item i : player.getInventory().getItems())
{ {
if (i.isWeapon() && i.hasAttributes() && (i.getItem().getItemGrade() == ITEM_GRADES.get(item.getId()))) if (i.isWeapon() && i.hasAttributes() && (i.getTemplate().getItemGrade() == ITEM_GRADES.get(item.getId())))
{ {
itemList.add(new ItemInfo(i)); itemList.add(new ItemInfo(i));
} }

Some files were not shown because too many files have changed in this diff Show More