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);
// 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)
{
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();
// informations
BuilderUtil.sendSysMessage(activeChar, "Changed enchantment of " + player.getName() + "'s " + itemInstance.getItem().getName() + " from " + curEnchant + " to " + ench + ".");
player.sendMessage("Admin has changed the enchantment of your " + 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.getTemplate().getName() + " from " + curEnchant + " to " + ench + ".");
}
}

View File

@ -86,7 +86,7 @@ public class ConvertItem extends AbstractEffect
final int enchantLevel = wpn.getEnchantLevel();
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();
for (Item unequippedItem : unequipped)
{
@ -102,7 +102,7 @@ public class ConvertItem extends AbstractEffect
byte count = 0;
for (Item unequippedItem : unequipped)
{
if (!(unequippedItem.getItem() instanceof Weapon))
if (!(unequippedItem.getTemplate() instanceof Weapon))
{
count++;
continue;

View File

@ -99,7 +99,7 @@ public class Heal extends AbstractEffect
final Item weaponInst = effector.getActiveWeaponInstance();
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
mAtkMul = bss ? mAtkMul * 4 : mAtkMul + 1;

View File

@ -95,7 +95,7 @@ public class HpCpHeal extends AbstractEffect
final Item weaponInst = effector.getActiveWeaponInstance();
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
mAtkMul = bss ? mAtkMul * 4 : mAtkMul + 1;

View File

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

View File

@ -77,7 +77,7 @@ public class BeastSoulShot implements IItemHandler
final int itemId = item.getId();
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;
if ((pet != null) && !pet.isChargedShot(ShotType.SOULSHOTS))
{

View File

@ -77,7 +77,7 @@ public class BeastSpiritShot implements IItemHandler
final int itemId = item.getId();
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;
short shotConsumption = 0;
if ((pet != null) && !pet.isChargedShot(shotType))

View File

@ -49,7 +49,7 @@ public class BlessedSoulShots implements IItemHandler
final Player player = playable.getActingPlayer();
final Item weaponInst = player.getActiveWeaponInstance();
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)
{
LOGGER.warning(getClass().getSimpleName() + ": is missing skills!");
@ -68,7 +68,7 @@ public class BlessedSoulShots implements IItemHandler
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 (!player.getAutoSoulShot().contains(itemId))

View File

@ -45,7 +45,7 @@ public class BlessedSpiritShot implements IItemHandler
final Player player = playable.getActingPlayer();
final Item weaponInst = player.getActiveWeaponInstance();
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)
{
LOGGER.warning(getClass().getSimpleName() + ": is missing skills!");
@ -71,7 +71,7 @@ public class BlessedSpiritShot implements IItemHandler
}
// 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 (!player.getAutoSoulShot().contains(itemId))

View File

@ -69,7 +69,7 @@ public class ChangeAttributeCrystal implements IItemHandler
final List<ItemInfo> itemList = new ArrayList<>();
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));
}

View File

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

View File

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

View File

@ -61,7 +61,7 @@ public class FishShots implements IItemHandler
}
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)
{
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();
player.setTarget(player);
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL);
final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
if (skills == null)
{
LOGGER.warning(getClass().getSimpleName() + ": is missing skills!");

View File

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

View File

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

View File

@ -46,7 +46,7 @@ public class PetFood implements IItemHandler
return false;
}
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL);
final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
if (skills != null)
{
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();
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)
{
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 Item weaponInst = player.getActiveWeaponInstance();
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)
{
LOGGER.warning(getClass().getSimpleName() + ": is missing skills!");
@ -65,7 +65,7 @@ public class SoulShots implements IItemHandler
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 (!player.getAutoSoulShot().contains(itemId))

View File

@ -45,7 +45,7 @@ public class SpiritShot implements IItemHandler
final Player player = playable.getActingPlayer();
final Item weaponInst = player.getActiveWeaponInstance();
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)
{
LOGGER.warning(getClass().getSimpleName() + ": is missing skills!");
@ -71,7 +71,7 @@ public class SpiritShot implements IItemHandler
}
// 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 (!player.getAutoSoulShot().contains(itemId))

View File

@ -63,7 +63,7 @@ public class EquipArmorSkillCondition implements ISkillCondition
{
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 ((_armorTypesMask & chestMask) == 0)
@ -73,7 +73,7 @@ public class EquipArmorSkillCondition implements ISkillCondition
// 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
if (chestBodyPart == ItemTemplate.SLOT_FULL_ARMOR)
{
@ -85,7 +85,7 @@ public class EquipArmorSkillCondition implements ISkillCondition
{
return false;
}
final int legMask = legs.getItem().getItemMask();
final int legMask = legs.getTemplate().getItemMask();
// return true if legs armor matches too
return (_armorTypesMask & legMask) != 0;
}

View File

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

View File

@ -186,11 +186,11 @@ public class Enchant implements ITelnetCommand
player.broadcastUserInfo();
// informations
player.sendMessage("Changed enchantment of " + player.getName() + "'s " + itemInstance.getItem().getName() + " from " + curEnchant + " to " + ench + ".");
player.sendMessage("Admin has changed the enchantment of your " + 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.getTemplate().getName() + " from " + curEnchant + " to " + ench + ".");
// 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 false;

View File

@ -367,9 +367,9 @@ public class AttackableAI extends CreatureAI
{
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);
}

View File

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

View File

