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

@@ -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

@@ -99,7 +99,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

@@ -58,7 +58,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

@@ -2139,7 +2139,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))
@@ -2270,13 +2270,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
{
@@ -4506,7 +4506,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)
@@ -4790,7 +4790,7 @@ public class Player extends Playable
{
return _fistsWeaponItem;
}
return (Weapon) weapon.getItem();
return (Weapon) weapon.getTemplate();
}
public Item getChestArmorInstance()
@@ -4810,7 +4810,7 @@ public class Player extends Playable
{
return null;
}
return (Armor) armor.getItem();
return (Armor) armor.getTemplate();
}
public Armor getActiveLegsArmorItem()
@@ -4820,7 +4820,7 @@ public class Player extends Playable
{
return null;
}
return (Armor) legs.getItem();
return (Armor) legs.getTemplate();
}
public boolean isWearingHeavyArmor()
@@ -4831,7 +4831,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()
@@ -4842,7 +4842,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()
@@ -4853,7 +4853,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));
}
/**
@@ -4875,7 +4875,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;
}
@@ -5114,7 +5114,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
@@ -5126,7 +5126,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
@@ -5920,7 +5920,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)
{
@@ -5961,7 +5961,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)
{
@@ -8835,7 +8835,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);
@@ -11740,7 +11740,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);
@@ -11749,7 +11749,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

@@ -127,9 +127,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

@@ -72,7 +72,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();
@@ -80,7 +80,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

@@ -122,7 +122,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;
@@ -188,18 +188,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();
}
@@ -207,22 +207,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();
}
@@ -302,7 +302,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());
}
}
@@ -319,14 +319,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
@@ -335,7 +335,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
@@ -491,14 +491,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
@@ -508,7 +508,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
@@ -550,7 +550,7 @@ public class Item extends WorldObject
{
if ((_loc == ItemLocation.INVENTORY) || (_loc == ItemLocation.PAPERDOLL))
{
return _item.isEnchantable();
return _itemTemplate.isEnchantable();
}
return false;
}
@@ -561,7 +561,7 @@ public class Item extends WorldObject
*/
public boolean isEquipable()
{
return _item.getBodyPart() != ItemTemplate.SLOT_NONE;
return _itemTemplate.getBodyPart() != ItemTemplate.SLOT_NONE;
}
/**
@@ -583,12 +583,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()
@@ -626,7 +626,7 @@ public class Item extends WorldObject
*/
public ItemType getItemType()
{
return _item.getItemType();
return _itemTemplate.getItemType();
}
/**
@@ -644,7 +644,7 @@ public class Item extends WorldObject
*/
public int getDisplayId()
{
return _item.getDisplayId();
return _itemTemplate.getDisplayId();
}
/**
@@ -652,7 +652,7 @@ public class Item extends WorldObject
*/
public boolean isEtcItem()
{
return (_item instanceof EtcItem);
return (_itemTemplate instanceof EtcItem);
}
/**
@@ -660,7 +660,7 @@ public class Item extends WorldObject
*/
public boolean isWeapon()
{
return (_item instanceof Weapon);
return (_itemTemplate instanceof Weapon);
}
/**
@@ -668,7 +668,7 @@ public class Item extends WorldObject
*/
public boolean isArmor()
{
return (_item instanceof Armor);
return (_itemTemplate instanceof Armor);
}
/**
@@ -676,9 +676,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;
}
@@ -688,9 +688,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;
}
@@ -700,9 +700,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;
}
@@ -712,7 +712,7 @@ public class Item extends WorldObject
*/
public int getCrystalCount()
{
return _item.getCrystalCount(_enchantLevel);
return _itemTemplate.getCrystalCount(_enchantLevel);
}
/**
@@ -720,7 +720,7 @@ public class Item extends WorldObject
*/
public long getReferencePrice()
{
return _item.getReferencePrice();
return _itemTemplate.getReferencePrice();
}
/**
@@ -728,7 +728,7 @@ public class Item extends WorldObject
*/
public String getItemName()
{
return _item.getName();
return _itemTemplate.getName();
}
/**
@@ -736,7 +736,7 @@ public class Item extends WorldObject
*/
public int getReuseDelay()
{
return _item.getReuseDelay();
return _itemTemplate.getReuseDelay();
}
/**
@@ -744,7 +744,7 @@ public class Item extends WorldObject
*/
public int getSharedReuseGroup()
{
return _item.getSharedReuseGroup();
return _itemTemplate.getSharedReuseGroup();
}
/**
@@ -770,7 +770,7 @@ public class Item extends WorldObject
*/
public boolean isStackable()
{
return _item.isStackable();
return _itemTemplate.isStackable();
}
/**
@@ -783,7 +783,7 @@ public class Item extends WorldObject
{
return true;
}
return !isAugmented() && (getVisualId() == 0) && _item.isDropable();
return !isAugmented() && (getVisualId() == 0) && _itemTemplate.isDropable();
}
/**
@@ -796,7 +796,7 @@ public class Item extends WorldObject
{
return false;
}
return _item.isDestroyable();
return _itemTemplate.isDestroyable();
}
/**
@@ -809,7 +809,7 @@ public class Item extends WorldObject
{
return true;
}
return !isAugmented() && _item.isTradeable();
return !isAugmented() && _itemTemplate.isTradeable();
}
/**
@@ -822,7 +822,7 @@ public class Item extends WorldObject
{
return true;
}
return !isAugmented() && _item.isSellable();
return !isAugmented() && _itemTemplate.isSellable();
}
/**
@@ -832,7 +832,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;
}
@@ -846,27 +846,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();
}
/**
@@ -875,12 +875,12 @@ public class Item extends WorldObject
*/
public boolean isPvp()
{
return _item.isPvpItem();
return _itemTemplate.isPvpItem();
}
public boolean isOlyRestrictedItem()
{
return _item.isOlyRestrictedItem();
return _itemTemplate.isOlyRestrictedItem();
}
/**
@@ -894,12 +894,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())))));
}
/**
@@ -977,7 +977,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;
}
@@ -1007,7 +1007,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()
@@ -1144,9 +1144,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)
{
@@ -1172,9 +1172,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();
@@ -1346,21 +1346,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;
}
@@ -1369,7 +1369,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
@@ -1537,7 +1537,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());
}
}
@@ -1693,7 +1693,7 @@ public class Item extends WorldObject
@Override
public String toString()
{
return _item + "[" + getObjectId() + "]";
return _itemTemplate + "[" + getObjectId() + "]";
}
public void resetOwnerTimer()
@@ -1727,7 +1727,7 @@ public class Item extends WorldObject
public boolean isAvailable()
{
if (!_item.isConditionAttached())
if (!_itemTemplate.isConditionAttached())
{
return true;
}
@@ -1739,14 +1739,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;
}
@@ -1898,26 +1898,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()
@@ -1932,7 +1932,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))
{
@@ -1953,7 +1953,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()
@@ -1966,7 +1966,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())
@@ -1987,7 +1987,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())
@@ -2016,7 +2016,7 @@ public class Item extends WorldObject
public int getEquipReuseDelay()
{
return _item.getEquipReuseDelay();
return _itemTemplate.getEquipReuseDelay();
}
/**
@@ -2037,11 +2037,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;
@@ -368,7 +368,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;
@@ -419,12 +419,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;
@@ -502,7 +502,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;
}
@@ -525,9 +525,9 @@ public abstract class Inventory extends ItemContainer
// Apply SA skill
item.applySpecialAbilities();
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)
@@ -569,7 +569,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)
@@ -621,12 +621,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;
@@ -672,7 +672,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())
{
@@ -733,7 +733,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();
}
@@ -878,7 +878,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();
}
@@ -903,7 +903,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);
@@ -939,7 +939,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);
@@ -1337,7 +1337,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();
}
@@ -1356,7 +1356,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;
@@ -1378,7 +1378,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();
}
@@ -1391,7 +1391,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)
@@ -1419,7 +1419,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());
}
}
@@ -1521,7 +1521,7 @@ public abstract class Inventory extends ItemContainer
}
case PAPERDOLL_CHEST:
{
slot = item.getItem().getBodyPart();
slot = item.getTemplate().getBodyPart();
break;
}
case PAPERDOLL_LEGS:
@@ -1829,7 +1829,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;
}
@@ -1843,11 +1843,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)
@@ -1876,7 +1876,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);
}
@@ -1945,7 +1945,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);
}
@@ -1970,7 +1970,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);
}
@@ -1984,7 +1984,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);
}
@@ -2069,9 +2069,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);
@@ -2100,7 +2100,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;
@@ -2121,7 +2121,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

@@ -490,7 +490,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

@@ -186,19 +186,19 @@ public class RequestItemEnsoul implements IClientIncomingPacket
if (itemOption.getType() == 1)
{
// Normal Soul Crystal
fee = EnsoulData.getInstance().getEnsoulFee(item.getItem().getCrystalType(), position);
fee = EnsoulData.getInstance().getEnsoulFee(item.getTemplate().getCrystalType(), position);
if (((itemOption.getPosition() == 1) || (itemOption.getPosition() == 2)) && (item.getSpecialAbility(position) != null))
{
fee = EnsoulData.getInstance().getResoulFee(item.getItem().getCrystalType(), position);
fee = EnsoulData.getInstance().getResoulFee(item.getTemplate().getCrystalType(), position);
}
}
else if (itemOption.getType() == 2)
{
// Mystic Soul Crystal
fee = EnsoulData.getInstance().getEnsoulFee(item.getItem().getCrystalType(), position + 2); // Client Special type position = 0
fee = EnsoulData.getInstance().getEnsoulFee(item.getTemplate().getCrystalType(), position + 2); // Client Special type position = 0
if ((itemOption.getPosition() == 1) && (item.getAdditionalSpecialAbility(position) != null))
{
fee = EnsoulData.getInstance().getResoulFee(item.getItem().getCrystalType(), position + 2); // Client Special type position = 0
fee = EnsoulData.getInstance().getResoulFee(item.getTemplate().getCrystalType(), position + 2); // Client Special type position = 0
}
}
else

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
{