Proper naming for Item ItemTemplate getter.
This commit is contained in:
parent
c81f7ee38c
commit
90e0adc645
@ -181,10 +181,10 @@ public class AdminElement implements IAdminCommandHandler
|
||||
player.sendInventoryUpdate(iu);
|
||||
|
||||
// informations
|
||||
BuilderUtil.sendSysMessage(activeChar, "Changed elemental power of " + player.getName() + "'s " + itemInstance.getItem().getName() + " from " + old + " to " + current + ".");
|
||||
BuilderUtil.sendSysMessage(activeChar, "Changed elemental power of " + player.getName() + "'s " + itemInstance.getTemplate().getName() + " from " + old + " to " + current + ".");
|
||||
if (player != activeChar)
|
||||
{
|
||||
player.sendMessage(activeChar.getName() + " has changed the elemental power of your " + itemInstance.getItem().getName() + " from " + old + " to " + current + ".");
|
||||
player.sendMessage(activeChar.getName() + " has changed the elemental power of your " + itemInstance.getTemplate().getName() + " from " + old + " to " + current + ".");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -203,8 +203,8 @@ public class AdminEnchant implements IAdminCommandHandler
|
||||
player.broadcastUserInfo();
|
||||
|
||||
// informations
|
||||
BuilderUtil.sendSysMessage(activeChar, "Changed enchantment of " + player.getName() + "'s " + itemInstance.getItem().getName() + " from " + curEnchant + " to " + ench + ".");
|
||||
player.sendMessage("Admin has changed the enchantment of your " + itemInstance.getItem().getName() + " from " + curEnchant + " to " + ench + ".");
|
||||
BuilderUtil.sendSysMessage(activeChar, "Changed enchantment of " + player.getName() + "'s " + itemInstance.getTemplate().getName() + " from " + curEnchant + " to " + ench + ".");
|
||||
player.sendMessage("Admin has changed the enchantment of your " + itemInstance.getTemplate().getName() + " from " + curEnchant + " to " + ench + ".");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -86,7 +86,7 @@ public class ConvertItem extends AbstractEffect
|
||||
|
||||
final int enchantLevel = wpn.getEnchantLevel();
|
||||
final AttributeHolder elementals = wpn.getAttributes() == null ? null : wpn.getAttackAttribute();
|
||||
final List<Item> unequipped = player.getInventory().unEquipItemInBodySlotAndRecord(wpn.getItem().getBodyPart());
|
||||
final List<Item> unequipped = player.getInventory().unEquipItemInBodySlotAndRecord(wpn.getTemplate().getBodyPart());
|
||||
final InventoryUpdate iu = new InventoryUpdate();
|
||||
for (Item unequippedItem : unequipped)
|
||||
{
|
||||
@ -102,7 +102,7 @@ public class ConvertItem extends AbstractEffect
|
||||
byte count = 0;
|
||||
for (Item unequippedItem : unequipped)
|
||||
{
|
||||
if (!(unequippedItem.getItem() instanceof Weapon))
|
||||
if (!(unequippedItem.getTemplate() instanceof Weapon))
|
||||
{
|
||||
count++;
|
||||
continue;
|
||||
|
@ -99,7 +99,7 @@ public class Heal extends AbstractEffect
|
||||
final Item weaponInst = effector.getActiveWeaponInstance();
|
||||
if (weaponInst != null)
|
||||
{
|
||||
mAtkMul = weaponInst.getItem().getCrystalTypePlus() == CrystalType.R ? 4 : weaponInst.getItem().getCrystalTypePlus() == CrystalType.S ? 2 : 1;
|
||||
mAtkMul = weaponInst.getTemplate().getCrystalTypePlus() == CrystalType.R ? 4 : weaponInst.getTemplate().getCrystalTypePlus() == CrystalType.S ? 2 : 1;
|
||||
}
|
||||
// shot dynamic bonus
|
||||
mAtkMul = bss ? mAtkMul * 4 : mAtkMul + 1;
|
||||
|
@ -95,7 +95,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
final Item weaponInst = effector.getActiveWeaponInstance();
|
||||
if (weaponInst != null)
|
||||
{
|
||||
mAtkMul = weaponInst.getItem().getCrystalTypePlus() == CrystalType.R ? 4 : weaponInst.getItem().getCrystalTypePlus() == CrystalType.S ? 2 : 1;
|
||||
mAtkMul = weaponInst.getTemplate().getCrystalTypePlus() == CrystalType.R ? 4 : weaponInst.getTemplate().getCrystalTypePlus() == CrystalType.S ? 2 : 1;
|
||||
}
|
||||
// shot dynamic bonus
|
||||
mAtkMul = bss ? mAtkMul * 4 : mAtkMul + 1;
|
||||
|
@ -132,7 +132,7 @@ public class RestorationRandom extends AbstractEffect
|
||||
final InventoryUpdate playerIU = new InventoryUpdate();
|
||||
for (Entry<Item, Long> entry : extractedItems.entrySet())
|
||||
{
|
||||
if (entry.getKey().getItem().isStackable())
|
||||
if (entry.getKey().getTemplate().isStackable())
|
||||
{
|
||||
playerIU.addModifiedItem(entry.getKey());
|
||||
}
|
||||
|
@ -77,7 +77,7 @@ public class BeastSoulShot implements IItemHandler
|
||||
|
||||
final int itemId = item.getId();
|
||||
final long shotCount = item.getCount();
|
||||
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL);
|
||||
final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
|
||||
short shotConsumption = 0;
|
||||
if ((pet != null) && !pet.isChargedShot(ShotType.SOULSHOTS))
|
||||
{
|
||||
|
@ -77,7 +77,7 @@ public class BeastSpiritShot implements IItemHandler
|
||||
|
||||
final int itemId = item.getId();
|
||||
final boolean isBlessed = ((itemId == 6647) || (itemId == 20334)); // TODO: Unhardcode these!
|
||||
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL);
|
||||
final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
|
||||
final ShotType shotType = isBlessed ? ShotType.BLESSED_SPIRITSHOTS : ShotType.SPIRITSHOTS;
|
||||
short shotConsumption = 0;
|
||||
if ((pet != null) && !pet.isChargedShot(shotType))
|
||||
|
@ -49,7 +49,7 @@ public class BlessedSoulShots implements IItemHandler
|
||||
final Player player = playable.getActingPlayer();
|
||||
final Item weaponInst = player.getActiveWeaponInstance();
|
||||
final Weapon weaponItem = player.getActiveWeaponItem();
|
||||
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL);
|
||||
final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
|
||||
if (skills == null)
|
||||
{
|
||||
LOGGER.warning(getClass().getSimpleName() + ": is missing skills!");
|
||||
@ -68,7 +68,7 @@ public class BlessedSoulShots implements IItemHandler
|
||||
return false;
|
||||
}
|
||||
|
||||
final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SOULSHOT) && (weaponInst.getItem().getCrystalTypePlus() == item.getItem().getCrystalTypePlus());
|
||||
final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SOULSHOT) && (weaponInst.getTemplate().getCrystalTypePlus() == item.getTemplate().getCrystalTypePlus());
|
||||
if (!gradeCheck)
|
||||
{
|
||||
if (!player.getAutoSoulShot().contains(itemId))
|
||||
|
@ -45,7 +45,7 @@ public class BlessedSpiritShot implements IItemHandler
|
||||
final Player player = playable.getActingPlayer();
|
||||
final Item weaponInst = player.getActiveWeaponInstance();
|
||||
final Weapon weaponItem = player.getActiveWeaponItem();
|
||||
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL);
|
||||
final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
|
||||
if (skills == null)
|
||||
{
|
||||
LOGGER.warning(getClass().getSimpleName() + ": is missing skills!");
|
||||
@ -71,7 +71,7 @@ public class BlessedSpiritShot implements IItemHandler
|
||||
}
|
||||
|
||||
// Check for correct grade
|
||||
final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SPIRITSHOT) && (weaponInst.getItem().getCrystalTypePlus() == item.getItem().getCrystalTypePlus());
|
||||
final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SPIRITSHOT) && (weaponInst.getTemplate().getCrystalTypePlus() == item.getTemplate().getCrystalTypePlus());
|
||||
if (!gradeCheck)
|
||||
{
|
||||
if (!player.getAutoSoulShot().contains(itemId))
|
||||
|
@ -69,7 +69,7 @@ public class ChangeAttributeCrystal implements IItemHandler
|
||||
final List<ItemInfo> itemList = new ArrayList<>();
|
||||
for (Item i : player.getInventory().getItems())
|
||||
{
|
||||
if (i.isWeapon() && i.hasAttributes() && (i.getItem().getItemGrade() == ITEM_GRADES.get(item.getId())))
|
||||
if (i.isWeapon() && i.hasAttributes() && (i.getTemplate().getItemGrade() == ITEM_GRADES.get(item.getId())))
|
||||
{
|
||||
itemList.add(new ItemInfo(i));
|
||||
}
|
||||
|
@ -40,7 +40,7 @@ public class CharmOfCourage implements IItemHandler
|
||||
|
||||
final Player player = playable.getActingPlayer();
|
||||
int level = player.getLevel();
|
||||
final int itemLevel = item.getItem().getCrystalType().getLevel();
|
||||
final int itemLevel = item.getTemplate().getCrystalType().getLevel();
|
||||
if (level < 20)
|
||||
{
|
||||
level = 0;
|
||||
|
@ -51,7 +51,7 @@ public class ExtractableItems implements IItemHandler
|
||||
}
|
||||
|
||||
final Player player = playable.getActingPlayer();
|
||||
final EtcItem etcitem = (EtcItem) item.getItem();
|
||||
final EtcItem etcitem = (EtcItem) item.getTemplate();
|
||||
final List<ExtractableProduct> exitems = etcitem.getExtractableItems();
|
||||
if (exitems == null)
|
||||
{
|
||||
@ -98,7 +98,7 @@ public class ExtractableItems implements IItemHandler
|
||||
boolean alreadyExtracted = false;
|
||||
for (Item i : extractedItems.keySet())
|
||||
{
|
||||
if (i.getItem().getId() == expi.getId())
|
||||
if (i.getTemplate().getId() == expi.getId())
|
||||
{
|
||||
alreadyExtracted = true;
|
||||
break;
|
||||
|
@ -61,7 +61,7 @@ public class FishShots implements IItemHandler
|
||||
}
|
||||
|
||||
final long count = item.getCount();
|
||||
final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.FISHINGSHOT) && (weaponInst.getItem().getCrystalTypePlus() == item.getItem().getCrystalTypePlus());
|
||||
final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.FISHINGSHOT) && (weaponInst.getTemplate().getCrystalTypePlus() == item.getTemplate().getCrystalTypePlus());
|
||||
if (!gradeCheck)
|
||||
{
|
||||
player.sendPacket(SystemMessageId.THAT_IS_THE_WRONG_GRADE_OF_SOULSHOT_FOR_THAT_FISHING_POLE);
|
||||
@ -78,7 +78,7 @@ public class FishShots implements IItemHandler
|
||||
final WorldObject oldTarget = player.getTarget();
|
||||
player.setTarget(player);
|
||||
|
||||
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL);
|
||||
final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
|
||||
if (skills == null)
|
||||
{
|
||||
LOGGER.warning(getClass().getSimpleName() + ": is missing skills!");
|
||||
|
@ -48,7 +48,7 @@ public class Harvester implements IItemHandler
|
||||
return false;
|
||||
}
|
||||
|
||||
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL);
|
||||
final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
|
||||
if (skills == null)
|
||||
{
|
||||
LOGGER.warning(getClass().getSimpleName() + ": is missing skills!");
|
||||
|
@ -58,7 +58,7 @@ public class ItemSkillsTemplate implements IItemHandler
|
||||
return false;
|
||||
}
|
||||
|
||||
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL);
|
||||
final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
|
||||
if (skills == null)
|
||||
{
|
||||
LOGGER.info("Item " + item + " does not have registered any skill for handler.");
|
||||
@ -122,7 +122,7 @@ public class ItemSkillsTemplate implements IItemHandler
|
||||
playable.doCast(itemSkill);
|
||||
successfulUse = true;
|
||||
}
|
||||
else if (itemSkill.isWithoutAction() || item.getItem().hasImmediateEffect() || item.getItem().hasExImmediateEffect())
|
||||
else if (itemSkill.isWithoutAction() || item.getTemplate().hasImmediateEffect() || item.getTemplate().hasExImmediateEffect())
|
||||
{
|
||||
SkillCaster.triggerCast(playable, null, itemSkill, item, false);
|
||||
successfulUse = true;
|
||||
@ -163,12 +163,12 @@ public class ItemSkillsTemplate implements IItemHandler
|
||||
*/
|
||||
private boolean checkConsume(Item item, boolean hasConsumeSkill)
|
||||
{
|
||||
switch (item.getItem().getDefaultAction())
|
||||
switch (item.getTemplate().getDefaultAction())
|
||||
{
|
||||
case CAPSULE:
|
||||
case SKILL_REDUCE:
|
||||
{
|
||||
if (!hasConsumeSkill && item.getItem().hasImmediateEffect())
|
||||
if (!hasConsumeSkill && item.getTemplate().hasImmediateEffect())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -46,7 +46,7 @@ public class PetFood implements IItemHandler
|
||||
return false;
|
||||
}
|
||||
|
||||
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL);
|
||||
final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
|
||||
if (skills != null)
|
||||
{
|
||||
skills.forEach(holder -> useFood(playable, holder.getSkillId(), holder.getSkillLevel(), item));
|
||||
|
@ -91,7 +91,7 @@ public class Seed implements IItemHandler
|
||||
final Player player = playable.getActingPlayer();
|
||||
target.setSeeded(seed, player);
|
||||
|
||||
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL);
|
||||
final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
|
||||
if (skills != null)
|
||||
{
|
||||
skills.forEach(holder -> player.useMagic(holder.getSkill(), item, false, false));
|
||||
|
@ -46,7 +46,7 @@ public class SoulShots implements IItemHandler
|
||||
final Player player = playable.getActingPlayer();
|
||||
final Item weaponInst = player.getActiveWeaponInstance();
|
||||
final Weapon weaponItem = player.getActiveWeaponItem();
|
||||
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL);
|
||||
final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
|
||||
if (skills == null)
|
||||
{
|
||||
LOGGER.warning(getClass().getSimpleName() + ": is missing skills!");
|
||||
@ -65,7 +65,7 @@ public class SoulShots implements IItemHandler
|
||||
return false;
|
||||
}
|
||||
|
||||
final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SOULSHOT) && (weaponInst.getItem().getCrystalTypePlus() == item.getItem().getCrystalTypePlus());
|
||||
final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SOULSHOT) && (weaponInst.getTemplate().getCrystalTypePlus() == item.getTemplate().getCrystalTypePlus());
|
||||
if (!gradeCheck)
|
||||
{
|
||||
if (!player.getAutoSoulShot().contains(itemId))
|
||||
|
@ -45,7 +45,7 @@ public class SpiritShot implements IItemHandler
|
||||
final Player player = playable.getActingPlayer();
|
||||
final Item weaponInst = player.getActiveWeaponInstance();
|
||||
final Weapon weaponItem = player.getActiveWeaponItem();
|
||||
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL);
|
||||
final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
|
||||
if (skills == null)
|
||||
{
|
||||
LOGGER.warning(getClass().getSimpleName() + ": is missing skills!");
|
||||
@ -71,7 +71,7 @@ public class SpiritShot implements IItemHandler
|
||||
}
|
||||
|
||||
// Check for correct grade
|
||||
final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SPIRITSHOT) && (weaponInst.getItem().getCrystalTypePlus() == item.getItem().getCrystalTypePlus());
|
||||
final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SPIRITSHOT) && (weaponInst.getTemplate().getCrystalTypePlus() == item.getTemplate().getCrystalTypePlus());
|
||||
if (!gradeCheck)
|
||||
{
|
||||
if (!player.getAutoSoulShot().contains(itemId))
|
||||
|
@ -63,7 +63,7 @@ public class EquipArmorSkillCondition implements ISkillCondition
|
||||
{
|
||||
return false;
|
||||
}
|
||||
final int chestMask = chest.getItem().getItemMask();
|
||||
final int chestMask = chest.getTemplate().getItemMask();
|
||||
|
||||
// If chest armor is different from the condition one return false
|
||||
if ((_armorTypesMask & chestMask) == 0)
|
||||
@ -73,7 +73,7 @@ public class EquipArmorSkillCondition implements ISkillCondition
|
||||
|
||||
// So from here, chest armor matches conditions
|
||||
|
||||
final int chestBodyPart = chest.getItem().getBodyPart();
|
||||
final int chestBodyPart = chest.getTemplate().getBodyPart();
|
||||
// return True if chest armor is a Full Armor
|
||||
if (chestBodyPart == ItemTemplate.SLOT_FULL_ARMOR)
|
||||
{
|
||||
@ -85,7 +85,7 @@ public class EquipArmorSkillCondition implements ISkillCondition
|
||||
{
|
||||
return false;
|
||||
}
|
||||
final int legMask = legs.getItem().getItemMask();
|
||||
final int legMask = legs.getTemplate().getItemMask();
|
||||
// return true if legs armor matches too
|
||||
return (_armorTypesMask & legMask) != 0;
|
||||
}
|
||||
|
@ -65,10 +65,10 @@ public class OpTargetArmorTypeSkillCondition implements ISkillCondition
|
||||
}
|
||||
|
||||
// Get the chest item type.
|
||||
final ItemType chestType = chest.getItem().getItemType();
|
||||
final ItemType chestType = chest.getTemplate().getItemType();
|
||||
|
||||
// Get the chest body part.
|
||||
final long chestBodyPart = chest.getItem().getBodyPart();
|
||||
final long chestBodyPart = chest.getTemplate().getBodyPart();
|
||||
|
||||
// Get the legs armor.
|
||||
final Item legs = inv.getPaperdollItem(Inventory.PAPERDOLL_LEGS);
|
||||
@ -77,7 +77,7 @@ public class OpTargetArmorTypeSkillCondition implements ISkillCondition
|
||||
ItemType legsType = null;
|
||||
if (legs != null)
|
||||
{
|
||||
legsType = legs.getItem().getItemType();
|
||||
legsType = legs.getTemplate().getItemType();
|
||||
}
|
||||
|
||||
for (ArmorType armorType : _armorTypes)
|
||||
|
@ -186,11 +186,11 @@ public class Enchant implements ITelnetCommand
|
||||
player.broadcastUserInfo();
|
||||
|
||||
// informations
|
||||
player.sendMessage("Changed enchantment of " + player.getName() + "'s " + itemInstance.getItem().getName() + " from " + curEnchant + " to " + ench + ".");
|
||||
player.sendMessage("Admin has changed the enchantment of your " + itemInstance.getItem().getName() + " from " + curEnchant + " to " + ench + ".");
|
||||
player.sendMessage("Changed enchantment of " + player.getName() + "'s " + itemInstance.getTemplate().getName() + " from " + curEnchant + " to " + ench + ".");
|
||||
player.sendMessage("Admin has changed the enchantment of your " + itemInstance.getTemplate().getName() + " from " + curEnchant + " to " + ench + ".");
|
||||
|
||||
// log
|
||||
GMAudit.auditGMAction("TelnetAdmin", "enchant", player.getName(), itemInstance.getItem().getName() + "(" + itemInstance.getObjectId() + ") from " + curEnchant + " to " + ench);
|
||||
GMAudit.auditGMAction("TelnetAdmin", "enchant", player.getName(), itemInstance.getTemplate().getName() + "(" + itemInstance.getObjectId() + ") from " + curEnchant + " to " + ench);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -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);
|
||||
|
@ -307,7 +307,7 @@ public class ItemTable
|
||||
LOGGER_ITEMS.info("CREATE:" + String.valueOf(process) // in case of null
|
||||
+ ", item " + item.getObjectId() //
|
||||
+ ":+" + item.getEnchantLevel() //
|
||||
+ " " + item.getItem().getName() //
|
||||
+ " " + item.getTemplate().getName() //
|
||||
+ "(" + item.getCount() //
|
||||
+ "), " + String.valueOf(actor) // in case of null
|
||||
+ ", " + String.valueOf(reference)); // in case of null
|
||||
@ -316,7 +316,7 @@ public class ItemTable
|
||||
{
|
||||
LOGGER_ITEMS.info("CREATE:" + String.valueOf(process) // in case of null
|
||||
+ ", item " + item.getObjectId() //
|
||||
+ ":" + item.getItem().getName() //
|
||||
+ ":" + item.getTemplate().getName() //
|
||||
+ "(" + item.getCount() //
|
||||
+ "), " + String.valueOf(actor) // in case of null
|
||||
+ ", " + String.valueOf(reference)); // in case of null
|
||||
@ -350,7 +350,7 @@ public class ItemTable
|
||||
}
|
||||
|
||||
// Notify to scripts
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnItemCreate(process, item, actor, reference), item.getItem());
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnItemCreate(process, item, actor, reference), item.getTemplate());
|
||||
return item;
|
||||
}
|
||||
|
||||
@ -395,7 +395,7 @@ public class ItemTable
|
||||
LOGGER_ITEMS.info("DELETE:" + String.valueOf(process) // in case of null
|
||||
+ ", item " + item.getObjectId() //
|
||||
+ ":+" + item.getEnchantLevel() //
|
||||
+ " " + item.getItem().getName() //
|
||||
+ " " + item.getTemplate().getName() //
|
||||
+ "(" + item.getCount() //
|
||||
+ "), PrevCount(" + old //
|
||||
+ "), " + String.valueOf(actor) // in case of null
|
||||
@ -405,7 +405,7 @@ public class ItemTable
|
||||
{
|
||||
LOGGER_ITEMS.info("DELETE:" + String.valueOf(process) // in case of null
|
||||
+ ", item " + item.getObjectId() //
|
||||
+ ":" + item.getItem().getName() //
|
||||
+ ":" + item.getTemplate().getName() //
|
||||
+ "(" + item.getCount() //
|
||||
+ "), PrevCount(" + old //
|
||||
+ "), " + String.valueOf(actor) // in case of null
|
||||
@ -440,7 +440,7 @@ public class ItemTable
|
||||
}
|
||||
|
||||
// if it's a pet control item, delete the pet as well
|
||||
if (item.getItem().isPetItem())
|
||||
if (item.getTemplate().isPetItem())
|
||||
{
|
||||
try (Connection con = DatabaseFactory.getConnection();
|
||||
PreparedStatement statement = con.prepareStatement("DELETE FROM pets WHERE item_obj_id=?"))
|
||||
|
@ -153,7 +153,7 @@ public class ElementalAttributeData implements IXmlReader
|
||||
{
|
||||
int row = -1;
|
||||
int column = -1;
|
||||
switch (item.getItem().getCrystalType())
|
||||
switch (item.getTemplate().getCrystalType())
|
||||
{
|
||||
case S:
|
||||
{
|
||||
|
@ -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;
|
||||
|
@ -1573,7 +1573,7 @@ public class SkillTreeData implements IXmlReader
|
||||
boolean isItemSkill = false;
|
||||
SEARCH: for (Item item : player.getInventory().getItems())
|
||||
{
|
||||
final List<ItemSkillHolder> itemSkills = item.getItem().getAllSkills();
|
||||
final List<ItemSkillHolder> itemSkills = item.getTemplate().getAllSkills();
|
||||
if (itemSkills != null)
|
||||
{
|
||||
for (ItemSkillHolder itemSkillHolder : itemSkills)
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -94,7 +94,7 @@ public class ItemInfo
|
||||
_objectId = item.getObjectId();
|
||||
|
||||
// Get the Item of the Item
|
||||
_item = item.getItem();
|
||||
_item = item.getTemplate();
|
||||
|
||||
// Get the enchant level of the Item
|
||||
_enchantLevel = item.getEnchantLevel();
|
||||
|
@ -40,7 +40,7 @@ public class TempItem
|
||||
super();
|
||||
_itemId = item.getId();
|
||||
_quantity = quantity;
|
||||
_itemName = item.getItem().getName();
|
||||
_itemName = item.getTemplate().getName();
|
||||
_referencePrice = item.getReferencePrice();
|
||||
}
|
||||
|
||||
|
@ -53,7 +53,7 @@ public class TradeItem
|
||||
{
|
||||
Objects.requireNonNull(item);
|
||||
_objectId = item.getObjectId();
|
||||
_item = item.getItem();
|
||||
_item = item.getTemplate();
|
||||
_location = item.getLocationSlot();
|
||||
_enchant = item.getEnchantLevel();
|
||||
_type1 = item.getCustomType1();
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -2137,7 +2137,7 @@ public class Player extends Playable
|
||||
{
|
||||
if ((item != null) && item.isEquipped() && ((item.getItemType() != EtcItemType.ARROW) && (item.getItemType() != EtcItemType.BOLT)))
|
||||
{
|
||||
crystaltype = item.getItem().getCrystalType().getLevel();
|
||||
crystaltype = item.getTemplate().getCrystalType().getLevel();
|
||||
if (crystaltype > expertiseLevel)
|
||||
{
|
||||
if (item.isWeapon() && (crystaltype > weaponPenalty))
|
||||
@ -2268,13 +2268,13 @@ public class Player extends Playable
|
||||
// Consume mana - will start a task if required; returns if item is not a shadow item
|
||||
item.decreaseMana(false);
|
||||
|
||||
if ((item.getItem().getBodyPart() & ItemTemplate.SLOT_MULTI_ALLWEAPON) != 0)
|
||||
if ((item.getTemplate().getBodyPart() & ItemTemplate.SLOT_MULTI_ALLWEAPON) != 0)
|
||||
{
|
||||
rechargeShots(true, true, false);
|
||||
}
|
||||
|
||||
// Notify to scripts
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemEquip(this, item), item.getItem());
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemEquip(this, item), item.getTemplate());
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -4504,7 +4504,7 @@ public class Player extends Playable
|
||||
}
|
||||
|
||||
// Auto use herbs - pick up
|
||||
if (target.getItem().hasExImmediateEffect())
|
||||
if (target.getTemplate().hasExImmediateEffect())
|
||||
{
|
||||
final IItemHandler handler = ItemHandler.getInstance().getHandler(target.getEtcItem());
|
||||
if (handler == null)
|
||||
@ -4788,7 +4788,7 @@ public class Player extends Playable
|
||||
{
|
||||
return _fistsWeaponItem;
|
||||
}
|
||||
return (Weapon) weapon.getItem();
|
||||
return (Weapon) weapon.getTemplate();
|
||||
}
|
||||
|
||||
public Item getChestArmorInstance()
|
||||
@ -4808,7 +4808,7 @@ public class Player extends Playable
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return (Armor) armor.getItem();
|
||||
return (Armor) armor.getTemplate();
|
||||
}
|
||||
|
||||
public Armor getActiveLegsArmorItem()
|
||||
@ -4818,7 +4818,7 @@ public class Player extends Playable
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return (Armor) legs.getItem();
|
||||
return (Armor) legs.getTemplate();
|
||||
}
|
||||
|
||||
public boolean isWearingHeavyArmor()
|
||||
@ -4829,7 +4829,7 @@ public class Player extends Playable
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return (armor != null) && ((_inventory.getPaperdollItem(Inventory.PAPERDOLL_CHEST).getItem().getBodyPart() == ItemTemplate.SLOT_FULL_ARMOR) && (armor.getItemType() == ArmorType.HEAVY));
|
||||
return (armor != null) && ((_inventory.getPaperdollItem(Inventory.PAPERDOLL_CHEST).getTemplate().getBodyPart() == ItemTemplate.SLOT_FULL_ARMOR) && (armor.getItemType() == ArmorType.HEAVY));
|
||||
}
|
||||
|
||||
public boolean isWearingLightArmor()
|
||||
@ -4840,7 +4840,7 @@ public class Player extends Playable
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return (armor != null) && ((_inventory.getPaperdollItem(Inventory.PAPERDOLL_CHEST).getItem().getBodyPart() == ItemTemplate.SLOT_FULL_ARMOR) && (armor.getItemType() == ArmorType.LIGHT));
|
||||
return (armor != null) && ((_inventory.getPaperdollItem(Inventory.PAPERDOLL_CHEST).getTemplate().getBodyPart() == ItemTemplate.SLOT_FULL_ARMOR) && (armor.getItemType() == ArmorType.LIGHT));
|
||||
}
|
||||
|
||||
public boolean isWearingMagicArmor()
|
||||
@ -4851,7 +4851,7 @@ public class Player extends Playable
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return (armor != null) && ((_inventory.getPaperdollItem(Inventory.PAPERDOLL_CHEST).getItem().getBodyPart() == ItemTemplate.SLOT_FULL_ARMOR) && (armor.getItemType() == ArmorType.MAGIC));
|
||||
return (armor != null) && ((_inventory.getPaperdollItem(Inventory.PAPERDOLL_CHEST).getTemplate().getBodyPart() == ItemTemplate.SLOT_FULL_ARMOR) && (armor.getItemType() == ArmorType.MAGIC));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -4873,7 +4873,7 @@ public class Player extends Playable
|
||||
final Item item = _inventory.getPaperdollItem(Inventory.PAPERDOLL_LHAND);
|
||||
if (item != null)
|
||||
{
|
||||
return item.getItem();
|
||||
return item.getTemplate();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@ -5112,7 +5112,7 @@ public class Player extends Playable
|
||||
if (itemDrop.isShadowItem() || // Dont drop Shadow Items
|
||||
itemDrop.isTimeLimitedItem() || // Dont drop Time Limited Items
|
||||
!itemDrop.isDropable() || (itemDrop.getId() == Inventory.ADENA_ID) || // Adena
|
||||
(itemDrop.getItem().getType2() == ItemTemplate.TYPE2_QUEST) || // Quest Items
|
||||
(itemDrop.getTemplate().getType2() == ItemTemplate.TYPE2_QUEST) || // Quest Items
|
||||
((_pet != null) && (_pet.getControlObjectId() == itemDrop.getId())) || // Control Item of active pet
|
||||
(Arrays.binarySearch(Config.KARMA_LIST_NONDROPPABLE_ITEMS, itemDrop.getId()) >= 0) || // Item listed in the non droppable item list
|
||||
(Arrays.binarySearch(Config.KARMA_LIST_NONDROPPABLE_PET_ITEMS, itemDrop.getId()) >= 0 // Item listed in the non droppable pet item list
|
||||
@ -5124,7 +5124,7 @@ public class Player extends Playable
|
||||
if (itemDrop.isEquipped())
|
||||
{
|
||||
// Set proper chance according to Item type of equipped Item
|
||||
itemDropPercent = itemDrop.getItem().getType2() == ItemTemplate.TYPE2_WEAPON ? dropEquipWeapon : dropEquip;
|
||||
itemDropPercent = itemDrop.getTemplate().getType2() == ItemTemplate.TYPE2_WEAPON ? dropEquipWeapon : dropEquip;
|
||||
_inventory.unEquipItemInSlot(itemDrop.getLocationSlot());
|
||||
}
|
||||
else
|
||||
@ -5918,7 +5918,7 @@ public class Player extends Playable
|
||||
return false;
|
||||
}
|
||||
|
||||
final List<Item> unequipped = _inventory.unEquipItemInBodySlotAndRecord(wpn.getItem().getBodyPart());
|
||||
final List<Item> unequipped = _inventory.unEquipItemInBodySlotAndRecord(wpn.getTemplate().getBodyPart());
|
||||
final InventoryUpdate iu = new InventoryUpdate();
|
||||
for (Item itm : unequipped)
|
||||
{
|
||||
@ -5959,7 +5959,7 @@ public class Player extends Playable
|
||||
final Item sld = _inventory.getPaperdollItem(Inventory.PAPERDOLL_LHAND);
|
||||
if (sld != null)
|
||||
{
|
||||
final List<Item> unequipped = _inventory.unEquipItemInBodySlotAndRecord(sld.getItem().getBodyPart());
|
||||
final List<Item> unequipped = _inventory.unEquipItemInBodySlotAndRecord(sld.getTemplate().getBodyPart());
|
||||
final InventoryUpdate iu = new InventoryUpdate();
|
||||
for (Item itm : unequipped)
|
||||
{
|
||||
@ -8832,7 +8832,7 @@ public class Player extends Playable
|
||||
continue;
|
||||
}
|
||||
|
||||
final ActionType defaultAction = item.getItem().getDefaultAction();
|
||||
final ActionType defaultAction = item.getTemplate().getDefaultAction();
|
||||
if ((magic && (defaultAction == ActionType.SPIRITSHOT)) || (physical && (defaultAction == ActionType.SOULSHOT)) || (fish && (defaultAction == ActionType.FISHINGSHOT)))
|
||||
{
|
||||
handler.useItem(this, item, false);
|
||||
@ -11737,7 +11737,7 @@ public class Player extends Playable
|
||||
for (int i = 0; i < Inventory.PAPERDOLL_TOTALSLOTS; i++)
|
||||
{
|
||||
final Item equippedItem = _inventory.getPaperdollItem(i);
|
||||
if ((equippedItem != null) && !equippedItem.getItem().checkCondition(this, this, false))
|
||||
if ((equippedItem != null) && !equippedItem.getTemplate().checkCondition(this, this, false))
|
||||
{
|
||||
_inventory.unEquipItemInSlot(i);
|
||||
|
||||
@ -11746,7 +11746,7 @@ public class Player extends Playable
|
||||
sendInventoryUpdate(iu);
|
||||
|
||||
SystemMessage sm = null;
|
||||
if (equippedItem.getItem().getBodyPart() == ItemTemplate.SLOT_BACK)
|
||||
if (equippedItem.getTemplate().getBodyPart() == ItemTemplate.SLOT_BACK)
|
||||
{
|
||||
sendPacket(SystemMessageId.YOUR_CLOAK_HAS_BEEN_UNEQUIPPED_BECAUSE_YOUR_ARMOR_SET_IS_NO_LONGER_COMPLETE);
|
||||
return;
|
||||
|
@ -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,9 +126,9 @@ public class PlayerStat extends PlayableStat
|
||||
{
|
||||
// rod fishing skills
|
||||
final Item rod = player.getActiveWeaponInstance();
|
||||
if ((rod != null) && (rod.getItemType() == WeaponType.FISHINGROD) && (rod.getItem().getAllSkills() != null))
|
||||
if ((rod != null) && (rod.getItemType() == WeaponType.FISHINGROD) && (rod.getTemplate().getAllSkills() != null))
|
||||
{
|
||||
for (ItemSkillHolder s : rod.getItem().getAllSkills())
|
||||
for (ItemSkillHolder s : rod.getTemplate().getAllSkills())
|
||||
{
|
||||
if (s.getSkill().getId() == FANCY_FISHING_ROD_SKILL)
|
||||
{
|
||||
|
@ -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 int chestBodyPart = chest.getItem().getBodyPart();
|
||||
final int chestBodyPart = chest.getTemplate().getBodyPart();
|
||||
// return True if chest armor is a Full Armor
|
||||
if (chestBodyPart == ItemTemplate.SLOT_FULL_ARMOR)
|
||||
{
|
||||
@ -87,7 +87,7 @@ public class ConditionUsingItemType extends Condition
|
||||
{
|
||||
return (ArmorType.NONE.mask() & _mask) == ArmorType.NONE.mask();
|
||||
}
|
||||
final int legMask = legs.getItem().getItemMask();
|
||||
final int legMask = legs.getTemplate().getItemMask();
|
||||
// return true if legs armor matches too
|
||||
return (_mask & legMask) != 0;
|
||||
}
|
||||
|
@ -2959,7 +2959,7 @@ public abstract class AbstractScript extends ManagedScript implements IEventTime
|
||||
if (item.isEquipped())
|
||||
{
|
||||
final InventoryUpdate iu = new InventoryUpdate();
|
||||
for (Item itm : player.getInventory().unEquipItemInBodySlotAndRecord(item.getItem().getBodyPart()))
|
||||
for (Item itm : player.getInventory().unEquipItemInBodySlotAndRecord(item.getTemplate().getBodyPart()))
|
||||
{
|
||||
iu.addModifiedItem(itm);
|
||||
}
|
||||
|
@ -68,7 +68,7 @@ public class WarehouseItem
|
||||
public WarehouseItem(Item item)
|
||||
{
|
||||
Objects.requireNonNull(item);
|
||||
_item = item.getItem();
|
||||
_item = item.getTemplate();
|
||||
_object = item.getObjectId();
|
||||
_count = item.getCount();
|
||||
_owner = item.getOwnerId();
|
||||
@ -76,7 +76,7 @@ public class WarehouseItem
|
||||
_enchant = item.getEnchantLevel();
|
||||
_customType1 = item.getCustomType1();
|
||||
_customType2 = item.getCustomType2();
|
||||
_grade = item.getItem().getCrystalType();
|
||||
_grade = item.getTemplate().getCrystalType();
|
||||
_augmentation = item.getAugmentation();
|
||||
_mana = item.getMana();
|
||||
_time = item.isTimeLimitedItem() ? (int) (item.getRemainingTime() / 1000) : -1;
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -172,11 +172,11 @@ public abstract class AbstractEnchantItem
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else if (!itemToEnchant.isEnchantable() || (!(itemToEnchant.getItem().getEnchantLimit() == 0) && (itemToEnchant.getEnchantLevel() == itemToEnchant.getItem().getEnchantLimit())))
|
||||
else if (!itemToEnchant.isEnchantable() || (!(itemToEnchant.getTemplate().getEnchantLimit() == 0) && (itemToEnchant.getEnchantLevel() == itemToEnchant.getTemplate().getEnchantLimit())))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else if (!isValidItemType(itemToEnchant.getItem().getType2()))
|
||||
else if (!isValidItemType(itemToEnchant.getTemplate().getType2()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -184,7 +184,7 @@ public abstract class AbstractEnchantItem
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else if (_grade != itemToEnchant.getItem().getCrystalTypePlus())
|
||||
else if (_grade != itemToEnchant.getTemplate().getCrystalTypePlus())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -183,7 +183,7 @@ public class EnchantScroll extends AbstractEnchantItem
|
||||
return -1;
|
||||
}
|
||||
|
||||
final EnchantItemGroup group = EnchantItemGroupsData.getInstance().getItemGroup(enchantItem.getItem(), _scrollGroupId);
|
||||
final EnchantItemGroup group = EnchantItemGroupsData.getInstance().getItemGroup(enchantItem.getTemplate(), _scrollGroupId);
|
||||
if (group == null)
|
||||
{
|
||||
LOGGER.warning(getClass().getSimpleName() + ": Couldn't find enchant item group for scroll: " + getId() + " requested by: " + player);
|
||||
@ -217,7 +217,7 @@ public class EnchantScroll extends AbstractEnchantItem
|
||||
return EnchantResultType.ERROR;
|
||||
}
|
||||
|
||||
final int crystalLevel = enchantItem.getItem().getCrystalType().getLevel();
|
||||
final int crystalLevel = enchantItem.getTemplate().getCrystalType().getLevel();
|
||||
final double enchantRateStat = (crystalLevel > CrystalType.NONE.getLevel()) && (crystalLevel < CrystalType.EVENT.getLevel()) ? player.getStat().getValue(Stat.ENCHANT_RATE) : 0;
|
||||
final double bonusRate = getBonusRate();
|
||||
final double supportBonusRate = (supportItem != null) ? supportItem.getBonusRate() : 0;
|
||||
|
@ -120,7 +120,7 @@ public class Item extends WorldObject
|
||||
private final int _itemId;
|
||||
|
||||
/** ItemTemplate associated to the item */
|
||||
private final ItemTemplate _item;
|
||||
private final ItemTemplate _itemTemplate;
|
||||
|
||||
/** Location of the item : Inventory, PaperDoll, WareHouse */
|
||||
private ItemLocation _loc;
|
||||
@ -184,18 +184,18 @@ public class Item extends WorldObject
|
||||
super(objectId);
|
||||
setInstanceType(InstanceType.Item);
|
||||
_itemId = itemId;
|
||||
_item = ItemTable.getInstance().getTemplate(itemId);
|
||||
if ((_itemId == 0) || (_item == null))
|
||||
_itemTemplate = ItemTable.getInstance().getTemplate(itemId);
|
||||
if ((_itemId == 0) || (_itemTemplate == null))
|
||||
{
|
||||
throw new IllegalArgumentException();
|
||||
}
|
||||
super.setName(_item.getName());
|
||||
super.setName(_itemTemplate.getName());
|
||||
_loc = ItemLocation.VOID;
|
||||
_type1 = 0;
|
||||
_type2 = 0;
|
||||
_dropTime = 0;
|
||||
_mana = _item.getDuration();
|
||||
_time = _item.getTime() == -1 ? -1 : Chronos.currentTimeMillis() + (_item.getTime() * 60 * 1000);
|
||||
_mana = _itemTemplate.getDuration();
|
||||
_time = _itemTemplate.getTime() == -1 ? -1 : Chronos.currentTimeMillis() + (_itemTemplate.getTime() * 60 * 1000);
|
||||
scheduleLifeTimeTask();
|
||||
scheduleVisualLifeTime();
|
||||
}
|
||||
@ -203,22 +203,22 @@ public class Item extends WorldObject
|
||||
/**
|
||||
* Constructor of the Item from the objetId and the description of the item given by the Item.
|
||||
* @param objectId : int designating the ID of the object in the world
|
||||
* @param item : Item containing informations of the item
|
||||
* @param itemTemplate : Item containing informations of the item
|
||||
*/
|
||||
public Item(int objectId, ItemTemplate item)
|
||||
public Item(int objectId, ItemTemplate itemTemplate)
|
||||
{
|
||||
super(objectId);
|
||||
setInstanceType(InstanceType.Item);
|
||||
_itemId = item.getId();
|
||||
_item = item;
|
||||
_itemId = itemTemplate.getId();
|
||||
_itemTemplate = itemTemplate;
|
||||
if (_itemId == 0)
|
||||
{
|
||||
throw new IllegalArgumentException();
|
||||
}
|
||||
super.setName(_item.getName());
|
||||
super.setName(_itemTemplate.getName());
|
||||
_loc = ItemLocation.VOID;
|
||||
_mana = _item.getDuration();
|
||||
_time = _item.getTime() == -1 ? -1 : Chronos.currentTimeMillis() + (_item.getTime() * 60 * 1000);
|
||||
_mana = _itemTemplate.getDuration();
|
||||
_time = _itemTemplate.getTime() == -1 ? -1 : Chronos.currentTimeMillis() + (_itemTemplate.getTime() * 60 * 1000);
|
||||
scheduleLifeTimeTask();
|
||||
scheduleVisualLifeTime();
|
||||
}
|
||||
@ -297,7 +297,7 @@ public class Item extends WorldObject
|
||||
if (creature.isPlayer())
|
||||
{
|
||||
// Notify to scripts
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemPickup(creature.getActingPlayer(), this), getItem());
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemPickup(creature.getActingPlayer(), this), getTemplate());
|
||||
}
|
||||
}
|
||||
|
||||
@ -314,14 +314,14 @@ public class Item extends WorldObject
|
||||
|
||||
if (Config.LOG_ITEMS)
|
||||
{
|
||||
if (!Config.LOG_ITEMS_SMALL_LOG || (Config.LOG_ITEMS_SMALL_LOG && (_item.isEquipable() || (_item.getId() == ADENA_ID))))
|
||||
if (!Config.LOG_ITEMS_SMALL_LOG || (Config.LOG_ITEMS_SMALL_LOG && (_itemTemplate.isEquipable() || (_itemTemplate.getId() == ADENA_ID))))
|
||||
{
|
||||
if (_enchantLevel > 0)
|
||||
{
|
||||
LOG_ITEMS.info("SETOWNER:" + String.valueOf(process) // in case of null
|
||||
+ ", item " + getObjectId() //
|
||||
+ ":+" + _enchantLevel //
|
||||
+ " " + _item.getName() //
|
||||
+ " " + _itemTemplate.getName() //
|
||||
+ "(" + _count + "), " //
|
||||
+ String.valueOf(creator) + ", " // in case of null
|
||||
+ String.valueOf(reference)); // in case of null
|
||||
@ -330,7 +330,7 @@ public class Item extends WorldObject
|
||||
{
|
||||
LOG_ITEMS.info("SETOWNER:" + String.valueOf(process) // in case of null
|
||||
+ ", item " + getObjectId() //
|
||||
+ ":" + _item.getName() //
|
||||
+ ":" + _itemTemplate.getName() //
|
||||
+ "(" + _count + "), " //
|
||||
+ String.valueOf(creator) + ", " // in case of null
|
||||
+ String.valueOf(reference)); // in case of null
|
||||
@ -486,14 +486,14 @@ public class Item extends WorldObject
|
||||
|
||||
if (Config.LOG_ITEMS && (process != null))
|
||||
{
|
||||
if (!Config.LOG_ITEMS_SMALL_LOG || (Config.LOG_ITEMS_SMALL_LOG && (_item.isEquipable() || (_item.getId() == ADENA_ID))))
|
||||
if (!Config.LOG_ITEMS_SMALL_LOG || (Config.LOG_ITEMS_SMALL_LOG && (_itemTemplate.isEquipable() || (_itemTemplate.getId() == ADENA_ID))))
|
||||
{
|
||||
if (_enchantLevel > 0)
|
||||
{
|
||||
LOG_ITEMS.info("CHANGE:" + String.valueOf(process) // in case of null
|
||||
+ ", item " + getObjectId() //
|
||||
+ ":+" + _enchantLevel //
|
||||
+ " " + _item.getName() //
|
||||
+ " " + _itemTemplate.getName() //
|
||||
+ "(" + _count + "), PrevCount(" //
|
||||
+ String.valueOf(old) + "), " // in case of null
|
||||
+ String.valueOf(creator) + ", " // in case of null
|
||||
@ -503,7 +503,7 @@ public class Item extends WorldObject
|
||||
{
|
||||
LOG_ITEMS.info("CHANGE:" + String.valueOf(process) // in case of null
|
||||
+ ", item " + getObjectId() //
|
||||
+ ":" + _item.getName() //
|
||||
+ ":" + _itemTemplate.getName() //
|
||||
+ "(" + _count + "), PrevCount(" //
|
||||
+ String.valueOf(old) + "), " // in case of null
|
||||
+ String.valueOf(creator) + ", " // in case of null
|
||||
@ -545,7 +545,7 @@ public class Item extends WorldObject
|
||||
{
|
||||
if ((_loc == ItemLocation.INVENTORY) || (_loc == ItemLocation.PAPERDOLL))
|
||||
{
|
||||
return _item.isEnchantable();
|
||||
return _itemTemplate.isEnchantable();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@ -556,7 +556,7 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public boolean isEquipable()
|
||||
{
|
||||
return _item.getBodyPart() != ItemTemplate.SLOT_NONE;
|
||||
return _itemTemplate.getBodyPart() != ItemTemplate.SLOT_NONE;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -578,12 +578,12 @@ public class Item extends WorldObject
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the characteristics of the item
|
||||
* @return Item
|
||||
* Returns the characteristics of the item.
|
||||
* @return ItemTemplate
|
||||
*/
|
||||
public ItemTemplate getItem()
|
||||
public ItemTemplate getTemplate()
|
||||
{
|
||||
return _item;
|
||||
return _itemTemplate;
|
||||
}
|
||||
|
||||
public int getCustomType1()
|
||||
@ -621,7 +621,7 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public ItemType getItemType()
|
||||
{
|
||||
return _item.getItemType();
|
||||
return _itemTemplate.getItemType();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -639,7 +639,7 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public int getDisplayId()
|
||||
{
|
||||
return _item.getDisplayId();
|
||||
return _itemTemplate.getDisplayId();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -647,7 +647,7 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public boolean isEtcItem()
|
||||
{
|
||||
return (_item instanceof EtcItem);
|
||||
return (_itemTemplate instanceof EtcItem);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -655,7 +655,7 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public boolean isWeapon()
|
||||
{
|
||||
return (_item instanceof Weapon);
|
||||
return (_itemTemplate instanceof Weapon);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -663,7 +663,7 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public boolean isArmor()
|
||||
{
|
||||
return (_item instanceof Armor);
|
||||
return (_itemTemplate instanceof Armor);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -671,9 +671,9 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public EtcItem getEtcItem()
|
||||
{
|
||||
if (_item instanceof EtcItem)
|
||||
if (_itemTemplate instanceof EtcItem)
|
||||
{
|
||||
return (EtcItem) _item;
|
||||
return (EtcItem) _itemTemplate;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@ -683,9 +683,9 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public Weapon getWeaponItem()
|
||||
{
|
||||
if (_item instanceof Weapon)
|
||||
if (_itemTemplate instanceof Weapon)
|
||||
{
|
||||
return (Weapon) _item;
|
||||
return (Weapon) _itemTemplate;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@ -695,9 +695,9 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public Armor getArmorItem()
|
||||
{
|
||||
if (_item instanceof Armor)
|
||||
if (_itemTemplate instanceof Armor)
|
||||
{
|
||||
return (Armor) _item;
|
||||
return (Armor) _itemTemplate;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@ -707,7 +707,7 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public int getCrystalCount()
|
||||
{
|
||||
return _item.getCrystalCount(_enchantLevel);
|
||||
return _itemTemplate.getCrystalCount(_enchantLevel);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -715,7 +715,7 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public long getReferencePrice()
|
||||
{
|
||||
return _item.getReferencePrice();
|
||||
return _itemTemplate.getReferencePrice();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -723,7 +723,7 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public String getItemName()
|
||||
{
|
||||
return _item.getName();
|
||||
return _itemTemplate.getName();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -731,7 +731,7 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public int getReuseDelay()
|
||||
{
|
||||
return _item.getReuseDelay();
|
||||
return _itemTemplate.getReuseDelay();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -739,7 +739,7 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public int getSharedReuseGroup()
|
||||
{
|
||||
return _item.getSharedReuseGroup();
|
||||
return _itemTemplate.getSharedReuseGroup();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -765,7 +765,7 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public boolean isStackable()
|
||||
{
|
||||
return _item.isStackable();
|
||||
return _itemTemplate.isStackable();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -778,7 +778,7 @@ public class Item extends WorldObject
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return !isAugmented() && (getVisualId() == 0) && _item.isDropable();
|
||||
return !isAugmented() && (getVisualId() == 0) && _itemTemplate.isDropable();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -791,7 +791,7 @@ public class Item extends WorldObject
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return _item.isDestroyable();
|
||||
return _itemTemplate.isDestroyable();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -804,7 +804,7 @@ public class Item extends WorldObject
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return !isAugmented() && _item.isTradeable();
|
||||
return !isAugmented() && _itemTemplate.isTradeable();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -817,7 +817,7 @@ public class Item extends WorldObject
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return !isAugmented() && _item.isSellable();
|
||||
return !isAugmented() && _itemTemplate.isSellable();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -827,7 +827,7 @@ public class Item extends WorldObject
|
||||
public boolean isDepositable(boolean isPrivateWareHouse)
|
||||
{
|
||||
// equipped, hero and quest items
|
||||
if (isEquipped() || !_item.isDepositable())
|
||||
if (isEquipped() || !_itemTemplate.isDepositable())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -841,27 +841,27 @@ public class Item extends WorldObject
|
||||
|
||||
public boolean isPotion()
|
||||
{
|
||||
return _item.isPotion();
|
||||
return _itemTemplate.isPotion();
|
||||
}
|
||||
|
||||
public boolean isElixir()
|
||||
{
|
||||
return _item.isElixir();
|
||||
return _itemTemplate.isElixir();
|
||||
}
|
||||
|
||||
public boolean isScroll()
|
||||
{
|
||||
return _item.isScroll();
|
||||
return _itemTemplate.isScroll();
|
||||
}
|
||||
|
||||
public boolean isHeroItem()
|
||||
{
|
||||
return _item.isHeroItem();
|
||||
return _itemTemplate.isHeroItem();
|
||||
}
|
||||
|
||||
public boolean isCommonItem()
|
||||
{
|
||||
return _item.isCommon();
|
||||
return _itemTemplate.isCommon();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -870,12 +870,12 @@ public class Item extends WorldObject
|
||||
*/
|
||||
public boolean isPvp()
|
||||
{
|
||||
return _item.isPvpItem();
|
||||
return _itemTemplate.isPvpItem();
|
||||
}
|
||||
|
||||
public boolean isOlyRestrictedItem()
|
||||
{
|
||||
return _item.isOlyRestrictedItem();
|
||||
return _itemTemplate.isOlyRestrictedItem();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -889,12 +889,12 @@ public class Item extends WorldObject
|
||||
final Summon pet = player.getPet();
|
||||
|
||||
return ((!isEquipped()) // Not equipped
|
||||
&& (_item.getType2() != ItemTemplate.TYPE2_QUEST) // Not Quest Item
|
||||
&& ((_item.getType2() != ItemTemplate.TYPE2_MONEY) || (_item.getType1() != ItemTemplate.TYPE1_SHIELD_ARMOR)) // not money, not shield
|
||||
&& (_itemTemplate.getType2() != ItemTemplate.TYPE2_QUEST) // Not Quest Item
|
||||
&& ((_itemTemplate.getType2() != ItemTemplate.TYPE2_MONEY) || (_itemTemplate.getType1() != ItemTemplate.TYPE1_SHIELD_ARMOR)) // not money, not shield
|
||||
&& ((pet == null) || (getObjectId() != pet.getControlObjectId())) // Not Control item of currently summoned pet
|
||||
&& !(player.isProcessingItem(getObjectId())) // Not momentarily used enchant scroll
|
||||
&& (allowAdena || (_itemId != ADENA_ID)) // Not Adena
|
||||
&& (!player.isCastingNow(s -> s.getSkill().getItemConsumeId() != _itemId)) && (allowNonTradeable || (isTradeable() && (!((_item.getItemType() == EtcItemType.PET_COLLAR) && player.havePetInvItems())))));
|
||||
&& (!player.isCastingNow(s -> s.getSkill().getItemConsumeId() != _itemId)) && (allowNonTradeable || (isTradeable() && (!((_itemTemplate.getItemType() == EtcItemType.PET_COLLAR) && player.havePetInvItems())))));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -972,7 +972,7 @@ public class Item extends WorldObject
|
||||
}
|
||||
|
||||
// Notify to scripts.
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerAugment(getActingPlayer(), this, augmentation, true), getItem());
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerAugment(getActingPlayer(), this, augmentation, true), getTemplate());
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -1002,7 +1002,7 @@ public class Item extends WorldObject
|
||||
}
|
||||
|
||||
// Notify to scripts.
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerAugment(getActingPlayer(), this, augment, false), getItem());
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerAugment(getActingPlayer(), this, augment, false), getTemplate());
|
||||
}
|
||||
|
||||
public void restoreAttributes()
|
||||
@ -1139,9 +1139,9 @@ public class Item extends WorldObject
|
||||
{
|
||||
if (isWeapon())
|
||||
{
|
||||
if (_item.getAttributes() != null)
|
||||
if (_itemTemplate.getAttributes() != null)
|
||||
{
|
||||
return _item.getAttributes().stream().findFirst().orElse(null);
|
||||
return _itemTemplate.getAttributes().stream().findFirst().orElse(null);
|
||||
}
|
||||
else if (_elementals != null)
|
||||
{
|
||||
@ -1167,9 +1167,9 @@ public class Item extends WorldObject
|
||||
{
|
||||
if (isArmor())
|
||||
{
|
||||
if (_item.getAttributes() != null)
|
||||
if (_itemTemplate.getAttributes() != null)
|
||||
{
|
||||
final AttributeHolder attribute = _item.getAttribute(element);
|
||||
final AttributeHolder attribute = _itemTemplate.getAttribute(element);
|
||||
if (attribute != null)
|
||||
{
|
||||
return attribute.getValue();
|
||||
@ -1341,21 +1341,21 @@ public class Item extends WorldObject
|
||||
case 10:
|
||||
{
|
||||
sm = new SystemMessage(SystemMessageId.S1_S_REMAINING_MANA_IS_NOW_10);
|
||||
sm.addItemName(_item);
|
||||
sm.addItemName(_itemTemplate);
|
||||
player.sendPacket(sm);
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
sm = new SystemMessage(SystemMessageId.S1_S_REMAINING_MANA_IS_NOW_5);
|
||||
sm.addItemName(_item);
|
||||
sm.addItemName(_itemTemplate);
|
||||
player.sendPacket(sm);
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
sm = new SystemMessage(SystemMessageId.S1_S_REMAINING_MANA_IS_NOW_1_IT_WILL_DISAPPEAR_SOON);
|
||||
sm.addItemName(_item);
|
||||
sm.addItemName(_itemTemplate);
|
||||
player.sendPacket(sm);
|
||||
break;
|
||||
}
|
||||
@ -1364,7 +1364,7 @@ public class Item extends WorldObject
|
||||
if (_mana == 0) // The life time has expired
|
||||
{
|
||||
sm = new SystemMessage(SystemMessageId.S1_S_REMAINING_MANA_IS_NOW_0_AND_THE_ITEM_HAS_DISAPPEARED);
|
||||
sm.addItemName(_item);
|
||||
sm.addItemName(_itemTemplate);
|
||||
player.sendPacket(sm);
|
||||
|
||||
// unequip
|
||||
@ -1532,7 +1532,7 @@ public class Item extends WorldObject
|
||||
_owner = null;
|
||||
|
||||
// Notify to scripts
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(dropper.getActingPlayer(), this, new Location(x, y, z)), getItem());
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(dropper.getActingPlayer(), this, new Location(x, y, z)), getTemplate());
|
||||
}
|
||||
}
|
||||
|
||||
@ -1682,7 +1682,7 @@ public class Item extends WorldObject
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return _item + "[" + getObjectId() + "]";
|
||||
return _itemTemplate + "[" + getObjectId() + "]";
|
||||
}
|
||||
|
||||
public void resetOwnerTimer()
|
||||
@ -1716,7 +1716,7 @@ public class Item extends WorldObject
|
||||
|
||||
public boolean isAvailable()
|
||||
{
|
||||
if (!_item.isConditionAttached())
|
||||
if (!_itemTemplate.isConditionAttached())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@ -1728,14 +1728,14 @@ public class Item extends WorldObject
|
||||
final Creature owner = getActingPlayer();
|
||||
if (owner != null)
|
||||
{
|
||||
for (Condition condition : _item.getConditions())
|
||||
for (Condition condition : _itemTemplate.getConditions())
|
||||
{
|
||||
if (condition == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!condition.testImpl(owner, owner, null, _item))
|
||||
if (!condition.testImpl(owner, owner, null, _itemTemplate))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -1887,26 +1887,26 @@ public class Item extends WorldObject
|
||||
|
||||
public boolean isQuestItem()
|
||||
{
|
||||
return _item.isQuestItem();
|
||||
return _itemTemplate.isQuestItem();
|
||||
}
|
||||
|
||||
public boolean isElementable()
|
||||
{
|
||||
if ((_loc == ItemLocation.INVENTORY) || (_loc == ItemLocation.PAPERDOLL))
|
||||
{
|
||||
return _item.isElementable();
|
||||
return _itemTemplate.isElementable();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isFreightable()
|
||||
{
|
||||
return _item.isFreightable();
|
||||
return _itemTemplate.isFreightable();
|
||||
}
|
||||
|
||||
public int useSkillDisTime()
|
||||
{
|
||||
return _item.useSkillDisTime();
|
||||
return _itemTemplate.useSkillDisTime();
|
||||
}
|
||||
|
||||
public int getOlyEnchantLevel()
|
||||
@ -1921,7 +1921,7 @@ public class Item extends WorldObject
|
||||
|
||||
if (player.isInOlympiadMode())
|
||||
{
|
||||
if (_item.isWeapon())
|
||||
if (_itemTemplate.isWeapon())
|
||||
{
|
||||
if ((Config.ALT_OLY_WEAPON_ENCHANT_LIMIT >= 0) && (enchant > Config.ALT_OLY_WEAPON_ENCHANT_LIMIT))
|
||||
{
|
||||
@ -1942,7 +1942,7 @@ public class Item extends WorldObject
|
||||
|
||||
public boolean hasPassiveSkills()
|
||||
{
|
||||
return (_item.getItemType() == EtcItemType.ENCHT_ATTR_RUNE) && (_loc == ItemLocation.INVENTORY) && (_ownerId > 0) && (_item.getSkills(ItemSkillType.NORMAL) != null);
|
||||
return (_itemTemplate.getItemType() == EtcItemType.ENCHT_ATTR_RUNE) && (_loc == ItemLocation.INVENTORY) && (_ownerId > 0) && (_itemTemplate.getSkills(ItemSkillType.NORMAL) != null);
|
||||
}
|
||||
|
||||
public void giveSkillsToOwner()
|
||||
@ -1955,7 +1955,7 @@ public class Item extends WorldObject
|
||||
final Player player = getActingPlayer();
|
||||
if (player != null)
|
||||
{
|
||||
_item.forEachSkill(ItemSkillType.NORMAL, holder ->
|
||||
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill.isPassive())
|
||||
@ -1976,7 +1976,7 @@ public class Item extends WorldObject
|
||||
final Player player = getActingPlayer();
|
||||
if (player != null)
|
||||
{
|
||||
_item.forEachSkill(ItemSkillType.NORMAL, holder ->
|
||||
_itemTemplate.forEachSkill(ItemSkillType.NORMAL, holder ->
|
||||
{
|
||||
final Skill skill = holder.getSkill();
|
||||
if (skill.isPassive())
|
||||
@ -2005,7 +2005,7 @@ public class Item extends WorldObject
|
||||
|
||||
public int getEquipReuseDelay()
|
||||
{
|
||||
return _item.getEquipReuseDelay();
|
||||
return _itemTemplate.getEquipReuseDelay();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -2026,11 +2026,11 @@ public class Item extends WorldObject
|
||||
|
||||
if (event != null)
|
||||
{
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnItemBypassEvent(this, player, event), getItem());
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnItemBypassEvent(this, player, event), getTemplate());
|
||||
}
|
||||
else
|
||||
{
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnItemTalk(this, player), getItem());
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnItemTalk(this, player), getTemplate());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -246,7 +246,7 @@ public abstract class Inventory extends ItemContainer
|
||||
|
||||
if (item.getItemType() == WeaponType.BOW)
|
||||
{
|
||||
final Item arrow = inventory.findArrowForBow(item.getItem());
|
||||
final Item arrow = inventory.findArrowForBow(item.getTemplate());
|
||||
if (arrow != null)
|
||||
{
|
||||
inventory.setPaperdollItem(PAPERDOLL_LHAND, arrow);
|
||||
@ -254,7 +254,7 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
else if ((item.getItemType() == WeaponType.CROSSBOW) || (item.getItemType() == WeaponType.TWOHANDCROSSBOW))
|
||||
{
|
||||
final Item bolts = inventory.findBoltForCrossBow(item.getItem());
|
||||
final Item bolts = inventory.findBoltForCrossBow(item.getTemplate());
|
||||
if (bolts != null)
|
||||
{
|
||||
inventory.setPaperdollItem(PAPERDOLL_LHAND, bolts);
|
||||
@ -303,7 +303,7 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
final Player player = (Player) inventory.getOwner();
|
||||
final ItemTemplate it = item.getItem();
|
||||
final ItemTemplate it = item.getTemplate();
|
||||
final Map<Integer, Skill> addedSkills = new HashMap<>(1);
|
||||
final Map<Integer, Skill> removedSkills = new HashMap<>(1);
|
||||
boolean update = false;
|
||||
@ -365,7 +365,7 @@ public abstract class Inventory extends ItemContainer
|
||||
continue;
|
||||
}
|
||||
|
||||
final List<ItemSkillHolder> otherNormalSkills = itm.getItem().getSkills(ItemSkillType.NORMAL);
|
||||
final List<ItemSkillHolder> otherNormalSkills = itm.getTemplate().getSkills(ItemSkillType.NORMAL);
|
||||
if (otherNormalSkills == null)
|
||||
{
|
||||
continue;
|
||||
@ -416,12 +416,12 @@ public abstract class Inventory extends ItemContainer
|
||||
// Must check all equipped items for enchant conditions.
|
||||
for (Item equipped : inventory.getPaperdollItems())
|
||||
{
|
||||
if (!equipped.getItem().hasSkills())
|
||||
if (!equipped.getTemplate().hasSkills())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final List<ItemSkillHolder> otherEnchantSkills = equipped.getItem().getSkills(ItemSkillType.ON_ENCHANT);
|
||||
final List<ItemSkillHolder> otherEnchantSkills = equipped.getTemplate().getSkills(ItemSkillType.ON_ENCHANT);
|
||||
if (otherEnchantSkills == null)
|
||||
{
|
||||
continue;
|
||||
@ -499,7 +499,7 @@ public abstract class Inventory extends ItemContainer
|
||||
|
||||
final Player player = (Player) inventory.getOwner();
|
||||
// Any items equipped that result in expertise penalty do not give any skills at all.
|
||||
if (item.getItem().getCrystalType().getLevel() > player.getExpertiseLevel())
|
||||
if (item.getTemplate().getCrystalType().getLevel() > player.getExpertiseLevel())
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -519,9 +519,9 @@ public abstract class Inventory extends ItemContainer
|
||||
// Apply enchant stats
|
||||
item.applyEnchantStats();
|
||||
|
||||
if (item.getItem().hasSkills())
|
||||
if (item.getTemplate().hasSkills())
|
||||
{
|
||||
final List<ItemSkillHolder> onEnchantSkills = item.getItem().getSkills(ItemSkillType.ON_ENCHANT);
|
||||
final List<ItemSkillHolder> onEnchantSkills = item.getTemplate().getSkills(ItemSkillType.ON_ENCHANT);
|
||||
if (onEnchantSkills != null)
|
||||
{
|
||||
for (ItemSkillHolder holder : onEnchantSkills)
|
||||
@ -563,7 +563,7 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
}
|
||||
|
||||
final List<ItemSkillHolder> normalSkills = item.getItem().getSkills(ItemSkillType.NORMAL);
|
||||
final List<ItemSkillHolder> normalSkills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
|
||||
if (normalSkills != null)
|
||||
{
|
||||
for (ItemSkillHolder holder : normalSkills)
|
||||
@ -615,12 +615,12 @@ public abstract class Inventory extends ItemContainer
|
||||
// Must check all equipped items for enchant conditions.
|
||||
for (Item equipped : inventory.getPaperdollItems())
|
||||
{
|
||||
if (!equipped.getItem().hasSkills())
|
||||
if (!equipped.getTemplate().hasSkills())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final List<ItemSkillHolder> otherEnchantSkills = equipped.getItem().getSkills(ItemSkillType.ON_ENCHANT);
|
||||
final List<ItemSkillHolder> otherEnchantSkills = equipped.getTemplate().getSkills(ItemSkillType.ON_ENCHANT);
|
||||
if (otherEnchantSkills == null)
|
||||
{
|
||||
continue;
|
||||
@ -666,7 +666,7 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
|
||||
// Apply skill, if weapon have "skills on equip"
|
||||
item.getItem().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
||||
item.getTemplate().forEachSkill(ItemSkillType.ON_EQUIP, holder -> holder.getSkill().activateSkill(player, player));
|
||||
|
||||
if (!addedSkills.isEmpty())
|
||||
{
|
||||
@ -727,7 +727,7 @@ public abstract class Inventory extends ItemContainer
|
||||
player.sendSkillList();
|
||||
}
|
||||
|
||||
if ((item.getItem().getBodyPart() == ItemTemplate.SLOT_BROOCH_JEWEL) || (item.getItem().getBodyPart() == ItemTemplate.SLOT_BROOCH))
|
||||
if ((item.getTemplate().getBodyPart() == ItemTemplate.SLOT_BROOCH_JEWEL) || (item.getTemplate().getBodyPart() == ItemTemplate.SLOT_BROOCH))
|
||||
{
|
||||
player.updateActiveBroochJewel();
|
||||
}
|
||||
@ -872,7 +872,7 @@ public abstract class Inventory extends ItemContainer
|
||||
player.sendSkillList();
|
||||
}
|
||||
|
||||
if ((item.getItem().getBodyPart() == ItemTemplate.SLOT_BROOCH_JEWEL) || (item.getItem().getBodyPart() == ItemTemplate.SLOT_BROOCH))
|
||||
if ((item.getTemplate().getBodyPart() == ItemTemplate.SLOT_BROOCH_JEWEL) || (item.getTemplate().getBodyPart() == ItemTemplate.SLOT_BROOCH))
|
||||
{
|
||||
player.updateActiveBroochJewel();
|
||||
}
|
||||
@ -897,7 +897,7 @@ public abstract class Inventory extends ItemContainer
|
||||
return;
|
||||
}
|
||||
|
||||
if (item.getItem().getBodyPart() == ItemTemplate.SLOT_R_BRACELET)
|
||||
if (item.getTemplate().getBodyPart() == ItemTemplate.SLOT_R_BRACELET)
|
||||
{
|
||||
inventory.unEquipItemInSlot(PAPERDOLL_DECO1);
|
||||
inventory.unEquipItemInSlot(PAPERDOLL_DECO2);
|
||||
@ -933,7 +933,7 @@ public abstract class Inventory extends ItemContainer
|
||||
return;
|
||||
}
|
||||
|
||||
if (item.getItem().getBodyPart() == ItemTemplate.SLOT_BROOCH)
|
||||
if (item.getTemplate().getBodyPart() == ItemTemplate.SLOT_BROOCH)
|
||||
{
|
||||
inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL1);
|
||||
inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_JEWEL2);
|
||||
@ -1331,7 +1331,7 @@ public abstract class Inventory extends ItemContainer
|
||||
if (old != null)
|
||||
{
|
||||
// Prevent flood from using items with skills.
|
||||
if (old.getItem().hasSkills())
|
||||
if (old.getTemplate().hasSkills())
|
||||
{
|
||||
checkEquipTask();
|
||||
}
|
||||
@ -1350,7 +1350,7 @@ public abstract class Inventory extends ItemContainer
|
||||
final Item pi = _paperdoll[i];
|
||||
if (pi != null)
|
||||
{
|
||||
mask |= pi.getItem().getItemMask();
|
||||
mask |= pi.getTemplate().getItemMask();
|
||||
}
|
||||
}
|
||||
_wearedMask = mask;
|
||||
@ -1372,7 +1372,7 @@ public abstract class Inventory extends ItemContainer
|
||||
if (item != null)
|
||||
{
|
||||
// Prevent flood from using items with skills.
|
||||
if (item.getItem().hasSkills())
|
||||
if (item.getTemplate().hasSkills())
|
||||
{
|
||||
checkEquipTask();
|
||||
}
|
||||
@ -1385,7 +1385,7 @@ public abstract class Inventory extends ItemContainer
|
||||
item.setLastChange(Item.MODIFIED);
|
||||
|
||||
// Notify all paperdoll listener in order to equip item in slot
|
||||
_wearedMask |= item.getItem().getItemMask();
|
||||
_wearedMask |= item.getTemplate().getItemMask();
|
||||
for (PaperdollListener listener : _paperdollListeners)
|
||||
{
|
||||
if (listener == null)
|
||||
@ -1413,7 +1413,7 @@ public abstract class Inventory extends ItemContainer
|
||||
final Creature owner = getOwner();
|
||||
if ((owner != null) && owner.isPlayer())
|
||||
{
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemUnequip(owner.getActingPlayer(), old), old.getItem());
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemUnequip(owner.getActingPlayer(), old), old.getTemplate());
|
||||
}
|
||||
}
|
||||
|
||||
@ -1515,7 +1515,7 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
case PAPERDOLL_CHEST:
|
||||
{
|
||||
slot = item.getItem().getBodyPart();
|
||||
slot = item.getTemplate().getBodyPart();
|
||||
break;
|
||||
}
|
||||
case PAPERDOLL_LEGS:
|
||||
@ -1823,7 +1823,7 @@ public abstract class Inventory extends ItemContainer
|
||||
final ItemType weaponItemType = weapon.getItemType();
|
||||
if ((((weaponItemType == WeaponType.BOW) && (itemType == EtcItemType.ARROW)) //
|
||||
|| (((weaponItemType == WeaponType.CROSSBOW) || (weaponItemType == WeaponType.TWOHANDCROSSBOW)) && (itemType == EtcItemType.BOLT))) //
|
||||
&& (weapon.getItem().getCrystalTypePlus() != item.getItem().getCrystalTypePlus()))
|
||||
&& (weapon.getTemplate().getCrystalTypePlus() != item.getTemplate().getCrystalTypePlus()))
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -1837,11 +1837,11 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
}
|
||||
|
||||
final int targetSlot = item.getItem().getBodyPart();
|
||||
final int targetSlot = item.getTemplate().getBodyPart();
|
||||
|
||||
// Check if player is using Formal Wear and item isn't Wedding Bouquet.
|
||||
final Item formal = getPaperdollItem(PAPERDOLL_CHEST);
|
||||
if ((item.getId() != 21163) && (formal != null) && (formal.getItem().getBodyPart() == ItemTemplate.SLOT_ALLDRESS))
|
||||
if ((item.getId() != 21163) && (formal != null) && (formal.getTemplate().getBodyPart() == ItemTemplate.SLOT_ALLDRESS))
|
||||
{
|
||||
// only chest target can pass this
|
||||
switch (targetSlot)
|
||||
@ -1870,7 +1870,7 @@ public abstract class Inventory extends ItemContainer
|
||||
case ItemTemplate.SLOT_L_HAND:
|
||||
{
|
||||
final Item rh = getPaperdollItem(PAPERDOLL_RHAND);
|
||||
if ((rh != null) && (rh.getItem().getBodyPart() == ItemTemplate.SLOT_LR_HAND) && !(((rh.getItemType() == WeaponType.BOW) && (item.getItemType() == EtcItemType.ARROW)) || (((rh.getItemType() == WeaponType.CROSSBOW) || (rh.getItemType() == WeaponType.TWOHANDCROSSBOW)) && (item.getItemType() == EtcItemType.BOLT)) || ((rh.getItemType() == WeaponType.FISHINGROD) && (item.getItemType() == EtcItemType.LURE))))
|
||||
if ((rh != null) && (rh.getTemplate().getBodyPart() == ItemTemplate.SLOT_LR_HAND) && !(((rh.getItemType() == WeaponType.BOW) && (item.getItemType() == EtcItemType.ARROW)) || (((rh.getItemType() == WeaponType.CROSSBOW) || (rh.getItemType() == WeaponType.TWOHANDCROSSBOW)) && (item.getItemType() == EtcItemType.BOLT)) || ((rh.getItemType() == WeaponType.FISHINGROD) && (item.getItemType() == EtcItemType.LURE))))
|
||||
{
|
||||
setPaperdollItem(PAPERDOLL_RHAND, null);
|
||||
}
|
||||
@ -1939,7 +1939,7 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
// handle full armor
|
||||
final Item chest = getPaperdollItem(PAPERDOLL_CHEST);
|
||||
if ((chest != null) && (chest.getItem().getBodyPart() == ItemTemplate.SLOT_FULL_ARMOR))
|
||||
if ((chest != null) && (chest.getTemplate().getBodyPart() == ItemTemplate.SLOT_FULL_ARMOR))
|
||||
{
|
||||
setPaperdollItem(PAPERDOLL_CHEST, null);
|
||||
}
|
||||
@ -1964,7 +1964,7 @@ public abstract class Inventory extends ItemContainer
|
||||
case ItemTemplate.SLOT_HAIR:
|
||||
{
|
||||
final Item hair = getPaperdollItem(PAPERDOLL_HAIR);
|
||||
if ((hair != null) && (hair.getItem().getBodyPart() == ItemTemplate.SLOT_HAIRALL))
|
||||
if ((hair != null) && (hair.getTemplate().getBodyPart() == ItemTemplate.SLOT_HAIRALL))
|
||||
{
|
||||
setPaperdollItem(PAPERDOLL_HAIR2, null);
|
||||
}
|
||||
@ -1978,7 +1978,7 @@ public abstract class Inventory extends ItemContainer
|
||||
case ItemTemplate.SLOT_HAIR2:
|
||||
{
|
||||
final Item hair2 = getPaperdollItem(PAPERDOLL_HAIR);
|
||||
if ((hair2 != null) && (hair2.getItem().getBodyPart() == ItemTemplate.SLOT_HAIRALL))
|
||||
if ((hair2 != null) && (hair2.getTemplate().getBodyPart() == ItemTemplate.SLOT_HAIRALL))
|
||||
{
|
||||
setPaperdollItem(PAPERDOLL_HAIR, null);
|
||||
}
|
||||
@ -2063,9 +2063,9 @@ public abstract class Inventory extends ItemContainer
|
||||
long weight = 0;
|
||||
for (Item item : _items)
|
||||
{
|
||||
if ((item != null) && (item.getItem() != null))
|
||||
if ((item != null) && (item.getTemplate() != null))
|
||||
{
|
||||
weight += item.getItem().getWeight() * item.getCount();
|
||||
weight += item.getTemplate().getWeight() * item.getCount();
|
||||
}
|
||||
}
|
||||
_totalWeight = (int) Math.min(weight, Integer.MAX_VALUE);
|
||||
@ -2094,7 +2094,7 @@ public abstract class Inventory extends ItemContainer
|
||||
Item arrow = null;
|
||||
for (Item item : _items)
|
||||
{
|
||||
if (item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.ARROW) && (item.getItem().getCrystalTypePlus() == bow.getCrystalTypePlus()))
|
||||
if (item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.ARROW) && (item.getTemplate().getCrystalTypePlus() == bow.getCrystalTypePlus()))
|
||||
{
|
||||
arrow = item;
|
||||
break;
|
||||
@ -2115,7 +2115,7 @@ public abstract class Inventory extends ItemContainer
|
||||
Item bolt = null;
|
||||
for (Item item : _items)
|
||||
{
|
||||
if (item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.BOLT) && (item.getItem().getCrystalTypePlus() == crossbow.getCrystalTypePlus()))
|
||||
if (item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.BOLT) && (item.getTemplate().getCrystalTypePlus() == crossbow.getCrystalTypePlus()))
|
||||
{
|
||||
bolt = item;
|
||||
break;
|
||||
|
@ -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());
|
||||
}
|
||||
|
@ -427,7 +427,7 @@ public class PlayerInventory extends Inventory
|
||||
}
|
||||
|
||||
// Notify to scripts
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemAdd(actor, addedItem), actor, addedItem.getItem());
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemAdd(actor, addedItem), actor, addedItem.getTemplate());
|
||||
}
|
||||
}
|
||||
return addedItem;
|
||||
@ -502,7 +502,7 @@ public class PlayerInventory extends Inventory
|
||||
}
|
||||
|
||||
// Notify to scripts
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemAdd(actor, item), actor, item.getItem());
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemAdd(actor, item), actor, item.getTemplate());
|
||||
}
|
||||
return item;
|
||||
}
|
||||
@ -533,7 +533,7 @@ public class PlayerInventory extends Inventory
|
||||
}
|
||||
|
||||
// Notify to scripts
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemTransfer(actor, item, target), item.getItem());
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemTransfer(actor, item, target), item.getTemplate());
|
||||
|
||||
return item;
|
||||
}
|
||||
@ -589,7 +589,7 @@ public class PlayerInventory extends Inventory
|
||||
// Notify to scripts
|
||||
if (destroyedItem != null)
|
||||
{
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDestroy(actor, destroyedItem), destroyedItem.getItem());
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDestroy(actor, destroyedItem), destroyedItem.getTemplate());
|
||||
}
|
||||
|
||||
return destroyedItem;
|
||||
@ -662,7 +662,7 @@ public class PlayerInventory extends Inventory
|
||||
// Notify to scripts
|
||||
if (droppedItem != null)
|
||||
{
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(actor, droppedItem, droppedItem.getLocation()), droppedItem.getItem());
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(actor, droppedItem, droppedItem.getLocation()), droppedItem.getTemplate());
|
||||
}
|
||||
|
||||
return droppedItem;
|
||||
@ -695,7 +695,7 @@ public class PlayerInventory extends Inventory
|
||||
// Notify to scripts
|
||||
if (item != null)
|
||||
{
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(actor, item, item.getLocation()), item.getItem());
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(actor, item, item.getLocation()), item.getTemplate());
|
||||
}
|
||||
|
||||
return item;
|
||||
@ -865,7 +865,7 @@ public class PlayerInventory extends Inventory
|
||||
public boolean validateCapacity(Item item)
|
||||
{
|
||||
int slots = 0;
|
||||
if (!item.isStackable() || ((getInventoryItemCount(item.getId(), -1) <= 0) && !item.getItem().hasExImmediateEffect()))
|
||||
if (!item.isStackable() || ((getInventoryItemCount(item.getId(), -1) <= 0) && !item.getTemplate().hasExImmediateEffect()))
|
||||
{
|
||||
slots++;
|
||||
}
|
||||
|
@ -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 int bodypart = item.getBodyPart();
|
||||
if ((bodypart == ItemTemplate.SLOT_HAIR) || //
|
||||
(bodypart == ItemTemplate.SLOT_HAIR2) || //
|
||||
@ -171,7 +171,7 @@ public interface IStatFunction
|
||||
*/
|
||||
static double calcEnchantDefBonus(Item item, double blessedBonus, int enchant)
|
||||
{
|
||||
switch (item.getItem().getCrystalTypePlus())
|
||||
switch (item.getTemplate().getCrystalTypePlus())
|
||||
{
|
||||
case R:
|
||||
{
|
||||
@ -192,7 +192,7 @@ public interface IStatFunction
|
||||
*/
|
||||
static double calcEnchantMatkBonus(Item item, double blessedBonus, int enchant)
|
||||
{
|
||||
switch (item.getItem().getCrystalTypePlus())
|
||||
switch (item.getTemplate().getCrystalTypePlus())
|
||||
{
|
||||
case R:
|
||||
{
|
||||
@ -229,7 +229,7 @@ public interface IStatFunction
|
||||
*/
|
||||
static double calcEnchantedPAtkBonus(Item item, double blessedBonus, int enchant)
|
||||
{
|
||||
switch (item.getItem().getCrystalTypePlus())
|
||||
switch (item.getTemplate().getCrystalTypePlus())
|
||||
{
|
||||
case R:
|
||||
{
|
||||
|
@ -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 int bodyPart = item.getItem().getBodyPart();
|
||||
final int bodyPart = item.getTemplate().getBodyPart();
|
||||
if ((bodyPart != ItemTemplate.SLOT_NECK) && (bodyPart != ItemTemplate.SLOT_LR_EAR) && (bodyPart != ItemTemplate.SLOT_LR_FINGER))
|
||||
{
|
||||
addItem += EnchantItemHPBonusData.getInstance().getHPBonus(item);
|
||||
|
@ -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 ?
|
||||
}
|
||||
|
@ -462,7 +462,7 @@ public class MultiSellChoose implements IClientIncomingPacket
|
||||
final Item addedItem = inventory.addItem("Multisell", product.getId(), totalCount, player, npc, false);
|
||||
|
||||
// Check if the newly given item should be enchanted.
|
||||
if (itemEnchantmentProcessed && list.isMaintainEnchantment() && (itemEnchantment != null) && addedItem.isEquipable() && addedItem.getItem().getClass().equals(itemEnchantment.getItem().getClass()))
|
||||
if (itemEnchantmentProcessed && list.isMaintainEnchantment() && (itemEnchantment != null) && addedItem.isEquipable() && addedItem.getTemplate().getClass().equals(itemEnchantment.getItem().getClass()))
|
||||
{
|
||||
addedItem.setEnchantLevel(itemEnchantment.getEnchantLevel());
|
||||
addedItem.setAugmentation(itemEnchantment.getAugmentation(), false);
|
||||
|
@ -72,7 +72,7 @@ public class RequestAutoSoulShot implements IClientIncomingPacket
|
||||
return;
|
||||
}
|
||||
|
||||
if (isSummonShot(item.getItem()))
|
||||
if (isSummonShot(item.getTemplate()))
|
||||
{
|
||||
if (player.hasSummon())
|
||||
{
|
||||
@ -124,7 +124,7 @@ public class RequestAutoSoulShot implements IClientIncomingPacket
|
||||
if (pet != null)
|
||||
{
|
||||
// Send message
|
||||
if (!pet.isChargedShot(item.getItem().getDefaultAction() == ActionType.SUMMON_SOULSHOT ? ShotType.SOULSHOTS : ((item.getId() == 6647) || (item.getId() == 20334)) ? ShotType.BLESSED_SPIRITSHOTS : ShotType.SPIRITSHOTS))
|
||||
if (!pet.isChargedShot(item.getTemplate().getDefaultAction() == ActionType.SUMMON_SOULSHOT ? ShotType.SOULSHOTS : ((item.getId() == 6647) || (item.getId() == 20334)) ? ShotType.BLESSED_SPIRITSHOTS : ShotType.SPIRITSHOTS))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.THE_AUTOMATIC_USE_OF_S1_HAS_BEEN_ACTIVATED);
|
||||
sm.addItemName(item);
|
||||
@ -136,7 +136,7 @@ public class RequestAutoSoulShot implements IClientIncomingPacket
|
||||
for (Summon summon : player.getServitors().values())
|
||||
{
|
||||
// Send message
|
||||
if (!summon.isChargedShot(item.getItem().getDefaultAction() == ActionType.SUMMON_SOULSHOT ? ShotType.SOULSHOTS : ((item.getId() == 6647) || (item.getId() == 20334)) ? ShotType.BLESSED_SPIRITSHOTS : ShotType.SPIRITSHOTS))
|
||||
if (!summon.isChargedShot(item.getTemplate().getDefaultAction() == ActionType.SUMMON_SOULSHOT ? ShotType.SOULSHOTS : ((item.getId() == 6647) || (item.getId() == 20334)) ? ShotType.BLESSED_SPIRITSHOTS : ShotType.SPIRITSHOTS))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.THE_AUTOMATIC_USE_OF_S1_HAS_BEEN_ACTIVATED);
|
||||
sm.addItemName(item);
|
||||
@ -151,12 +151,12 @@ public class RequestAutoSoulShot implements IClientIncomingPacket
|
||||
player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_A_SERVITOR_OR_PET_AND_THEREFORE_CANNOT_USE_THE_AUTOMATIC_USE_FUNCTION);
|
||||
}
|
||||
}
|
||||
else if (isPlayerShot(item.getItem()))
|
||||
else if (isPlayerShot(item.getTemplate()))
|
||||
{
|
||||
final boolean isSoulshot = item.getEtcItem().getDefaultAction() == ActionType.SOULSHOT;
|
||||
final boolean isSpiritshot = item.getEtcItem().getDefaultAction() == ActionType.SPIRITSHOT;
|
||||
final boolean isFishingshot = item.getEtcItem().getDefaultAction() == ActionType.FISHINGSHOT;
|
||||
if ((player.getActiveWeaponItem() == player.getFistsWeaponItem()) || (item.getItem().getCrystalType() != player.getActiveWeaponItem().getCrystalTypePlus()))
|
||||
if ((player.getActiveWeaponItem() == player.getFistsWeaponItem()) || (item.getTemplate().getCrystalType() != player.getActiveWeaponItem().getCrystalTypePlus()))
|
||||
{
|
||||
player.sendPacket(isSoulshot ? SystemMessageId.THE_SOULSHOT_YOU_ARE_ATTEMPTING_TO_USE_DOES_NOT_MATCH_THE_GRADE_OF_YOUR_EQUIPPED_WEAPON : SystemMessageId.YOUR_SPIRITSHOT_DOES_NOT_MATCH_THE_WEAPON_S_GRADE);
|
||||
return;
|
||||
|
@ -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;
|
||||
|
@ -118,7 +118,7 @@ public class RequestEnchantItem implements IClientIncomingPacket
|
||||
}
|
||||
|
||||
// first validation check - also over enchant check
|
||||
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && ((item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel()) || (!(item.getItem().getEnchantLimit() == 0) && (item.getEnchantLevel() == item.getItem().getEnchantLimit())))))
|
||||
if (!scrollTemplate.isValid(item, supportTemplate) || (Config.DISABLE_OVER_ENCHANTING && ((item.getEnchantLevel() == scrollTemplate.getMaxEnchantLevel()) || (!(item.getTemplate().getEnchantLimit() == 0) && (item.getEnchantLevel() == item.getTemplate().getEnchantLimit())))))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
||||
player.removeRequest(request.getClass());
|
||||
@ -179,7 +179,7 @@ public class RequestEnchantItem implements IClientIncomingPacket
|
||||
}
|
||||
case SUCCESS:
|
||||
{
|
||||
final ItemTemplate it = item.getItem();
|
||||
final ItemTemplate it = item.getTemplate();
|
||||
// Increase enchant level only if scroll's base template has chance, some armors can success over +20 but they shouldn't have increased.
|
||||
if (scrollTemplate.getChance(player, item) > 0)
|
||||
{
|
||||
@ -384,13 +384,13 @@ public class RequestEnchantItem implements IClientIncomingPacket
|
||||
World.getInstance().removeObject(item);
|
||||
|
||||
int count = 0;
|
||||
if (item.getItem().isCrystallizable())
|
||||
if (item.getTemplate().isCrystallizable())
|
||||
{
|
||||
count = Math.max(0, item.getCrystalCount() - ((item.getItem().getCrystalCount() + 1) / 2));
|
||||
count = Math.max(0, item.getCrystalCount() - ((item.getTemplate().getCrystalCount() + 1) / 2));
|
||||
}
|
||||
|
||||
Item crystals = null;
|
||||
final int crystalId = item.getItem().getCrystalItemId();
|
||||
final int crystalId = item.getTemplate().getCrystalItemId();
|
||||
if (count > 0)
|
||||
{
|
||||
crystals = player.getInventory().addItem("Enchant", crystalId, count, player, item);
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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();
|
||||
|
@ -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,13 +198,13 @@ public class UseItem implements IClientIncomingPacket
|
||||
return;
|
||||
}
|
||||
|
||||
if (player.getInventory().isItemSlotBlocked(item.getItem().getBodyPart()))
|
||||
if (player.getInventory().isItemSlotBlocked(item.getTemplate().getBodyPart()))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_DO_NOT_MEET_THE_REQUIRED_CONDITION_TO_EQUIP_THAT_ITEM);
|
||||
return;
|
||||
}
|
||||
|
||||
switch (item.getItem().getBodyPart())
|
||||
switch (item.getTemplate().getBodyPart())
|
||||
{
|
||||
case ItemTemplate.SLOT_LR_HAND:
|
||||
case ItemTemplate.SLOT_L_HAND:
|
||||
|
@ -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:
|
||||
{
|
||||
|
@ -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:
|
||||
{
|
||||
|
@ -49,7 +49,7 @@ public class PrivateStoreManageListBuy extends AbstractItemPacket
|
||||
for (Item item : _itemList)
|
||||
{
|
||||
writeItem(packet, item);
|
||||
packet.writeQ(item.getItem().getReferencePrice() * 2);
|
||||
packet.writeQ(item.getTemplate().getReferencePrice() * 2);
|
||||
}
|
||||
packet.writeD(_buyList.size()); // count for all items already added for buy
|
||||
for (TradeItem item : _buyList)
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
{
|
||||
|
@ -181,10 +181,10 @@ public class AdminElement implements IAdminCommandHandler
|
||||
player.sendInventoryUpdate(iu);
|
||||
|
||||
// informations
|
||||
BuilderUtil.sendSysMessage(activeChar, "Changed elemental power of " + player.getName() + "'s " + itemInstance.getItem().getName() + " from " + old + " to " + current + ".");
|
||||
BuilderUtil.sendSysMessage(activeChar, "Changed elemental power of " + player.getName() + "'s " + itemInstance.getTemplate().getName() + " from " + old + " to " + current + ".");
|
||||
if (player != activeChar)
|
||||
{
|
||||
player.sendMessage(activeChar.getName() + " has changed the elemental power of your " + itemInstance.getItem().getName() + " from " + old + " to " + current + ".");
|
||||
player.sendMessage(activeChar.getName() + " has changed the elemental power of your " + itemInstance.getTemplate().getName() + " from " + old + " to " + current + ".");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -203,8 +203,8 @@ public class AdminEnchant implements IAdminCommandHandler
|
||||
player.broadcastUserInfo();
|
||||
|
||||
// informations
|
||||
BuilderUtil.sendSysMessage(activeChar, "Changed enchantment of " + player.getName() + "'s " + itemInstance.getItem().getName() + " from " + curEnchant + " to " + ench + ".");
|
||||
player.sendMessage("Admin has changed the enchantment of your " + itemInstance.getItem().getName() + " from " + curEnchant + " to " + ench + ".");
|
||||
BuilderUtil.sendSysMessage(activeChar, "Changed enchantment of " + player.getName() + "'s " + itemInstance.getTemplate().getName() + " from " + curEnchant + " to " + ench + ".");
|
||||
player.sendMessage("Admin has changed the enchantment of your " + itemInstance.getTemplate().getName() + " from " + curEnchant + " to " + ench + ".");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -86,7 +86,7 @@ public class ConvertItem extends AbstractEffect
|
||||
|
||||
final int enchantLevel = wpn.getEnchantLevel();
|
||||
final AttributeHolder elementals = wpn.getAttributes() == null ? null : wpn.getAttackAttribute();
|
||||
final List<Item> unequipped = player.getInventory().unEquipItemInBodySlotAndRecord(wpn.getItem().getBodyPart());
|
||||
final List<Item> unequipped = player.getInventory().unEquipItemInBodySlotAndRecord(wpn.getTemplate().getBodyPart());
|
||||
final InventoryUpdate iu = new InventoryUpdate();
|
||||
for (Item unequippedItem : unequipped)
|
||||
{
|
||||
@ -102,7 +102,7 @@ public class ConvertItem extends AbstractEffect
|
||||
byte count = 0;
|
||||
for (Item unequippedItem : unequipped)
|
||||
{
|
||||
if (!(unequippedItem.getItem() instanceof Weapon))
|
||||
if (!(unequippedItem.getTemplate() instanceof Weapon))
|
||||
{
|
||||
count++;
|
||||
continue;
|
||||
|
@ -99,7 +99,7 @@ public class Heal extends AbstractEffect
|
||||
final Item weaponInst = effector.getActiveWeaponInstance();
|
||||
if (weaponInst != null)
|
||||
{
|
||||
mAtkMul = weaponInst.getItem().getCrystalTypePlus() == CrystalType.R ? 4 : weaponInst.getItem().getCrystalTypePlus() == CrystalType.S ? 2 : 1;
|
||||
mAtkMul = weaponInst.getTemplate().getCrystalTypePlus() == CrystalType.R ? 4 : weaponInst.getTemplate().getCrystalTypePlus() == CrystalType.S ? 2 : 1;
|
||||
}
|
||||
// shot dynamic bonus
|
||||
mAtkMul = bss ? mAtkMul * 4 : mAtkMul + 1;
|
||||
|
@ -95,7 +95,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
final Item weaponInst = effector.getActiveWeaponInstance();
|
||||
if (weaponInst != null)
|
||||
{
|
||||
mAtkMul = weaponInst.getItem().getCrystalTypePlus() == CrystalType.R ? 4 : weaponInst.getItem().getCrystalTypePlus() == CrystalType.S ? 2 : 1;
|
||||
mAtkMul = weaponInst.getTemplate().getCrystalTypePlus() == CrystalType.R ? 4 : weaponInst.getTemplate().getCrystalTypePlus() == CrystalType.S ? 2 : 1;
|
||||
}
|
||||
// shot dynamic bonus
|
||||
mAtkMul = bss ? mAtkMul * 4 : mAtkMul + 1;
|
||||
|
@ -132,7 +132,7 @@ public class RestorationRandom extends AbstractEffect
|
||||
final InventoryUpdate playerIU = new InventoryUpdate();
|
||||
for (Entry<Item, Long> entry : extractedItems.entrySet())
|
||||
{
|
||||
if (entry.getKey().getItem().isStackable())
|
||||
if (entry.getKey().getTemplate().isStackable())
|
||||
{
|
||||
playerIU.addModifiedItem(entry.getKey());
|
||||
}
|
||||
|
@ -77,7 +77,7 @@ public class BeastSoulShot implements IItemHandler
|
||||
|
||||
final int itemId = item.getId();
|
||||
final long shotCount = item.getCount();
|
||||
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL);
|
||||
final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
|
||||
short shotConsumption = 0;
|
||||
if ((pet != null) && !pet.isChargedShot(ShotType.SOULSHOTS))
|
||||
{
|
||||
|
@ -77,7 +77,7 @@ public class BeastSpiritShot implements IItemHandler
|
||||
|
||||
final int itemId = item.getId();
|
||||
final boolean isBlessed = ((itemId == 6647) || (itemId == 20334)); // TODO: Unhardcode these!
|
||||
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL);
|
||||
final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
|
||||
final ShotType shotType = isBlessed ? ShotType.BLESSED_SPIRITSHOTS : ShotType.SPIRITSHOTS;
|
||||
short shotConsumption = 0;
|
||||
if ((pet != null) && !pet.isChargedShot(shotType))
|
||||
|
@ -49,7 +49,7 @@ public class BlessedSoulShots implements IItemHandler
|
||||
final Player player = playable.getActingPlayer();
|
||||
final Item weaponInst = player.getActiveWeaponInstance();
|
||||
final Weapon weaponItem = player.getActiveWeaponItem();
|
||||
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL);
|
||||
final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
|
||||
if (skills == null)
|
||||
{
|
||||
LOGGER.warning(getClass().getSimpleName() + ": is missing skills!");
|
||||
@ -68,7 +68,7 @@ public class BlessedSoulShots implements IItemHandler
|
||||
return false;
|
||||
}
|
||||
|
||||
final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SOULSHOT) && (weaponInst.getItem().getCrystalTypePlus() == item.getItem().getCrystalTypePlus());
|
||||
final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SOULSHOT) && (weaponInst.getTemplate().getCrystalTypePlus() == item.getTemplate().getCrystalTypePlus());
|
||||
if (!gradeCheck)
|
||||
{
|
||||
if (!player.getAutoSoulShot().contains(itemId))
|
||||
|
@ -45,7 +45,7 @@ public class BlessedSpiritShot implements IItemHandler
|
||||
final Player player = playable.getActingPlayer();
|
||||
final Item weaponInst = player.getActiveWeaponInstance();
|
||||
final Weapon weaponItem = player.getActiveWeaponItem();
|
||||
final List<ItemSkillHolder> skills = item.getItem().getSkills(ItemSkillType.NORMAL);
|
||||
final List<ItemSkillHolder> skills = item.getTemplate().getSkills(ItemSkillType.NORMAL);
|
||||
if (skills == null)
|
||||
{
|
||||
LOGGER.warning(getClass().getSimpleName() + ": is missing skills!");
|
||||
@ -71,7 +71,7 @@ public class BlessedSpiritShot implements IItemHandler
|
||||
}
|
||||
|
||||
// Check for correct grade
|
||||
final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SPIRITSHOT) && (weaponInst.getItem().getCrystalTypePlus() == item.getItem().getCrystalTypePlus());
|
||||
final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SPIRITSHOT) && (weaponInst.getTemplate().getCrystalTypePlus() == item.getTemplate().getCrystalTypePlus());
|
||||
if (!gradeCheck)
|
||||
{
|
||||
if (!player.getAutoSoulShot().contains(itemId))
|
||||
|
@ -70,7 +70,7 @@ public class ChangeAttributeCrystal implements IItemHandler
|
||||
final List<ItemInfo> itemList = new ArrayList<>();
|
||||
for (Item i : player.getInventory().getItems())
|
||||
{
|
||||
if (i.isWeapon() && i.hasAttributes() && (i.getItem().getItemGrade() == ITEM_GRADES.get(item.getId())))
|
||||
if (i.isWeapon() && i.hasAttributes() && (i.getTemplate().getItemGrade() == ITEM_GRADES.get(item.getId())))
|
||||
{
|
||||
itemList.add(new ItemInfo(i));
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user