@ -307,7 +307,7 @@ public class ItemTable
LOGGER_ITEMS.info("CREATE:" + String.valueOf(process) // in case of null
+ ", item " + item.getObjectId() //
+ ":+" + item.getEnchantLevel() //
+ " " + item.getItem().getName() //
+ " " + item.getTemplate().getName() //
+ "(" + item.getCount() //
+ "), " + String.valueOf(actor) // 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
+ ", item " + item.getObjectId() //
+ ":" + item.getItem().getName() //
+ ":" + item.getTemplate().getName() //
+ "(" + item.getCount() //
+ "), " + String.valueOf(actor) // in case of null
+ ", " + String.valueOf(reference)); // in case of null
@ -350,7 +350,7 @@ public class ItemTable
}
// 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;
}
@ -395,7 +395,7 @@ public class ItemTable
LOGGER_ITEMS.info("DELETE:" + String.valueOf(process) // in case of null
+ ", item " + item.getObjectId() //
+ ":+" + item.getEnchantLevel() //
+ " " + item.getItem().getName() //
+ " " + item.getTemplate().getName() //
+ "(" + item.getCount() //
+ "), PrevCount(" + old //
+ "), " + 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
+ ", item " + item.getObjectId() //
+ ":" + item.getItem().getName() //
+ ":" + item.getTemplate().getName() //
+ "(" + item.getCount() //
+ "), PrevCount(" + old //
+ "), " + 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 (item.getItem().isPetItem())
if (item.getTemplate().isPetItem())
{
try (Connection con = DatabaseFactory.getConnection();
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 column = -1;
switch (item.getItem().getCrystalType())
switch (item.getTemplate().getCrystalType())
{
case S:
{

View File

@ -92,14 +92,14 @@ public class EnchantItemHPBonusData implements IXmlReader
*/
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))
{
return 0;
}
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);
}

View File

@ -208,9 +208,9 @@ public class ItemCrystallizationData implements IXmlReader
if (data != null)
{
// 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());
@ -218,7 +218,7 @@ public class ItemCrystallizationData implements IXmlReader
else
{
// 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;

View File

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

View File

@ -502,7 +502,7 @@ public class ItemCommissionManager
{
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;
}

View File

@ -126,7 +126,7 @@ public class ItemsOnGroundManager implements Runnable
_items.add(item);
count++;
// 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);
}

View File

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

View File

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

View File

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

View File

@ -1593,7 +1593,7 @@ public class Npc extends Creature
item.dropMe(this, newX, newY, newZ);
// 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);
}

View File

@ -2137,7 +2137,7 @@ public class Player extends Playable
{
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 (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
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);
}
// Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemEquip(this, item), item.getItem());
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemEquip(this, item), item.getTemplate());
}
else
{
@ -4504,7 +4504,7 @@ public class Player extends Playable
}
// Auto use herbs - pick up
if (target.getItem().hasExImmediateEffect())
if (target.getTemplate().hasExImmediateEffect())
{
final IItemHandler handler = ItemHandler.getInstance().getHandler(target.getEtcItem());
if (handler == null)
@ -4788,7 +4788,7 @@ public class Player extends Playable
{
return _fistsWeaponItem;
}
return (Weapon) weapon.getItem();
return (Weapon) weapon.getTemplate();
}
public Item getChestArmorInstance()
@ -4808,7 +4808,7 @@ public class Player extends Playable
{
return null;
}
return (Armor) armor.getItem();
return (Armor) armor.getTemplate();
}
public Armor getActiveLegsArmorItem()
@ -4818,7 +4818,7 @@ public class Player extends Playable
{
return null;
}
return (Armor) legs.getItem();
return (Armor) legs.getTemplate();
}
public boolean isWearingHeavyArmor()
@ -4829,7 +4829,7 @@ public class Player extends Playable
{
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()
@ -4840,7 +4840,7 @@ public class Player extends Playable
{
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()
@ -4851,7 +4851,7 @@ public class Player extends Playable
{
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);
if (item != null)
{
return item.getItem();
return item.getTemplate();
}
return null;
}
@ -5112,7 +5112,7 @@ public class Player extends Playable
if (itemDrop.isShadowItem() || // Dont drop Shadow Items
itemDrop.isTimeLimitedItem() || // Dont drop Time Limited Items
!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
(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
@ -5124,7 +5124,7 @@ public class Player extends Playable
if (itemDrop.isEquipped())
{
// 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());
}
else
@ -5918,7 +5918,7 @@ public class Player extends Playable
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();
for (Item itm : unequipped)
{
@ -5959,7 +5959,7 @@ public class Player extends Playable
final Item sld = _inventory.getPaperdollItem(Inventory.PAPERDOLL_LHAND);
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();
for (Item itm : unequipped)
{
@ -8832,7 +8832,7 @@ public class Player extends Playable
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)))
{
handler.useItem(this, item, false);
@ -11737,7 +11737,7 @@ public class Player extends Playable
for (int i = 0; i < Inventory.PAPERDOLL_TOTALSLOTS; 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);
@ -11746,7 +11746,7 @@ public class Player extends Playable
sendInventoryUpdate(iu);
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);
return;

View File

@ -1063,7 +1063,7 @@ public abstract class Summon extends Playable
item = _owner.getInventory().getItemByItemId(itemId);
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());
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());
if (handler != null)

View File

