/* * This program is free software: you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software * Foundation, either version 3 of the License, or (at your option) any later * version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ package com.l2jserver.gameserver.model; import com.l2jserver.gameserver.model.items.L2Item; import com.l2jserver.gameserver.model.items.instance.L2ItemInstance; /** * Get all information from L2ItemInstance to generate ItemInfo.

* */ public class ItemInfo { /** Identifier of the L2ItemInstance */ private int _objectId; /** The L2Item template of the L2ItemInstance */ private L2Item _item; /** The level of enchant on the L2ItemInstance */ private int _enchant; /** The augmentation of the item */ private int _augmentation; /** The quantity of L2ItemInstance */ private long _count; /** The price of the L2ItemInstance */ private int _price; /** The custom L2ItemInstance types (used loto, race tickets) */ private int _type1; private int _type2; /** If True the L2ItemInstance is equipped */ private int _equipped; /** The action to do clientside (1=ADD, 2=MODIFY, 3=REMOVE) */ private int _change; /** The mana of this item */ private int _mana; private int _time; private int _location; private int _elemAtkType = -2; private int _elemAtkPower = 0; private int[] _elemDefAttr = {0, 0, 0, 0, 0, 0}; /** * Get all information from L2ItemInstance to generate ItemInfo.

* @param item */ public ItemInfo(L2ItemInstance item) { if (item == null) return; // Get the Identifier of the L2ItemInstance _objectId = item.getObjectId(); // Get the L2Item of the L2ItemInstance _item = item.getItem(); // Get the enchant level of the L2ItemInstance _enchant = item.getEnchantLevel(); // Get the augmentation boni if (item.isAugmented()) _augmentation = item.getAugmentation().getAugmentationId(); else _augmentation = 0; // Get the quantity of the L2ItemInstance _count = item.getCount(); // Get custom item types (used loto, race tickets) _type1 = item.getCustomType1(); _type2 = item.getCustomType2(); // Verify if the L2ItemInstance is equipped _equipped = item.isEquipped() ? 1 : 0; // Get the action to do clientside switch (item.getLastChange()) { case (L2ItemInstance.ADDED): { _change = 1; break; } case (L2ItemInstance.MODIFIED): { _change = 2; break; } case (L2ItemInstance.REMOVED): { _change = 3; break;} } // Get shadow item mana _mana = item.getMana(); _time = item.isTimeLimitedItem() ? (int) (item.getRemainingTime() / 1000) : -9999; _location = item.getLocationSlot(); _elemAtkType = item.getAttackElementType(); _elemAtkPower = item.getAttackElementPower(); for (byte i = 0; i < 6; i++) _elemDefAttr[i] = item.getElementDefAttr(i); } public ItemInfo(L2ItemInstance item, int change) { if (item == null) return; // Get the Identifier of the L2ItemInstance _objectId = item.getObjectId(); // Get the L2Item of the L2ItemInstance _item = item.getItem(); // Get the enchant level of the L2ItemInstance _enchant = item.getEnchantLevel(); // Get the augmentation boni if (item.isAugmented()) _augmentation = item.getAugmentation().getAugmentationId(); else _augmentation = 0; // Get the quantity of the L2ItemInstance _count = item.getCount(); // Get custom item types (used loto, race tickets) _type1 = item.getCustomType1(); _type2 = item.getCustomType2(); // Verify if the L2ItemInstance is equipped _equipped = item.isEquipped() ? 1 : 0; // Get the action to do clientside _change = change; // Get shadow item mana _mana = item.getMana(); _time = item.isTimeLimitedItem() ? (int) (item.getRemainingTime() / 1000) : -9999; _location = item.getLocationSlot(); _elemAtkType = item.getAttackElementType(); _elemAtkPower = item.getAttackElementPower(); for (byte i = 0; i < 6; i++) _elemDefAttr[i] = item.getElementDefAttr(i); } public int getObjectId(){return _objectId;} public L2Item getItem(){return _item;} public int getEnchant(){return _enchant;} public int getAugmentationBonus(){return _augmentation;} public long getCount(){return _count;} public int getPrice(){return _price;} public int getCustomType1(){return _type1;} public int getCustomType2(){return _type2;} public int getEquipped(){return _equipped;} public int getChange(){return _change;} public int getMana(){return _mana;} public int getTime(){return _time;} public int getLocation(){return _location;} public int getAttackElementType(){return _elemAtkType;} public int getAttackElementPower(){return _elemAtkPower;} public int getElementDefAttr(byte i){return _elemDefAttr[i];} }