Proper naming for Item ItemTemplate getter.
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
@@ -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);
|
||||
|
@@ -310,7 +310,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
|
||||
@@ -319,7 +319,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
|
||||
@@ -353,7 +353,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;
|
||||
}
|
||||
|
||||
@@ -398,7 +398,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
|
||||
@@ -408,7 +408,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
|
||||
@@ -443,7 +443,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=?"))
|
||||
|
@@ -158,7 +158,7 @@ public class ElementalAttributeData implements IXmlReader
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((ELEMENTAL_ITEMS.get(stoneId).getType() == ElementalItemType.JEWEL) && (targetItem.getItem().getCrystalType() != CrystalType.R110))
|
||||
if ((ELEMENTAL_ITEMS.get(stoneId).getType() == ElementalItemType.JEWEL) && (targetItem.getTemplate().getCrystalType() != CrystalType.R110))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@@ -170,7 +170,7 @@ public class ElementalAttributeData implements IXmlReader
|
||||
{
|
||||
int row = -1;
|
||||
int column = -1;
|
||||
switch (item.getItem().getCrystalType())
|
||||
switch (item.getTemplate().getCrystalType())
|
||||
{
|
||||
case S:
|
||||
{
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -1577,7 +1577,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)
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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();
|
||||
|
@@ -40,7 +40,7 @@ public class TempItem
|
||||
super();
|
||||
_itemId = item.getId();
|
||||
_quantity = quantity;
|
||||
_itemName = item.getItem().getName();
|
||||
_itemName = item.getTemplate().getName();
|
||||
_referencePrice = item.getReferencePrice();
|
||||
}
|
||||
|
||||
|
@@ -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();
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -2213,13 +2213,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
|
||||
{
|
||||
@@ -4457,7 +4457,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)
|
||||
@@ -4742,7 +4742,7 @@ public class Player extends Playable
|
||||
{
|
||||
return _fistsWeaponItem;
|
||||
}
|
||||
return (Weapon) weapon.getItem();
|
||||
return (Weapon) weapon.getTemplate();
|
||||
}
|
||||
|
||||
public Item getChestArmorInstance()
|
||||
@@ -4762,7 +4762,7 @@ public class Player extends Playable
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return (Armor) armor.getItem();
|
||||
return (Armor) armor.getTemplate();
|
||||
}
|
||||
|
||||
public Armor getActiveLegsArmorItem()
|
||||
@@ -4772,7 +4772,7 @@ public class Player extends Playable
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return (Armor) legs.getItem();
|
||||
return (Armor) legs.getTemplate();
|
||||
}
|
||||
|
||||
public boolean isWearingHeavyArmor()
|
||||
@@ -4783,7 +4783,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()
|
||||
@@ -4794,7 +4794,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()
|
||||
@@ -4805,7 +4805,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));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -4827,7 +4827,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;
|
||||
}
|
||||
@@ -5091,7 +5091,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
|
||||
@@ -5103,7 +5103,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
|
||||
@@ -5900,7 +5900,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)
|
||||
{
|
||||
@@ -5941,7 +5941,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)
|
||||
{
|
||||
@@ -8868,7 +8868,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);
|
||||
@@ -11787,7 +11787,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);
|
||||
|
||||
@@ -11796,7 +11796,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;
|
||||
|
@@ -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)
|
||||
|
@@ -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)
|
||||
|
@@ -126,8 +126,8 @@ public class PlayerStat extends PlayableStat
|
||||
final Item rod = player.getActiveWeaponInstance();
|
||||
if ((rod != null) && (rod.getItemType() == WeaponType.FISHINGROD))
|
||||
{
|
||||
bonusExp *= FishingData.getInstance().getRodData(rod.getItem().getId()).getXpMultiplier();
|
||||
bonusSp *= FishingData.getInstance().getRodData(rod.getItem().getId()).getSpMultiplier();
|
||||
bonusExp *= FishingData.getInstance().getRodData(rod.getTemplate().getId()).getXpMultiplier();
|
||||
bonusSp *= FishingData.getInstance().getRodData(rod.getTemplate().getId()).getSpMultiplier();
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@@ -53,6 +53,6 @@ public class ConditionSlotItemType extends ConditionInventory
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return (itemSlot.getItem().getItemMask() & _mask) != 0;
|
||||
return (itemSlot.getTemplate().getItemMask() & _mask) != 0;
|
||||
}
|
||||
}
|
||||
|
@@ -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 long chestBodyPart = chest.getItem().getBodyPart();
|
||||
final long 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;
|
||||
}
|
||||
|
@@ -2960,7 +2960,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);
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -174,11 +174,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;
|
||||
}
|
||||
@@ -186,7 +186,7 @@ public abstract class AbstractEnchantItem
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else if (_grade != itemToEnchant.getItem().getCrystalTypePlus())
|
||||
else if (_grade != itemToEnchant.getTemplate().getCrystalTypePlus())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@@ -179,7 +179,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);
|
||||
@@ -213,7 +213,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;
|
||||
|
@@ -129,7 +129,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;
|
||||
@@ -195,18 +195,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();
|
||||
}
|
||||
@@ -214,22 +214,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();
|
||||
}
|
||||
@@ -309,7 +309,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());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -326,14 +326,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
|
||||
@@ -342,7 +342,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
|
||||
@@ -498,14 +498,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
|
||||
@@ -515,7 +515,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
|
||||
@@ -557,7 +557,7 @@ public class Item extends WorldObject
|
||||
{
|
||||
if ((_loc == ItemLocation.INVENTORY) || (_loc == ItemLocation.PAPERDOLL))
|
||||
{
|
||||
return _item.isEnchantable();
|
||||
return _itemTemplate.isEnchantable();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -568,7 +568,7 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public boolean isEquipable()
|
||||
{
|
||||
return _item.getBodyPart() != ItemTemplate.SLOT_NONE;
|
||||
return _itemTemplate.getBodyPart() != ItemTemplate.SLOT_NONE;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -590,12 +590,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()
|
||||
@@ -633,7 +633,7 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public ItemType getItemType()
|
||||
{
|
||||
return _item.getItemType();
|
||||
return _itemTemplate.getItemType();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -651,7 +651,7 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public int getDisplayId()
|
||||
{
|
||||
return _item.getDisplayId();
|
||||
return _itemTemplate.getDisplayId();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -659,7 +659,7 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public boolean isEtcItem()
|
||||
{
|
||||
return (_item instanceof EtcItem);
|
||||
return (_itemTemplate instanceof EtcItem);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -667,7 +667,7 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public boolean isWeapon()
|
||||
{
|
||||
return (_item instanceof Weapon);
|
||||
return (_itemTemplate instanceof Weapon);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -675,7 +675,7 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public boolean isArmor()
|
||||
{
|
||||
return (_item instanceof Armor);
|
||||
return (_itemTemplate instanceof Armor);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -683,9 +683,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;
|
||||
}
|
||||
@@ -695,9 +695,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;
|
||||
}
|
||||
@@ -707,9 +707,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;
|
||||
}
|
||||
@@ -719,7 +719,7 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public int getCrystalCount()
|
||||
{
|
||||
return _item.getCrystalCount(_enchantLevel);
|
||||
return _itemTemplate.getCrystalCount(_enchantLevel);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -727,7 +727,7 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public long getReferencePrice()
|
||||
{
|
||||
return _item.getReferencePrice();
|
||||
return _itemTemplate.getReferencePrice();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -735,7 +735,7 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public String getItemName()
|
||||
{
|
||||
return _item.getName();
|
||||
return _itemTemplate.getName();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -743,7 +743,7 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public int getReuseDelay()
|
||||
{
|
||||
return _item.getReuseDelay();
|
||||
return _itemTemplate.getReuseDelay();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -751,7 +751,7 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public int getSharedReuseGroup()
|
||||
{
|
||||
return _item.getSharedReuseGroup();
|
||||
return _itemTemplate.getSharedReuseGroup();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -777,7 +777,7 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public boolean isStackable()
|
||||
{
|
||||
return _item.isStackable();
|
||||
return _itemTemplate.isStackable();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -790,7 +790,7 @@ public class Item extends WorldObject
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return !isAugmented() && (getVisualId() == 0) && _item.isDropable();
|
||||
return !isAugmented() && (getVisualId() == 0) && _itemTemplate.isDropable();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -803,7 +803,7 @@ public class Item extends WorldObject
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return _item.isDestroyable();
|
||||
return _itemTemplate.isDestroyable();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -816,7 +816,7 @@ public class Item extends WorldObject
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return !isAugmented() && _item.isTradeable();
|
||||
return !isAugmented() && _itemTemplate.isTradeable();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -829,7 +829,7 @@ public class Item extends WorldObject
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return !isAugmented() && _item.isSellable();
|
||||
return !isAugmented() && _itemTemplate.isSellable();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -839,7 +839,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;
|
||||
}
|
||||
@@ -853,27 +853,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();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -882,12 +882,12 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public boolean isPvp()
|
||||
{
|
||||
return _item.isPvpItem();
|
||||
return _itemTemplate.isPvpItem();
|
||||
}
|
||||
|
||||
public boolean isOlyRestrictedItem()
|
||||
{
|
||||
return _item.isOlyRestrictedItem();
|
||||
return _itemTemplate.isOlyRestrictedItem();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -901,12 +901,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())))));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -939,7 +939,7 @@ public class Item extends WorldObject
|
||||
clearEnchantStats();
|
||||
|
||||
// Agathion skills.
|
||||
if (isEquipped() && (_item.getBodyPart() == ItemTemplate.SLOT_AGATHION))
|
||||
if (isEquipped() && (_itemTemplate.getBodyPart() == ItemTemplate.SLOT_AGATHION))
|
||||
{
|
||||
final AgathionSkillHolder agathionSkills = AgathionData.getInstance().getSkills(getId());
|
||||
if (agathionSkills != null)
|
||||
@@ -1035,7 +1035,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;
|
||||
}
|
||||
|
||||
@@ -1065,7 +1065,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()
|
||||
@@ -1202,9 +1202,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)
|
||||
{
|
||||
@@ -1230,9 +1230,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();
|
||||
@@ -1407,21 +1407,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;
|
||||
}
|
||||
@@ -1430,7 +1430,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
|
||||
@@ -1598,7 +1598,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());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1754,7 +1754,7 @@ public class Item extends WorldObject
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return _item + "[" + getObjectId() + "]";
|
||||
return _itemTemplate + "[" + getObjectId() + "]";
|
||||
}
|
||||
|
||||
public void resetOwnerTimer()
|
||||
@@ -1788,7 +1788,7 @@ public class Item extends WorldObject
|
||||
|
||||
public boolean isAvailable()
|
||||
{
|
||||
if (!_item.isConditionAttached())
|
||||
if (!_itemTemplate.isConditionAttached())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@@ -1800,14 +1800,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;
|
||||
}
|
||||
@@ -1959,26 +1959,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()
|
||||
@@ -1993,7 +1993,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))
|
||||
{
|
||||
@@ -2014,7 +2014,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()
|
||||
@@ -2027,7 +2027,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())
|
||||
@@ -2048,7 +2048,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())
|
||||
@@ -2077,7 +2077,7 @@ public class Item extends WorldObject
|
||||
|
||||
public int getEquipReuseDelay()
|
||||
{
|
||||
return _item.getEquipReuseDelay();
|
||||
return _itemTemplate.getEquipReuseDelay();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2098,11 +2098,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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
}
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
@@ -276,7 +276,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);
|
||||
@@ -284,7 +284,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);
|
||||
@@ -333,7 +333,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;
|
||||
@@ -398,7 +398,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;
|
||||
@@ -449,12 +449,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;
|
||||
@@ -552,9 +552,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)
|
||||
@@ -596,7 +596,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)
|
||||
@@ -648,12 +648,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;
|
||||
@@ -701,7 +701,7 @@ public abstract class Inventory extends ItemContainer
|
||||
// Apply skill, if item has "skills on equip" and it is not a secondary agathion.
|
||||
if ((slot < PAPERDOLL_AGATHION2) || (slot > PAPERDOLL_AGATHION5))
|
||||
{
|
||||
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())
|
||||
@@ -763,7 +763,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();
|
||||
}
|
||||
@@ -908,7 +908,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();
|
||||
}
|
||||
@@ -933,7 +933,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);
|
||||
@@ -969,7 +969,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);
|
||||
@@ -1005,7 +1005,7 @@ public abstract class Inventory extends ItemContainer
|
||||
return;
|
||||
}
|
||||
|
||||
if (item.getItem().getBodyPart() == ItemTemplate.SLOT_L_BRACELET)
|
||||
if (item.getTemplate().getBodyPart() == ItemTemplate.SLOT_L_BRACELET)
|
||||
{
|
||||
inventory.unEquipItemInSlot(PAPERDOLL_AGATHION1);
|
||||
inventory.unEquipItemInSlot(PAPERDOLL_AGATHION2);
|
||||
@@ -1039,7 +1039,7 @@ public abstract class Inventory extends ItemContainer
|
||||
return;
|
||||
}
|
||||
|
||||
if (item.getItem().getBodyPart() == ItemTemplate.SLOT_ARTIFACT_BOOK)
|
||||
if (item.getTemplate().getBodyPart() == ItemTemplate.SLOT_ARTIFACT_BOOK)
|
||||
{
|
||||
inventory.unEquipItemInSlot(PAPERDOLL_ARTIFACT1);
|
||||
inventory.unEquipItemInSlot(PAPERDOLL_ARTIFACT2);
|
||||
@@ -1456,7 +1456,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();
|
||||
}
|
||||
@@ -1475,7 +1475,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;
|
||||
@@ -1521,7 +1521,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();
|
||||
}
|
||||
@@ -1534,7 +1534,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)
|
||||
@@ -1597,7 +1597,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());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1699,7 +1699,7 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
case PAPERDOLL_CHEST:
|
||||
{
|
||||
slot = item.getItem().getBodyPart();
|
||||
slot = item.getTemplate().getBodyPart();
|
||||
break;
|
||||
}
|
||||
case PAPERDOLL_LEGS:
|
||||
@@ -2018,7 +2018,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;
|
||||
}
|
||||
@@ -2032,11 +2032,11 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
}
|
||||
|
||||
final long targetSlot = item.getItem().getBodyPart();
|
||||
final long 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
|
||||
if ((targetSlot == ItemTemplate.SLOT_LR_HAND) || (targetSlot == ItemTemplate.SLOT_L_HAND) || (targetSlot == ItemTemplate.SLOT_R_HAND) || (targetSlot == ItemTemplate.SLOT_LEGS) || (targetSlot == ItemTemplate.SLOT_FEET) || (targetSlot == ItemTemplate.SLOT_GLOVES) || (targetSlot == ItemTemplate.SLOT_HEAD))
|
||||
@@ -2056,7 +2056,7 @@ public abstract class Inventory extends ItemContainer
|
||||
else if (targetSlot == 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);
|
||||
}
|
||||
@@ -2112,7 +2112,7 @@ public abstract class Inventory extends ItemContainer
|
||||
else if (targetSlot == ItemTemplate.SLOT_LEGS)
|
||||
{
|
||||
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);
|
||||
}
|
||||
@@ -2133,7 +2133,7 @@ public abstract class Inventory extends ItemContainer
|
||||
else if (targetSlot == 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);
|
||||
}
|
||||
@@ -2146,7 +2146,7 @@ public abstract class Inventory extends ItemContainer
|
||||
else if (targetSlot == 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);
|
||||
}
|
||||
@@ -2230,9 +2230,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);
|
||||
@@ -2261,7 +2261,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;
|
||||
@@ -2282,7 +2282,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;
|
||||
@@ -2394,7 +2394,7 @@ public abstract class Inventory extends ItemContainer
|
||||
return;
|
||||
}
|
||||
|
||||
switch (item.getItem().getArtifactSlot())
|
||||
switch (item.getTemplate().getArtifactSlot())
|
||||
{
|
||||
case 1: // Attack
|
||||
{
|
||||
|
@@ -175,7 +175,7 @@ public abstract class ItemContainer
|
||||
{
|
||||
for (Item item : _items)
|
||||
{
|
||||
if (item.getItem().isAllowSelfResurrection())
|
||||
if (item.getTemplate().isAllowSelfResurrection())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@@ -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());
|
||||
}
|
||||
|
@@ -431,7 +431,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;
|
||||
@@ -506,7 +506,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;
|
||||
}
|
||||
@@ -537,7 +537,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;
|
||||
}
|
||||
@@ -593,7 +593,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;
|
||||
@@ -666,7 +666,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;
|
||||
@@ -699,7 +699,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;
|
||||
@@ -869,7 +869,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++;
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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 long 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:
|
||||
{
|
||||
|
@@ -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();
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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 long bodyPart = item.getItem().getBodyPart();
|
||||
final long bodyPart = item.getTemplate().getBodyPart();
|
||||
if ((bodyPart != ItemTemplate.SLOT_NECK) && (bodyPart != ItemTemplate.SLOT_LR_EAR) && (bodyPart != ItemTemplate.SLOT_LR_FINGER))
|
||||
{
|
||||
addItem += EnchantItemHPBonusData.getInstance().getHPBonus(item);
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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);
|
||||
|
@@ -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 ?
|
||||
}
|
||||
|
@@ -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);
|
||||
|
@@ -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,7 +151,7 @@ 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;
|
||||
|
@@ -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();
|
||||
|
@@ -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:
|
||||
{
|
||||
|
@@ -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))
|
||||
|
@@ -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;
|
||||
|
@@ -120,7 +120,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());
|
||||
@@ -181,7 +181,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)
|
||||
{
|
||||
@@ -387,13 +387,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);
|
||||
|
@@ -105,14 +105,14 @@ public class RequestExEnchantItemAttribute implements IClientIncomingPacket
|
||||
}
|
||||
|
||||
// Quest Q10579_ContainingTheAttributePower check.
|
||||
if ((item.getItem().getId() == 48168) && (stone.getItem().getId() != 48169))
|
||||
if ((item.getTemplate().getId() == 48168) && (stone.getTemplate().getId() != 48169))
|
||||
{
|
||||
player.removeRequest(request.getClass());
|
||||
player.sendPacket(SystemMessageId.ATTRIBUTE_ITEM_USAGE_HAS_BEEN_CANCELLED);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!ElementalAttributeData.getInstance().isElementableWithStone(item, stone.getItem().getId()))
|
||||
if (!ElementalAttributeData.getInstance().isElementableWithStone(item, stone.getTemplate().getId()))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.ELEMENTAL_POWER_ENHANCER_USAGE_REQUIREMENT_IS_NOT_SUFFICIENT);
|
||||
player.removeRequest(request.getClass());
|
||||
|
@@ -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;
|
||||
}
|
||||
@@ -200,7 +200,7 @@ public class RequestExRemoveItemAttribute implements IClientIncomingPacket
|
||||
}
|
||||
case R110:
|
||||
{
|
||||
if (item.getItem() instanceof Weapon)
|
||||
if (item.getTemplate() instanceof Weapon)
|
||||
{
|
||||
_price = 6400000;
|
||||
}
|
||||
|
@@ -88,7 +88,7 @@ public class RequestExTryEnchantArtifact implements IClientIncomingPacket
|
||||
return;
|
||||
}
|
||||
|
||||
final ItemTemplate item = targetItem.getItem();
|
||||
final ItemTemplate item = targetItem.getTemplate();
|
||||
final int artifactSlot = item.getArtifactSlot();
|
||||
if (artifactSlot <= 0)
|
||||
{
|
||||
@@ -143,7 +143,7 @@ public class RequestExTryEnchantArtifact implements IClientIncomingPacket
|
||||
for (int objectId : _ingridients)
|
||||
{
|
||||
final Item ingridient = player.getInventory().getItemByObjectId(objectId);
|
||||
if ((ingridient == null) || (ingridient.getEnchantLevel() < minIngridientEnchant) || (ingridient.getItem().getArtifactSlot() != artifactSlot))
|
||||
if ((ingridient == null) || (ingridient.getEnchantLevel() < minIngridientEnchant) || (ingridient.getTemplate().getArtifactSlot() != artifactSlot))
|
||||
{
|
||||
player.sendPacket(ExTryEnchantArtifactResult.ERROR_PACKET);
|
||||
return;
|
||||
|
@@ -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;
|
||||
|
@@ -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();
|
||||
|
@@ -155,7 +155,7 @@ public class RequestRecipeItemMakeSelf implements IClientIncomingPacket
|
||||
final Item item = player.getInventory().getItemByObjectId(offer.getId());
|
||||
if (player.destroyItem("CraftOffering", item, offer.getCount(), null, true))
|
||||
{
|
||||
offeredAdenaWorth += (item.getItem().getReferencePrice() * offer.getCount());
|
||||
offeredAdenaWorth += (item.getTemplate().getReferencePrice() * offer.getCount());
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -198,7 +198,7 @@ public class RequestRecipeShopMakeItem implements IClientIncomingPacket
|
||||
final Item item = player.getInventory().getItemByObjectId(offer.getId());
|
||||
if (player.destroyItem("CraftOffering", item, offer.getCount(), manufacturer, true))
|
||||
{
|
||||
offeredAdenaWorth += (item.getItem().getReferencePrice() * offer.getCount());
|
||||
offeredAdenaWorth += (item.getTemplate().getReferencePrice() * offer.getCount());
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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();
|
||||
|
@@ -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,14 +198,14 @@ 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;
|
||||
}
|
||||
// Prevent players to equip weapon while wearing combat flag
|
||||
// Don't allow weapon/shield equipment if a cursed weapon is equipped.
|
||||
if ((item.getItem().getBodyPart() == ItemTemplate.SLOT_LR_HAND) || (item.getItem().getBodyPart() == ItemTemplate.SLOT_L_HAND) || (item.getItem().getBodyPart() == ItemTemplate.SLOT_R_HAND))
|
||||
if ((item.getTemplate().getBodyPart() == ItemTemplate.SLOT_LR_HAND) || (item.getTemplate().getBodyPart() == ItemTemplate.SLOT_L_HAND) || (item.getTemplate().getBodyPart() == ItemTemplate.SLOT_R_HAND))
|
||||
{
|
||||
if ((player.getActiveWeaponItem() != null) && (player.getActiveWeaponItem().getId() == 9819))
|
||||
{
|
||||
@@ -222,7 +222,7 @@ public class UseItem implements IClientIncomingPacket
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (item.getItem().getBodyPart() == ItemTemplate.SLOT_DECO)
|
||||
else if (item.getTemplate().getBodyPart() == ItemTemplate.SLOT_DECO)
|
||||
{
|
||||
if (!item.isEquipped() && (player.getInventory().getTalismanSlots() == 0))
|
||||
{
|
||||
@@ -230,7 +230,7 @@ public class UseItem implements IClientIncomingPacket
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (item.getItem().getBodyPart() == ItemTemplate.SLOT_BROOCH_JEWEL)
|
||||
else if (item.getTemplate().getBodyPart() == ItemTemplate.SLOT_BROOCH_JEWEL)
|
||||
{
|
||||
if (!item.isEquipped() && (player.getInventory().getBroochJewelSlots() == 0))
|
||||
{
|
||||
@@ -240,7 +240,7 @@ public class UseItem implements IClientIncomingPacket
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (item.getItem().getBodyPart() == ItemTemplate.SLOT_AGATHION)
|
||||
else if (item.getTemplate().getBodyPart() == ItemTemplate.SLOT_AGATHION)
|
||||
{
|
||||
if (!item.isEquipped() && (player.getInventory().getAgathionSlots() == 0))
|
||||
{
|
||||
@@ -248,7 +248,7 @@ public class UseItem implements IClientIncomingPacket
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (item.getItem().getBodyPart() == ItemTemplate.SLOT_ARTIFACT)
|
||||
else if (item.getTemplate().getBodyPart() == ItemTemplate.SLOT_ARTIFACT)
|
||||
{
|
||||
if (!item.isEquipped() && (player.getInventory().getArtifactSlots() == 0))
|
||||
{
|
||||
|
@@ -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);
|
||||
|
@@ -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);
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
|
@@ -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());
|
||||
|
@@ -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:
|
||||
{
|
||||
|
@@ -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
|
||||
|
@@ -86,7 +86,7 @@ public class RequestTryEnSoulExtraction implements IClientIncomingPacket
|
||||
return;
|
||||
}
|
||||
|
||||
final Collection<ItemHolder> removalFee = EnsoulData.getInstance().getRemovalFee(item.getItem().getCrystalType());
|
||||
final Collection<ItemHolder> removalFee = EnsoulData.getInstance().getRemovalFee(item.getTemplate().getCrystalType());
|
||||
if (removalFee.isEmpty())
|
||||
{
|
||||
return;
|
||||
|
@@ -86,7 +86,7 @@ public class RequestUpgradeSystemResult implements IClientIncomingPacket
|
||||
return;
|
||||
}
|
||||
|
||||
if ((existingItem.getItem().getId() != upgradeHolder.getRequiredItemId()) || (existingItem.getEnchantLevel() != upgradeHolder.getRequiredItemEnchant()))
|
||||
if ((existingItem.getTemplate().getId() != upgradeHolder.getRequiredItemId()) || (existingItem.getEnchantLevel() != upgradeHolder.getRequiredItemEnchant()))
|
||||
{
|
||||
player.sendPacket(new ExUpgradeSystemResult(0, 0));
|
||||
return;
|
||||
|
@@ -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
|
||||
|
@@ -60,7 +60,7 @@ public class ExShowBaseAttributeCancelWindow implements IClientOutgoingPacket
|
||||
*/
|
||||
private long getPrice(Item item)
|
||||
{
|
||||
switch (item.getItem().getCrystalType())
|
||||
switch (item.getTemplate().getCrystalType())
|
||||
{
|
||||
case S:
|
||||
{
|
||||
|
@@ -53,7 +53,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);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -64,7 +64,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(0);
|
||||
for (TradeItem item2 : _buyList)
|
||||
|
@@ -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
|
||||
}
|
||||
|
@@ -103,7 +103,7 @@ public class AutoUseTaskManager implements Runnable
|
||||
continue ITEMS;
|
||||
}
|
||||
|
||||
final ItemTemplate it = item.getItem();
|
||||
final ItemTemplate it = item.getTemplate();
|
||||
if (it != null)
|
||||
{
|
||||
if (!it.checkCondition(player, player, false))
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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)
|
||||
|
@@ -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
|
||||
{
|
||||
|
Reference in New Issue
Block a user