@ -339,7 +339,7 @@ public class Pet extends Summon
{
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;
}
@ -359,7 +359,7 @@ public class Pet extends Summon
{
return null;
}
return (Weapon) weapon.getItem();
return (Weapon) weapon.getTemplate();
}
@Override
@ -574,7 +574,7 @@ public class Pet extends Summon
}
// Herbs
if (target.getItem().hasExImmediateEffect())
if (target.getTemplate().hasExImmediateEffect())
{
final IItemHandler handler = ItemHandler.getInstance().getHandler(target.getEtcItem());
if (handler == null)

View File

@ -126,9 +126,9 @@ public class PlayerStat extends PlayableStat
{
// rod fishing skills
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)
{

View File

@ -53,6 +53,6 @@ public class ConditionSlotItemType extends ConditionInventory
{
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();
}
final int chestMask = chest.getItem().getItemMask();
final int chestMask = chest.getTemplate().getItemMask();
// If chest armor is different from the condition one return false
if ((_mask & chestMask) == 0)
@ -75,7 +75,7 @@ public class ConditionUsingItemType extends Condition
// 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
if (chestBodyPart == ItemTemplate.SLOT_FULL_ARMOR)
{
@ -87,7 +87,7 @@ public class ConditionUsingItemType extends Condition
{
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 (_mask & legMask) != 0;
}

View File

@ -2959,7 +2959,7 @@ public abstract class AbstractScript extends ManagedScript implements IEventTime
if (item.isEquipped())
{
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);
}

View File

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

View File

@ -285,13 +285,13 @@ public class AppearanceStone
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);
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);
return false;
@ -317,7 +317,7 @@ public class AppearanceStone
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);
return false;
@ -332,7 +332,7 @@ public class AppearanceStone
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);
return false;
@ -341,7 +341,7 @@ public class AppearanceStone
}
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);
return false;
@ -350,7 +350,7 @@ public class AppearanceStone
}
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);
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);
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);
return false;
@ -400,7 +400,7 @@ public class AppearanceStone
{
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);
return false;
@ -409,7 +409,7 @@ public class AppearanceStone
}
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);
return false;
@ -422,7 +422,7 @@ public class AppearanceStone
{
case MAGICAL:
{
if (!targetItem.getItem().isMagicWeapon())
if (!targetItem.getTemplate().isMagicWeapon())
{
player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
return false;
@ -431,7 +431,7 @@ public class AppearanceStone
}
case PHYISICAL:
{
if (targetItem.getItem().isMagicWeapon())
if (targetItem.getTemplate().isMagicWeapon())
{
player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
return false;
@ -471,7 +471,7 @@ public class AppearanceStone
{
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;
}
@ -494,7 +494,7 @@ public class AppearanceStone
{
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;
}
@ -502,7 +502,7 @@ public class AppearanceStone
}
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;
}
@ -514,7 +514,7 @@ public class AppearanceStone
{
case MAGICAL:
{
if (!targetItem.getItem().isMagicWeapon())
if (!targetItem.getTemplate().isMagicWeapon())
{
continue;
}
@ -522,7 +522,7 @@ public class AppearanceStone
}
case PHYISICAL:
{
if (targetItem.getItem().isMagicWeapon())
if (targetItem.getTemplate().isMagicWeapon())
{
continue;
}

View File

@ -172,11 +172,11 @@ public abstract class AbstractEnchantItem
{
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;
}
else if (!isValidItemType(itemToEnchant.getItem().getType2()))
else if (!isValidItemType(itemToEnchant.getTemplate().getType2()))
{
return false;
}
@ -184,7 +184,7 @@ public abstract class AbstractEnchantItem
{
return false;
}
else if (_grade != itemToEnchant.getItem().getCrystalTypePlus())
else if (_grade != itemToEnchant.getTemplate().getCrystalTypePlus())
{
return false;
}

View File

@ -183,7 +183,7 @@ public class EnchantScroll extends AbstractEnchantItem
return -1;
}
final EnchantItemGroup group = EnchantItemGroupsData.getInstance().getItemGroup(enchantItem.getItem(), _scrollGroupId);
final EnchantItemGroup group = EnchantItemGroupsData.getInstance().getItemGroup(enchantItem.getTemplate(), _scrollGroupId);
if (group == null)
{
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;
}
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 bonusRate = getBonusRate();
final double supportBonusRate = (supportItem != null) ? supportItem.getBonusRate() : 0;

View File

@ -120,7 +120,7 @@ public class Item extends WorldObject
private final int _itemId;
/** ItemTemplate associated to the item */
private final ItemTemplate _item;
private final ItemTemplate _itemTemplate;
/** Location of the item : Inventory, PaperDoll, WareHouse */
private ItemLocation _loc;
@ -184,18 +184,18 @@ public class Item extends WorldObject
super(objectId);
setInstanceType(InstanceType.Item);
_itemId = itemId;
_item = ItemTable.getInstance().getTemplate(itemId);
if ((_itemId == 0) || (_item == null))
_itemTemplate = ItemTable.getInstance().getTemplate(itemId);
if ((_itemId == 0) || (_itemTemplate == null))
{
throw new IllegalArgumentException();
}
super.setName(_item.getName());
super.setName(_itemTemplate.getName());
_loc = ItemLocation.VOID;
_type1 = 0;
_type2 = 0;
_dropTime = 0;
_mana = _item.getDuration();
_time = _item.getTime() == -1 ? -1 : Chronos.currentTimeMillis() + (_item.getTime() * 60 * 1000);
_mana = _itemTemplate.getDuration();
_time = _itemTemplate.getTime() == -1 ? -1 : Chronos.currentTimeMillis() + (_itemTemplate.getTime() * 60 * 1000);
scheduleLifeTimeTask();
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.
* @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);
setInstanceType(InstanceType.Item);
_itemId = item.getId();
_item = item;
_itemId = itemTemplate.getId();
_itemTemplate = itemTemplate;
if (_itemId == 0)
{
throw new IllegalArgumentException();
}
super.setName(_item.getName());
super.setName(_itemTemplate.getName());
_loc = ItemLocation.VOID;
_mana = _item.getDuration();
_time = _item.getTime() == -1 ? -1 : Chronos.currentTimeMillis() + (_item.getTime() * 60 * 1000);
_mana = _itemTemplate.getDuration();
_time = _itemTemplate.getTime() == -1 ? -1 : Chronos.currentTimeMillis() + (_itemTemplate.getTime() * 60 * 1000);
scheduleLifeTimeTask();
scheduleVisualLifeTime();
}
@ -297,7 +297,7 @@ public class Item extends WorldObject
if (creature.isPlayer())
{
// 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_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)
{
LOG_ITEMS.info("SETOWNER:" + String.valueOf(process) // in case of null
+ ", item " + getObjectId() //
+ ":+" + _enchantLevel //
+ " " + _item.getName() //
+ " " + _itemTemplate.getName() //
+ "(" + _count + "), " //
+ String.valueOf(creator) + ", " // 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
+ ", item " + getObjectId() //
+ ":" + _item.getName() //
+ ":" + _itemTemplate.getName() //
+ "(" + _count + "), " //
+ String.valueOf(creator) + ", " // 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_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)
{
LOG_ITEMS.info("CHANGE:" + String.valueOf(process) // in case of null
+ ", item " + getObjectId() //
+ ":+" + _enchantLevel //
+ " " + _item.getName() //
+ " " + _itemTemplate.getName() //
+ "(" + _count + "), PrevCount(" //
+ String.valueOf(old) + "), " // 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
+ ", item " + getObjectId() //
+ ":" + _item.getName() //
+ ":" + _itemTemplate.getName() //
+ "(" + _count + "), PrevCount(" //
+ String.valueOf(old) + "), " // 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))
{
return _item.isEnchantable();
return _itemTemplate.isEnchantable();
}
return false;
}
@ -556,7 +556,7 @@ public class Item extends WorldObject
*/
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
* @return Item
* Returns the characteristics of the item.
* @return ItemTemplate
*/
public ItemTemplate getItem()
public ItemTemplate getTemplate()
{
return _item;
return _itemTemplate;
}
public int getCustomType1()
@ -621,7 +621,7 @@ public class Item extends WorldObject
*/
public ItemType getItemType()
{
return _item.getItemType();
return _itemTemplate.getItemType();
}
/**
@ -639,7 +639,7 @@ public class Item extends WorldObject
*/
public int getDisplayId()
{
return _item.getDisplayId();
return _itemTemplate.getDisplayId();
}
/**
@ -647,7 +647,7 @@ public class Item extends WorldObject
*/
public boolean isEtcItem()
{
return (_item instanceof EtcItem);
return (_itemTemplate instanceof EtcItem);
}
/**
@ -655,7 +655,7 @@ public class Item extends WorldObject
*/
public boolean isWeapon()
{
return (_item instanceof Weapon);
return (_itemTemplate instanceof Weapon);
}
/**
@ -663,7 +663,7 @@ public class Item extends WorldObject
*/
public boolean isArmor()
{
return (_item instanceof Armor);
return (_itemTemplate instanceof Armor);
}
/**
@ -671,9 +671,9 @@ public class Item extends WorldObject
*/
public EtcItem getEtcItem()
{
if (_item instanceof EtcItem)
if (_itemTemplate instanceof EtcItem)
{
return (EtcItem) _item;
return (EtcItem) _itemTemplate;
}
return null;
}
@ -683,9 +683,9 @@ public class Item extends WorldObject
*/
public Weapon getWeaponItem()
{
if (_item instanceof Weapon)
if (_itemTemplate instanceof Weapon)
{
return (Weapon) _item;
return (Weapon) _itemTemplate;
}
return null;
}
@ -695,9 +695,9 @@ public class Item extends WorldObject
*/
public Armor getArmorItem()
{
if (_item instanceof Armor)
if (_itemTemplate instanceof Armor)
{
return (Armor) _item;
return (Armor) _itemTemplate;
}
return null;
}
@ -707,7 +707,7 @@ public class Item extends WorldObject
*/
public int getCrystalCount()
{
return _item.getCrystalCount(_enchantLevel);
return _itemTemplate.getCrystalCount(_enchantLevel);
}
/**
@ -715,7 +715,7 @@ public class Item extends WorldObject
*/
public long getReferencePrice()
{
return _item.getReferencePrice();
return _itemTemplate.getReferencePrice();
}
/**
@ -723,7 +723,7 @@ public class Item extends WorldObject
*/
public String getItemName()
{
return _item.getName();
return _itemTemplate.getName();
}
/**
@ -731,7 +731,7 @@ public class Item extends WorldObject
*/
public int getReuseDelay()
{
return _item.getReuseDelay();
return _itemTemplate.getReuseDelay();
}
/**
@ -739,7 +739,7 @@ public class Item extends WorldObject
*/
public int getSharedReuseGroup()
{
return _item.getSharedReuseGroup();
return _itemTemplate.getSharedReuseGroup();
}
/**
@ -765,7 +765,7 @@ public class Item extends WorldObject
*/
public boolean isStackable()
{
return _item.isStackable();
return _itemTemplate.isStackable();
}
/**
@ -778,7 +778,7 @@ public class Item extends WorldObject
{
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 _item.isDestroyable();
return _itemTemplate.isDestroyable();
}
/**
@ -804,7 +804,7 @@ public class Item extends WorldObject
{
return true;
}
return !isAugmented() && _item.isTradeable();
return !isAugmented() && _itemTemplate.isTradeable();
}
/**
@ -817,7 +817,7 @@ public class Item extends WorldObject
{
return true;
}
return !isAugmented() && _item.isSellable();
return !isAugmented() && _itemTemplate.isSellable();
}
/**
@ -827,7 +827,7 @@ public class Item extends WorldObject
public boolean isDepositable(boolean isPrivateWareHouse)
{
// equipped, hero and quest items
if (isEquipped() || !_item.isDepositable())
if (isEquipped() || !_itemTemplate.isDepositable())
{
return false;
}
@ -841,27 +841,27 @@ public class Item extends WorldObject
public boolean isPotion()
{
return _item.isPotion();
return _itemTemplate.isPotion();
}
public boolean isElixir()
{
return _item.isElixir();
return _itemTemplate.isElixir();
}
public boolean isScroll()
{
return _item.isScroll();
return _itemTemplate.isScroll();
}
public boolean isHeroItem()
{
return _item.isHeroItem();
return _itemTemplate.isHeroItem();
}
public boolean isCommonItem()
{
return _item.isCommon();
return _itemTemplate.isCommon();
}
/**
@ -870,12 +870,12 @@ public class Item extends WorldObject
*/
public boolean isPvp()
{
return _item.isPvpItem();
return _itemTemplate.isPvpItem();
}
public boolean isOlyRestrictedItem()
{
return _item.isOlyRestrictedItem();
return _itemTemplate.isOlyRestrictedItem();
}
/**
@ -889,12 +889,12 @@ public class Item extends WorldObject
final Summon pet = player.getPet();
return ((!isEquipped()) // Not equipped
&& (_item.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_QUEST) // Not Quest Item
&& ((_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
&& !(player.isProcessingItem(getObjectId())) // Not momentarily used enchant scroll
&& (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.
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerAugment(getActingPlayer(), this, augmentation, true), getItem());
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerAugment(getActingPlayer(), this, augmentation, true), getTemplate());
return true;
}
@ -1002,7 +1002,7 @@ public class Item extends WorldObject
}
// 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()
@ -1139,9 +1139,9 @@ public class Item extends WorldObject
{
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)
{
@ -1167,9 +1167,9 @@ public class Item extends WorldObject
{
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)
{
return attribute.getValue();
@ -1341,21 +1341,21 @@ public class Item extends WorldObject
case 10:
{
sm = new SystemMessage(SystemMessageId.S1_S_REMAINING_MANA_IS_NOW_10);
sm.addItemName(_item);
sm.addItemName(_itemTemplate);
player.sendPacket(sm);
break;
}
case 5:
{
sm = new SystemMessage(SystemMessageId.S1_S_REMAINING_MANA_IS_NOW_5);
sm.addItemName(_item);
sm.addItemName(_itemTemplate);
player.sendPacket(sm);
break;
}
case 1:
{
sm = new SystemMessage(SystemMessageId.S1_S_REMAINING_MANA_IS_NOW_1_IT_WILL_DISAPPEAR_SOON);
sm.addItemName(_item);
sm.addItemName(_itemTemplate);
player.sendPacket(sm);
break;
}
@ -1364,7 +1364,7 @@ public class Item extends WorldObject
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.addItemName(_item);
sm.addItemName(_itemTemplate);
player.sendPacket(sm);
// unequip
@ -1532,7 +1532,7 @@ public class Item extends WorldObject
_owner = null;
// 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
public String toString()
{
return _item + "[" + getObjectId() + "]";
return _itemTemplate + "[" + getObjectId() + "]";
}
public void resetOwnerTimer()
@ -1716,7 +1716,7 @@ public class Item extends WorldObject
public boolean isAvailable()
{
if (!_item.isConditionAttached())
if (!_itemTemplate.isConditionAttached())
{
return true;
}
@ -1728,14 +1728,14 @@ public class Item extends WorldObject
final Creature owner = getActingPlayer();
if (owner != null)
{
for (Condition condition : _item.getConditions())
for (Condition condition : _itemTemplate.getConditions())
{
if (condition == null)
{
continue;
}
if (!condition.testImpl(owner, owner, null, _item))
if (!condition.testImpl(owner, owner, null, _itemTemplate))
{
return false;
}
@ -1887,26 +1887,26 @@ public class Item extends WorldObject
public boolean isQuestItem()
{
return _item.isQuestItem();
return _itemTemplate.isQuestItem();
}
public boolean isElementable()
{
if ((_loc == ItemLocation.INVENTORY) || (_loc == ItemLocation.PAPERDOLL))
{
return _item.isElementable();
return _itemTemplate.isElementable();
}
return false;
}
public boolean isFreightable()
{
return _item.isFreightable();
return _itemTemplate.isFreightable();
}
public int useSkillDisTime()
{
return _item.useSkillDisTime();
return _itemTemplate.useSkillDisTime();
}
public int getOlyEnchantLevel()
@ -1921,7 +1921,7 @@ public class Item extends WorldObject
if (player.isInOlympiadMode())
{
if (_item.isWeapon())
if (_itemTemplate.isWeapon())
{
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()
{
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()
@ -1955,7 +1955,7 @@ public class Item extends WorldObject
final Player player = getActingPlayer();
if (player != null)
{
_item.forEachSkill(ItemSkillType.NORMAL, holder ->
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
@ -1976,7 +1976,7 @@ public class Item extends WorldObject
final Player player = getActingPlayer();
if (player != null)
{
_item.forEachSkill(ItemSkillType.NORMAL, holder ->
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
{
final Skill skill = holder.getSkill();
if (skill.isPassive())
@ -2005,7 +2005,7 @@ public class Item extends WorldObject
public int getEquipReuseDelay()
{
return _item.getEquipReuseDelay();
return _itemTemplate.getEquipReuseDelay();
}
/**
@ -2026,11 +2026,11 @@ public class Item extends WorldObject
if (event != null)
{
EventDispatcher.getInstance().notifyEventAsync(new OnItemBypassEvent(this, player, event), getItem());
EventDispatcher.getInstance().notifyEventAsync(new OnItemBypassEvent(this, player, event), getTemplate());
}
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);
World.getInstance().addObject(item);
item.setCount(_itemCount);
item.setEnchantLevel(item.getItem().getDefaultEnchantLevel());
item.setEnchantLevel(item.getTemplate().getDefaultEnchantLevel());
return item;
}
}

View File

@ -71,7 +71,7 @@ public class ClanWarehouse extends Warehouse
final Item item = super.addItem(process, itemId, count, actor, reference);
// 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;
}
@ -79,7 +79,7 @@ public class ClanWarehouse extends Warehouse
public Item addItem(String process, Item item, Player actor, Object reference)
{
// 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);
}
@ -87,7 +87,7 @@ public class ClanWarehouse extends Warehouse
public Item destroyItem(String process, Item item, long count, Player actor, Object reference)
{
// 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);
}
@ -97,7 +97,7 @@ public class ClanWarehouse extends Warehouse
final Item item = getItemByObjectId(objectId);
// 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);
}
}

View File

@ -246,7 +246,7 @@ public abstract class Inventory extends ItemContainer
if (item.getItemType() == WeaponType.BOW)
{
final Item arrow = inventory.findArrowForBow(item.getItem());
final Item arrow = inventory.findArrowForBow(item.getTemplate());
if (arrow != null)
{
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))
{
final Item bolts = inventory.findBoltForCrossBow(item.getItem());
final Item bolts = inventory.findBoltForCrossBow(item.getTemplate());
if (bolts != null)
{
inventory.setPaperdollItem(PAPERDOLL_LHAND, bolts);
@ -303,7 +303,7 @@ public abstract class Inventory extends ItemContainer
}
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> removedSkills = new HashMap<>(1);
boolean update = false;
@ -365,7 +365,7 @@ public abstract class Inventory extends ItemContainer
continue;
}
final List<ItemSkillHolder> otherNormalSkills = itm.getItem().getSkills(ItemSkillType.NORMAL);
final List<ItemSkillHolder> otherNormalSkills = itm.getTemplate().getSkills(ItemSkillType.NORMAL);
if (otherNormalSkills == null)
{
continue;
@ -416,12 +416,12 @@ public abstract class Inventory extends ItemContainer
// Must check all equipped items for enchant conditions.
for (Item equipped : inventory.getPaperdollItems())
{
if (!equipped.getItem().hasSkills())
if (!equipped.getTemplate().hasSkills())
{
continue;
}
final List<ItemSkillHolder> otherEnchantSkills = equipped.getItem().getSkills(ItemSkillType.ON_ENCHANT);
final List<ItemSkillHolder> otherEnchantSkills = equipped.getTemplate().getSkills(ItemSkillType.ON_ENCHANT);
if (otherEnchantSkills == null)
{
continue;
@ -499,7 +499,7 @@ public abstract class Inventory extends ItemContainer
final Player player = (Player) inventory.getOwner();
// 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;
}
@ -519,9 +519,9 @@ public abstract class Inventory extends ItemContainer
// Apply enchant stats
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)
{
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)
{
for (ItemSkillHolder holder : normalSkills)
@ -615,12 +615,12 @@ public abstract class Inventory extends ItemContainer
// Must check all equipped items for enchant conditions.
for (Item equipped : inventory.getPaperdollItems())
{
if (!equipped.getItem().hasSkills())
if (!equipped.getTemplate().hasSkills())
{
continue;
}
final List<ItemSkillHolder> otherEnchantSkills = equipped.getItem().getSkills(ItemSkillType.ON_ENCHANT);
final List<ItemSkillHolder> otherEnchantSkills = equipped.getTemplate().getSkills(ItemSkillType.ON_ENCHANT);
if (otherEnchantSkills == null)
{
continue;
@ -666,7 +666,7 @@ public abstract class Inventory extends ItemContainer
}
// 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())
{
@ -727,7 +727,7 @@ public abstract class Inventory extends ItemContainer
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();
}
@ -872,7 +872,7 @@ public abstract class Inventory extends ItemContainer
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();
}
@ -897,7 +897,7 @@ public abstract class Inventory extends ItemContainer
return;
}
if (item.getItem().getBodyPart() == ItemTemplate.SLOT_R_BRACELET)
if (item.getTemplate().getBodyPart() == ItemTemplate.SLOT_R_BRACELET)
{
inventory.unEquipItemInSlot(PAPERDOLL_DECO1);
inventory.unEquipItemInSlot(PAPERDOLL_DECO2);
@ -933,7 +933,7 @@ public abstract class Inventory extends ItemContainer
return;
}
if (item.getItem().getBodyPart() == ItemTemplate.SLOT_BROOCH)
if (item.getTemplate().getBodyPart() == ItemTemplate.SLOT_BROOCH)
{
inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL1);
inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL2);
@ -1331,7 +1331,7 @@ public abstract class Inventory extends ItemContainer
if (old != null)
{
// Prevent flood from using items with skills.
if (old.getItem().hasSkills())
if (old.getTemplate().hasSkills())
{
checkEquipTask();
}
@ -1350,7 +1350,7 @@ public abstract class Inventory extends ItemContainer
final Item pi = _paperdoll[i];
if (pi != null)
{
mask |= pi.getItem().getItemMask();
mask |= pi.getTemplate().getItemMask();
}
}
_wearedMask = mask;
@ -1372,7 +1372,7 @@ public abstract class Inventory extends ItemContainer
if (item != null)
{
// Prevent flood from using items with skills.
if (item.getItem().hasSkills())
if (item.getTemplate().hasSkills())
{
checkEquipTask();
}
@ -1385,7 +1385,7 @@ public abstract class Inventory extends ItemContainer
item.setLastChange(Item.MODIFIED);
// Notify all paperdoll listener in order to equip item in slot
_wearedMask |= item.getItem().getItemMask();
_wearedMask |= item.getTemplate().getItemMask();
for (PaperdollListener listener : _paperdollListeners)
{
if (listener == null)
@ -1413,7 +1413,7 @@ public abstract class Inventory extends ItemContainer
final Creature owner = getOwner();
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:
{
slot = item.getItem().getBodyPart();
slot = item.getTemplate().getBodyPart();
break;
}
case PAPERDOLL_LEGS:
@ -1823,7 +1823,7 @@ public abstract class Inventory extends ItemContainer
final ItemType weaponItemType = weapon.getItemType();
if ((((weaponItemType == WeaponType.BOW) && (itemType == EtcItemType.ARROW)) //
|| (((weaponItemType == WeaponType.CROSSBOW) || (weaponItemType == WeaponType.TWOHANDCROSSBOW)) && (itemType == EtcItemType.BOLT))) //
&& (weapon.getItem().getCrystalTypePlus() != item.getItem().getCrystalTypePlus()))
&& (weapon.getTemplate().getCrystalTypePlus() != item.getTemplate().getCrystalTypePlus()))
{
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.
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
switch (targetSlot)
@ -1870,7 +1870,7 @@ public abstract class Inventory extends ItemContainer
case ItemTemplate.SLOT_L_HAND:
{
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);
}
@ -1939,7 +1939,7 @@ public abstract class Inventory extends ItemContainer
{
// handle full armor
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);
}
@ -1964,7 +1964,7 @@ public abstract class Inventory extends ItemContainer
case ItemTemplate.SLOT_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);
}
@ -1978,7 +1978,7 @@ public abstract class Inventory extends ItemContainer
case ItemTemplate.SLOT_HAIR2:
{
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);
}
@ -2063,9 +2063,9 @@ public abstract class Inventory extends ItemContainer
long weight = 0;
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);
@ -2094,7 +2094,7 @@ public abstract class Inventory extends ItemContainer
Item arrow = null;
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;
break;
@ -2115,7 +2115,7 @@ public abstract class Inventory extends ItemContainer
Item bolt = null;
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;
break;

View File

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

View File

@ -66,7 +66,7 @@ public class PetInventory extends Inventory
public boolean validateCapacity(Item item)
{
int slots = 0;
if (!(item.isStackable() && (getItemByItemId(item.getId()) != null)) && !item.getItem().hasExImmediateEffect())
if (!(item.isStackable() && (getItemByItemId(item.getId()) != null)) && !item.getTemplate().hasExImmediateEffect())
{
slots++;
}
@ -116,7 +116,7 @@ public class PetInventory extends Inventory
// check for equipped items from other pets
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());
}

View File

@ -427,7 +427,7 @@ public class PlayerInventory extends Inventory
}
// 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;
@ -502,7 +502,7 @@ public class PlayerInventory extends Inventory
}
// 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;
}
@ -533,7 +533,7 @@ public class PlayerInventory extends Inventory
}
// 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;
}
@ -589,7 +589,7 @@ public class PlayerInventory extends Inventory
// Notify to scripts
if (destroyedItem != null)
{
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDestroy(actor, destroyedItem), destroyedItem.getItem());
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDestroy(actor, destroyedItem), destroyedItem.getTemplate());
}
return destroyedItem;
@ -662,7 +662,7 @@ public class PlayerInventory extends Inventory
// Notify to scripts
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;
@ -695,7 +695,7 @@ public class PlayerInventory extends Inventory
// Notify to scripts
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;
@ -865,7 +865,7 @@ public class PlayerInventory extends Inventory
public boolean validateCapacity(Item item)
{
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++;
}

View File

@ -357,7 +357,7 @@ public class SkillCaster implements Runnable
{
// Get the Item consumed by the spell.
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);
}
@ -517,7 +517,7 @@ public class SkillCaster implements Runnable
}
// 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;
}

View File

@ -49,9 +49,9 @@ public interface IStatFunction
for (int slot : slots)
{
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;
@ -71,12 +71,12 @@ public interface IStatFunction
final Pet pet = (Pet) creature;
final Item weapon = pet.getActiveWeaponInstance();
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)))
{
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;
@ -109,7 +109,7 @@ public interface IStatFunction
double value = 0;
for (Item equippedItem : creature.getInventory().getPaperdollItems(Item::isEnchanted))
{
final ItemTemplate item = equippedItem.getItem();
final ItemTemplate item = equippedItem.getTemplate();
final int bodypart = item.getBodyPart();
if ((bodypart == ItemTemplate.SLOT_HAIR) || //
(bodypart == ItemTemplate.SLOT_HAIR2) || //
@ -171,7 +171,7 @@ public interface IStatFunction
*/
static double calcEnchantDefBonus(Item item, double blessedBonus, int enchant)
{
switch (item.getItem().getCrystalTypePlus())
switch (item.getTemplate().getCrystalTypePlus())
{
case R:
{
@ -192,7 +192,7 @@ public interface IStatFunction
*/
static double calcEnchantMatkBonus(Item item, double blessedBonus, int enchant)
{
switch (item.getItem().getCrystalTypePlus())
switch (item.getTemplate().getCrystalTypePlus())
{
case R:
{
@ -229,7 +229,7 @@ public interface IStatFunction
*/
static double calcEnchantedPAtkBonus(Item item, double blessedBonus, int enchant)
{
switch (item.getItem().getCrystalTypePlus())
switch (item.getTemplate().getCrystalTypePlus())
{
case R:
{

View File

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

View File

@ -59,7 +59,7 @@ public class MDefenseFinalizer implements IStatFunction
{
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
for (Item item : inv.getPaperdollItems())
{
addItem += item.getItem().getStats(stat, 0);
addItem += item.getTemplate().getStats(stat, 0);
// Apply enchanted item bonus HP
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))
{
addItem += EnchantItemHPBonusData.getInstance().getHPBonus(item);

View File

@ -71,7 +71,7 @@ public class MaxMpFinalizer implements IStatFunction
// Add maxMP bonus from items
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())
{
baseValue += item.getItem().getStats(stat, 0);
baseValue += item.getTemplate().getStats(stat, 0);
}
if (creature.isPlayer())
@ -72,7 +72,7 @@ public class PDefenseFinalizer implements IStatFunction
for (int slot : SLOTS)
{
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);
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 ?
}

View File

@ -462,7 +462,7 @@ public class MultiSellChoose implements IClientIncomingPacket
final Item addedItem = inventory.addItem("Multisell", product.getId(), totalCount, player, npc, false);
// 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.setAugmentation(itemEnchantment.getAugmentation(), false);

View File

@ -72,7 +72,7 @@ public class RequestAutoSoulShot implements IClientIncomingPacket
return;
}
if (isSummonShot(item.getItem()))
if (isSummonShot(item.getTemplate()))
{
if (player.hasSummon())
{
@ -124,7 +124,7 @@ public class RequestAutoSoulShot implements IClientIncomingPacket
if (pet != null)
{
// 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);
sm.addItemName(item);
@ -136,7 +136,7 @@ public class RequestAutoSoulShot implements IClientIncomingPacket
for (Summon summon : player.getServitors().values())
{
// 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);
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);
}
}
else if (isPlayerShot(item.getItem()))
else if (isPlayerShot(item.getTemplate()))
{
final boolean isSoulshot = item.getEtcItem().getDefaultAction() == ActionType.SOULSHOT;
final boolean isSpiritshot = item.getEtcItem().getDefaultAction() == ActionType.SPIRITSHOT;
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);
return;

View File

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

View File

@ -117,7 +117,7 @@ public class RequestCrystallizeItem implements IClientIncomingPacket
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);
return;
@ -132,7 +132,7 @@ public class RequestCrystallizeItem implements IClientIncomingPacket
// Check if the char can crystallize items and return if false;
boolean canCrystallize = true;
switch (itemToRemove.getItem().getCrystalTypePlus())
switch (itemToRemove.getTemplate().getCrystalTypePlus())
{
case D:
{

View File

@ -153,7 +153,7 @@ public class RequestDestroyItem implements IClientIncomingPacket
count = itemToRemove.getCount();
}
if (itemToRemove.getItem().isPetItem())
if (itemToRemove.getTemplate().isPetItem())
{
final Summon pet = player.getPet();
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.
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);
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);
return;

View File

@ -118,7 +118,7 @@ public class RequestEnchantItem implements IClientIncomingPacket
}
// 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.removeRequest(request.getClass());
@ -179,7 +179,7 @@ public class RequestEnchantItem implements IClientIncomingPacket
}
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.
if (scrollTemplate.getChance(player, item) > 0)
{
@ -384,13 +384,13 @@ public class RequestEnchantItem implements IClientIncomingPacket
World.getInstance().removeObject(item);
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;
final int crystalId = item.getItem().getCrystalItemId();
final int crystalId = item.getTemplate().getCrystalItemId();
if (count > 0)
{
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)
{
switch (item.getItem().getCrystalType())
switch (item.getTemplate().getCrystalType())
{
case S:
{
if (item.getItem() instanceof Weapon)
if (item.getTemplate() instanceof Weapon)
{
_price = 50000;
}
@ -140,7 +140,7 @@ public class RequestExRemoveItemAttribute implements IClientIncomingPacket
}
case S80:
{
if (item.getItem() instanceof Weapon)
if (item.getTemplate() instanceof Weapon)
{
_price = 100000;
}
@ -152,7 +152,7 @@ public class RequestExRemoveItemAttribute implements IClientIncomingPacket
}
case S84:
{
if (item.getItem() instanceof Weapon)
if (item.getTemplate() instanceof Weapon)
{
_price = 200000;
}
@ -164,7 +164,7 @@ public class RequestExRemoveItemAttribute implements IClientIncomingPacket
}
case R:
{
if (item.getItem() instanceof Weapon)
if (item.getTemplate() instanceof Weapon)
{
_price = 400000;
}
@ -176,7 +176,7 @@ public class RequestExRemoveItemAttribute implements IClientIncomingPacket
}
case R95:
{
if (item.getItem() instanceof Weapon)
if (item.getTemplate() instanceof Weapon)
{
_price = 800000;
}
@ -188,7 +188,7 @@ public class RequestExRemoveItemAttribute implements IClientIncomingPacket
}
case R99:
{
if (item.getItem() instanceof Weapon)
if (item.getTemplate() instanceof Weapon)
{
_price = 3200000;
}

View File

@ -63,7 +63,7 @@ public class RequestPetUseItem implements IClientIncomingPacket
return;
}
if (!item.getItem().isForNpc())
if (!item.getTemplate().isForNpc())
{
player.sendPacket(SystemMessageId.THIS_PET_CANNOT_USE_THIS_ITEM);
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;
}
@ -101,7 +101,7 @@ public class RequestPetUseItem implements IClientIncomingPacket
{
if (item.isEquipable())
{
if (!item.getItem().isConditionAttached())
if (!item.getTemplate().isConditionAttached())
{
player.sendPacket(SystemMessageId.THIS_PET_CANNOT_USE_THIS_ITEM);
return;

View File

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

View File

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

View File

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

View File

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

View File

@ -111,7 +111,7 @@ public class UseItem implements IClientIncomingPacket
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);
return;
@ -132,7 +132,7 @@ public class UseItem implements IClientIncomingPacket
return;
}
if (!item.isEquipped() && !item.getItem().checkCondition(player, player, true))
if (!item.isEquipped() && !item.getTemplate().checkCondition(player, player, true))
{
return;
}
@ -147,7 +147,7 @@ public class UseItem implements IClientIncomingPacket
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)))
{
return;
@ -198,13 +198,13 @@ public class UseItem implements IClientIncomingPacket
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);
return;
}
switch (item.getItem().getBodyPart())
switch (item.getTemplate().getBodyPart())
{
case ItemTemplate.SLOT_LR_HAND:
case ItemTemplate.SLOT_L_HAND:

View File

@ -80,7 +80,7 @@ public class RequestExTryToPutShapeShiftingEnchantSupportItem implements IClient
return;
}
if (!extractItem.getItem().isAppearanceable())
if (!extractItem.getTemplate().isAppearanceable())
{
player.sendPacket(SystemMessageId.THIS_ITEM_DOES_NOT_MEET_REQUIREMENTS);
player.sendPacket(ExPutShapeShiftingExtractionItemResult.FAILED);
@ -133,14 +133,14 @@ public class RequestExTryToPutShapeShiftingEnchantSupportItem implements IClient
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(ExPutShapeShiftingExtractionItemResult.FAILED);
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(ExPutShapeShiftingExtractionItemResult.FAILED);

View File

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

View File

@ -86,7 +86,7 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
return;
}
if (!targetItem.getItem().isAppearanceable())
if (!targetItem.getTemplate().isAppearanceable())
{
player.sendPacket(SystemMessageId.THIS_ITEM_CANNOT_BE_MODIFIED_OR_RESTORED);
player.sendPacket(ExShapeShiftingResult.CLOSE);
@ -141,7 +141,7 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
return;
}
if (!extractItem.getItem().isAppearanceable())
if (!extractItem.getTemplate().isAppearanceable())
{
player.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
@ -155,7 +155,7 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
return;
}
if (extractItem.getItem().getCrystalType().isGreater(targetItem.getItem().getCrystalType()))
if (extractItem.getTemplate().getCrystalType().isGreater(targetItem.getTemplate().getCrystalType()))
{
player.sendPacket(ExShapeShiftingResult.CLOSE);
player.removeRequest(ShapeShiftingItemRequest.class);
@ -176,7 +176,7 @@ public class RequestShapeShiftingItem implements IClientIncomingPacket
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.removeRequest(ShapeShiftingItemRequest.class);

View File

@ -84,7 +84,7 @@ public class RequestNewEnchantPushTwo implements IClientIncomingPacket
}
// 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);
return;

View File

@ -86,7 +86,7 @@ public class RequestNewEnchantTry implements IClientIncomingPacket
}
// 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.removeRequest(request.getClass());

View File

@ -93,10 +93,10 @@ public class RequestCrystallizeEstimate implements IClientIncomingPacket
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);
PacketLogger.warning(player + ": tried to crystallize " + item.getItem());
PacketLogger.warning(player + ": tried to crystallize " + item.getTemplate());
return;
}
@ -114,7 +114,7 @@ public class RequestCrystallizeEstimate implements IClientIncomingPacket
// Check if the char can crystallize items and return if false;
boolean canCrystallize = true;
switch (item.getItem().getCrystalTypePlus())
switch (item.getTemplate().getCrystalTypePlus())
{
case D:
{

View File

@ -67,7 +67,7 @@ public class ExBuySellList extends AbstractItemPacket
for (Item item : _sellList)
{
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
@ -82,7 +82,7 @@ public class ExBuySellList extends AbstractItemPacket
{
writeItem(packet, item);
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

View File

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

View File

@ -49,7 +49,7 @@ public class PrivateStoreManageListBuy extends AbstractItemPacket
for (Item item : _itemList)
{
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
for (TradeItem item : _buyList)

View File

@ -55,11 +55,11 @@ public class SellListProcure implements IClientOutgoingPacket
for (Entry<Item, Long> entry : _sellList.entrySet())
{
final Item item = entry.getKey();
packet.writeH(item.getItem().getType1());
packet.writeH(item.getTemplate().getType1());
packet.writeD(item.getObjectId());
packet.writeD(item.getDisplayId());
packet.writeQ(entry.getValue()); // count
packet.writeH(item.getItem().getType2());
packet.writeH(item.getTemplate().getType2());
packet.writeH(0); // unknown
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
{
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;
}

View File

@ -64,7 +64,7 @@ public class EnchantFormatter extends Formatter
{
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()), "]");
}
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, item.getItem().getName(), "(", String.valueOf(item.getCount()), ")");
StringUtil.append(output, item.getTemplate().getName(), "(", String.valueOf(item.getCount()), ")");
}
else
{

View File

@ -181,10 +181,10 @@ public class AdminElement implements IAdminCommandHandler
player.sendInventoryUpdate(iu);
// 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)
{
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();
// informations
BuilderUtil.sendSysMessage(activeChar, "Changed enchantment of " + player.getName() + "'s " + itemInstance.getItem().getName() + " from " + curEnchant + " to " + ench + ".");
player.sendMessage("Admin has changed the enchantment of your " + 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.getTemplate().getName() + " from " + curEnchant + " to " + ench + ".");
}
}

View File

@ -86,7 +86,7 @@ public class ConvertItem extends AbstractEffect
final int enchantLevel = wpn.getEnchantLevel();
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();
for (Item unequippedItem : unequipped)
{
@ -102,7 +102,7 @@ public class ConvertItem extends AbstractEffect
byte count = 0;
for (Item unequippedItem : unequipped)
{
if (!(unequippedItem.getItem() instanceof Weapon))
if (!(unequippedItem.getTemplate() instanceof Weapon))
{
count++;
continue;

View File

@ -99,7 +99,7 @@ public class Heal extends AbstractEffect
final Item weaponInst = effector.getActiveWeaponInstance();
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
mAtkMul = bss ? mAtkMul * 4 : mAtkMul + 1;

View File

@ -95,7 +95,7 @@ public class HpCpHeal extends AbstractEffect
final Item weaponInst = effector.getActiveWeaponInstance();
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
mAtkMul = bss ? mAtkMul * 4 : mAtkMul + 1;

View File

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

View File

@ -77,7 +77,7 @@ public class BeastSoulShot implements IItemHandler
final int itemId = item.getId();
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;
if ((pet != null) && !pet.isChargedShot(ShotType.SOULSHOTS))
{

View File

@ -77,7 +77,7 @@ public class BeastSpiritShot implements IItemHandler
final int itemId = item.getId();
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;
short shotConsumption = 0;
if ((pet != null) && !pet.isChargedShot(shotType))

View File

@ -49,7 +49,7 @@ public class BlessedSoulShots implements IItemHandler
final Player player = playable.getActingPlayer();
final Item weaponInst = player.getActiveWeaponInstance();
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)
{
LOGGER.warning(getClass().getSimpleName() + ": is missing skills!");
@ -68,7 +68,7 @@ public class BlessedSoulShots implements IItemHandler
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 (!player.getAutoSoulShot().contains(itemId))

View File

@ -45,7 +45,7 @@ public class BlessedSpiritShot implements IItemHandler
final Player player = playable.getActingPlayer();
final Item weaponInst = player.getActiveWeaponInstance();
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)
{
LOGGER.warning(getClass().getSimpleName() + ": is missing skills!");
@ -71,7 +71,7 @@ public class BlessedSpiritShot implements IItemHandler
}
// 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 (!player.getAutoSoulShot().contains(itemId))

View File

@ -70,7 +70,7 @@ public class ChangeAttributeCrystal implements IItemHandler
final List<ItemInfo> itemList = new ArrayList<>();
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));
}

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