Code improvements.

This commit is contained in:
MobiusDev
2016-04-24 16:30:15 +00:00
parent 8bd51aba1c
commit 2dd14bef9b
860 changed files with 8865 additions and 17041 deletions

View File

@ -40,7 +40,6 @@ import com.l2jmobius.gameserver.model.items.L2Item;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.model.items.type.EtcItemType;
import com.l2jmobius.gameserver.model.items.type.WeaponType;
import com.l2jmobius.gameserver.model.skills.BuffInfo;
import com.l2jmobius.gameserver.model.skills.Skill;
import com.l2jmobius.gameserver.network.serverpackets.ExUserInfoEquipSlot;
import com.l2jmobius.gameserver.network.serverpackets.SkillCoolTime;
@ -252,30 +251,21 @@ public abstract class Inventory extends ItemContainer
if (item.getItemType() == WeaponType.BOW)
{
final L2ItemInstance arrow = inventory.getPaperdollItem(PAPERDOLL_LHAND);
if (arrow != null)
if (inventory.getPaperdollItem(PAPERDOLL_LHAND) != null)
{
inventory.setPaperdollItem(PAPERDOLL_LHAND, null);
}
}
else if (item.getItemType() == WeaponType.CROSSBOW)
{
final L2ItemInstance bolts = inventory.getPaperdollItem(PAPERDOLL_LHAND);
if (bolts != null)
if (inventory.getPaperdollItem(PAPERDOLL_LHAND) != null)
{
inventory.setPaperdollItem(PAPERDOLL_LHAND, null);
}
}
else if (item.getItemType() == WeaponType.FISHINGROD)
else if ((item.getItemType() == WeaponType.FISHINGROD) && (inventory.getPaperdollItem(PAPERDOLL_LHAND) != null))
{
final L2ItemInstance lure = inventory.getPaperdollItem(PAPERDOLL_LHAND);
if (lure != null)
{
inventory.setPaperdollItem(PAPERDOLL_LHAND, null);
}
inventory.setPaperdollItem(PAPERDOLL_LHAND, null);
}
}
@ -454,18 +444,18 @@ public abstract class Inventory extends ItemContainer
final Skill itemEquipSkill = it.getEquipSkill();
if (itemEquipSkill != null)
{
final BuffInfo info = player.getEffectList().getBuffInfoBySkillId(itemEquipSkill.getId());
player.getEffectList().remove(true, info);
player.getEffectList().remove(true, player.getEffectList().getBuffInfoBySkillId(itemEquipSkill.getId()));
}
if (update)
if (!update)
{
player.sendSkillList();
if (updateTimeStamp)
{
player.sendPacket(new SkillCoolTime(player));
}
return;
}
player.sendSkillList();
if (updateTimeStamp)
{
player.sendPacket(new SkillCoolTime(player));
}
}
@ -553,14 +543,15 @@ public abstract class Inventory extends ItemContainer
itemEquipSkill.activateSkill(player, player);
}
if (update)
if (!update)
{
player.sendSkillList();
if (updateTimeStamp)
{
player.sendPacket(new SkillCoolTime(player));
}
return;
}
player.sendSkillList();
if (updateTimeStamp)
{
player.sendPacket(new SkillCoolTime(player));
}
}
}
@ -692,40 +683,27 @@ public abstract class Inventory extends ItemContainer
{
update = addSkills(player, item, armorSet.getSkills(), piecesCount);
if (armorSet.containShield(player)) // has shield from set
if (armorSet.containShield(player) && addShieldSkills(player, armorSet.getShieldSkills())) // has shield from set
{
if (addShieldSkills(player, armorSet.getShieldSkills()))
{
update = true;
}
update = true;
}
if (lowestEnchantedItem > 5) // has all parts of set enchanted to 6 or more
if ((lowestEnchantedItem > 5) && addEnchantSkills(player, armorSet.getEnchantSkills(), lowestEnchantedItem)) // has all parts of set enchanted to 6 or more
{
if (addEnchantSkills(player, armorSet.getEnchantSkills(), lowestEnchantedItem))
{
update = true;
}
update = true;
}
}
}
else if (armorSet.containShield(item.getId()))
else if (armorSet.containShield(item.getId()) && addShieldSkills(player, armorSet.getShieldSkills()))
{
if (addShieldSkills(player, armorSet.getShieldSkills()))
{
update = true;
}
update = true;
}
}
final L2ArmorSet visualArmorSet = ArmorSetsData.getInstance().getSet(chestItem.getVisualId());
if ((visualArmorSet != null) && visualArmorSet.isVisual())
if ((visualArmorSet != null) && visualArmorSet.isVisual() && (visualArmorSet.getVisualPiecesCount(player) >= visualArmorSet.getMinimumPieces()))
{
final int pieces = visualArmorSet.getVisualPiecesCount(player);
if (pieces >= visualArmorSet.getMinimumPieces())
{
addSkills(player, item, visualArmorSet.getSkills(), visualArmorSet.getPiecesCount(player));
}
addSkills(player, item, visualArmorSet.getSkills(), visualArmorSet.getPiecesCount(player));
}
if (update)
@ -736,23 +714,23 @@ public abstract class Inventory extends ItemContainer
private boolean removeShieldSkills(L2PcInstance player, List<SkillHolder> shieldSkills)
{
if ((shieldSkills != null) && !shieldSkills.isEmpty())
if ((shieldSkills == null) || shieldSkills.isEmpty())
{
for (SkillHolder holder : shieldSkills)
{
final Skill itemSkill = holder.getSkill();
if (itemSkill != null)
{
player.removeSkill(itemSkill, false, itemSkill.isPassive());
}
else
{
_log.warning("Inventory.ArmorSetListener.removeShieldSkills: Incorrect skill: " + holder + ".");
}
}
return true;
return false;
}
return false;
for (SkillHolder holder : shieldSkills)
{
final Skill itemSkill = holder.getSkill();
if (itemSkill != null)
{
player.removeSkill(itemSkill, false, itemSkill.isPassive());
}
else
{
_log.warning("Inventory.ArmorSetListener.removeShieldSkills: Incorrect skill: " + holder + ".");
}
}
return true;
}
@Override
@ -801,12 +779,9 @@ public abstract class Inventory extends ItemContainer
addSkills(player, null, armorSet.getSkills(), piecesCount);
}
}
else if (armorSet.containShield(item.getId())) // removed shield
else if (armorSet.containShield(item.getId()) && removeShieldSkills(player, armorSet.getShieldSkills())) // removed shield
{
if (removeShieldSkills(player, armorSet.getShieldSkills()))
{
remove = true;
}
remove = true;
}
}
@ -820,21 +795,20 @@ public abstract class Inventory extends ItemContainer
remove = true;
}
}
else if (visualArmorSet.containShield(item.getVisualId())) // removed shield
else if (visualArmorSet.containShield(item.getVisualId()) && removeShieldSkills(player, visualArmorSet.getShieldSkills())) // removed shield
{
if (removeShieldSkills(player, visualArmorSet.getShieldSkills()))
{
remove = true;
}
remove = true;
}
}
}
if (remove)
if (!remove)
{
player.checkItemRestriction();
player.sendSkillList();
return;
}
player.checkItemRestriction();
player.sendSkillList();
}
}
@ -909,15 +883,16 @@ public abstract class Inventory extends ItemContainer
@Override
public void notifyUnequiped(int slot, L2ItemInstance item, Inventory inventory)
{
if (item.getItem().getBodyPart() == L2Item.SLOT_R_BRACELET)
if (item.getItem().getBodyPart() != L2Item.SLOT_R_BRACELET)
{
inventory.unEquipItemInSlot(PAPERDOLL_TALISMAN1);
inventory.unEquipItemInSlot(PAPERDOLL_TALISMAN2);
inventory.unEquipItemInSlot(PAPERDOLL_TALISMAN3);
inventory.unEquipItemInSlot(PAPERDOLL_TALISMAN4);
inventory.unEquipItemInSlot(PAPERDOLL_TALISMAN5);
inventory.unEquipItemInSlot(PAPERDOLL_TALISMAN6);
return;
}
inventory.unEquipItemInSlot(PAPERDOLL_TALISMAN1);
inventory.unEquipItemInSlot(PAPERDOLL_TALISMAN2);
inventory.unEquipItemInSlot(PAPERDOLL_TALISMAN3);
inventory.unEquipItemInSlot(PAPERDOLL_TALISMAN4);
inventory.unEquipItemInSlot(PAPERDOLL_TALISMAN5);
inventory.unEquipItemInSlot(PAPERDOLL_TALISMAN6);
}
// Note (April 3, 2009): Currently on equip, talismans do not display properly, do we need checks here to fix this?
@ -939,15 +914,16 @@ public abstract class Inventory extends ItemContainer
@Override
public void notifyUnequiped(int slot, L2ItemInstance item, Inventory inventory)
{
if (item.getItem().getBodyPart() == L2Item.SLOT_BROOCH)
if (item.getItem().getBodyPart() != L2Item.SLOT_BROOCH)
{
inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_STONE1);
inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_STONE2);
inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_STONE3);
inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_STONE4);
inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_STONE5);
inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_STONE6);
return;
}
inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_STONE1);
inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_STONE2);
inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_STONE3);
inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_STONE4);
inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_STONE5);
inventory.unEquipItemInSlot(PAPERDOLL_BROOCH_STONE6);
}
// Note (April 3, 2009): Currently on equip, talismans do not display properly, do we need checks here to fix this?
@ -1223,11 +1199,7 @@ public abstract class Inventory extends ItemContainer
public L2ItemInstance getPaperdollItemByL2ItemId(int slot)
{
final int index = getPaperdollIndex(slot);
if (index == -1)
{
return null;
}
return _paperdoll[index];
return index == -1 ? null : _paperdoll[index];
}
/**
@ -1237,12 +1209,7 @@ public abstract class Inventory extends ItemContainer
*/
public int getPaperdollItemId(int slot)
{
final L2ItemInstance item = _paperdoll[slot];
if (item != null)
{
return item.getId();
}
return 0;
return _paperdoll[slot] != null ? _paperdoll[slot].getId() : 0;
}
/**
@ -1252,8 +1219,7 @@ public abstract class Inventory extends ItemContainer
*/
public int getPaperdollItemDisplayId(int slot)
{
final L2ItemInstance item = _paperdoll[slot];
return (item != null) ? item.getDisplayId() : 0;
return (_paperdoll[slot] != null) ? _paperdoll[slot].getDisplayId() : 0;
}
/**
@ -1263,14 +1229,12 @@ public abstract class Inventory extends ItemContainer
*/
public int getPaperdollItemVisualId(int slot)
{
final L2ItemInstance item = _paperdoll[slot];
return (item != null) ? item.getVisualId() : 0;
return (_paperdoll[slot] != null) ? _paperdoll[slot].getVisualId() : 0;
}
public int getPaperdollAugmentationId(int slot)
{
final L2ItemInstance item = _paperdoll[slot];
return ((item != null) && (item.getAugmentation() != null)) ? item.getAugmentation().getAugmentationId() : 0;
return ((_paperdoll[slot] != null) && (_paperdoll[slot].getAugmentation() != null)) ? _paperdoll[slot].getAugmentation().getAugmentationId() : 0;
}
public int getPaperdoll1stAugmentationId(int slot)
@ -1290,8 +1254,7 @@ public abstract class Inventory extends ItemContainer
*/
public int getPaperdollObjectId(int slot)
{
final L2ItemInstance item = _paperdoll[slot];
return (item != null) ? item.getObjectId() : 0;
return (_paperdoll[slot] != null) ? _paperdoll[slot].getObjectId() : 0;
}
/**
@ -1335,10 +1298,9 @@ public abstract class Inventory extends ItemContainer
int mask = 0;
for (int i = 0; i < PAPERDOLL_TOTALSLOTS; i++)
{
final L2ItemInstance pi = _paperdoll[i];
if (pi != null)
if (_paperdoll[i] != null)
{
mask |= pi.getItem().getItemMask();
mask |= _paperdoll[i].getItem().getItemMask();
}
}
_wearedMask = mask;
@ -1719,19 +1681,19 @@ public abstract class Inventory extends ItemContainer
_log.info(StringUtil.getTraceString(Thread.currentThread().getStackTrace()));
}
}
if (pdollSlot >= 0)
if (pdollSlot < 0)
{
final L2ItemInstance old = setPaperdollItem(pdollSlot, null);
if (old != null)
{
if (getOwner() instanceof L2PcInstance)
{
((L2PcInstance) getOwner()).refreshExpertisePenalty();
}
}
return old;
return null;
}
return null;
final L2ItemInstance old = setPaperdollItem(pdollSlot, null);
if ((old != null) && (getOwner() instanceof L2PcInstance))
{
{
((L2PcInstance) getOwner()).refreshExpertisePenalty();
}
}
return old;
}
/**
@ -2137,14 +2099,11 @@ public abstract class Inventory extends ItemContainer
// find same (or incompatible) talisman type
for (int i = PAPERDOLL_TALISMAN1; i < (PAPERDOLL_TALISMAN1 + getTalismanSlots()); i++)
{
if (_paperdoll[i] != null)
if ((_paperdoll[i] != null) && (getPaperdollItemId(i) == item.getId()))
{
if (getPaperdollItemId(i) == item.getId())
{
// overwtite
setPaperdollItem(i, item);
return;
}
// overwtite
setPaperdollItem(i, item);
return;
}
}
@ -2177,14 +2136,11 @@ public abstract class Inventory extends ItemContainer
// find same (or incompatible) brooch jewel type
for (int i = PAPERDOLL_BROOCH_STONE1; i < (PAPERDOLL_BROOCH_STONE1 + getBroochJewelSlots()); i++)
{
if (_paperdoll[i] != null)
if ((_paperdoll[i] != null) && (getPaperdollItemId(i) == item.getId()))
{
if (getPaperdollItemId(i) == item.getId())
{
// overwtite
setPaperdollItem(i, item);
return;
}
// overwtite
setPaperdollItem(i, item);
return;
}
}
@ -2246,18 +2202,11 @@ public abstract class Inventory extends ItemContainer
{
return 0;
}
final L2PcInstance player = getOwner().getActingPlayer();
final L2ItemInstance chest = getPaperdollItem(PAPERDOLL_CHEST);
final L2ArmorSet set = chest != null ? ArmorSetsData.getInstance().getSet(chest.getId()) : null;
// No Chest - No Bonus
if ((chest == null) || (set == null))
{
return 0;
}
return set.getLowestSetEnchant(player);
return (chest == null) || (set == null) ? 0 : set.getLowestSetEnchant(player);
}
public int getWeaponEnchant()

View File

@ -236,8 +236,7 @@ public abstract class ItemContainer
item = olditem;
// Updates database
final float adenaRate = Config.RATE_DROP_AMOUNT_MULTIPLIER.getOrDefault(Inventory.ADENA_ID, 1f);
if ((item.getId() == Inventory.ADENA_ID) && (count < (10000 * adenaRate)))
if ((item.getId() == Inventory.ADENA_ID) && (count < (10000 * Config.RATE_DROP_AMOUNT_MULTIPLIER.getOrDefault(Inventory.ADENA_ID, 1f))))
{
// Small adena changes won't be saved to database all the time
if ((GameTimeController.getInstance().getGameTicks() % 5) == 0)
@ -288,8 +287,7 @@ public abstract class ItemContainer
item.setLastChange(L2ItemInstance.MODIFIED);
// Updates database
// If Adena drop rate is not present it will be x1.
final float adenaRate = Config.RATE_DROP_AMOUNT_MULTIPLIER.getOrDefault(Inventory.ADENA_ID, 1f);
if ((itemId == Inventory.ADENA_ID) && (count < (10000 * adenaRate)))
if ((itemId == Inventory.ADENA_ID) && (count < (10000 * Config.RATE_DROP_AMOUNT_MULTIPLIER.getOrDefault(Inventory.ADENA_ID, 1f))))
{
// Small adena changes won't be saved to database all the time
if ((GameTimeController.getInstance().getGameTicks() % 5) == 0)
@ -441,12 +439,7 @@ public abstract class ItemContainer
synchronized (item)
{
if (!_items.contains(item))
{
return null;
}
if (count > item.getCount())
if (!_items.contains(item) || (count > item.getCount()))
{
return null;
}
@ -484,12 +477,7 @@ public abstract class ItemContainer
public L2ItemInstance detachItem(String process, int itemObjectId, long count, ItemLocation newLocation, L2PcInstance actor, Object reference)
{
final L2ItemInstance itemInstance = getItemByObjectId(itemObjectId);
if (itemInstance == null)
{
return null;
}
return detachItem(process, itemInstance, count, newLocation, actor, reference);
return itemInstance == null ? null : detachItem(process, itemInstance, count, newLocation, actor, reference);
}
/**
@ -529,8 +517,6 @@ public abstract class ItemContainer
{
item.updateDatabase();
}
refreshWeight();
}
else
{
@ -548,8 +534,8 @@ public abstract class ItemContainer
ItemTable.getInstance().destroyItem(process, item, actor, reference);
item.updateDatabase();
refreshWeight();
}
refreshWeight();
item.deleteMe();
}
return item;
@ -567,11 +553,7 @@ public abstract class ItemContainer
public L2ItemInstance destroyItem(String process, int objectId, long count, L2PcInstance actor, Object reference)
{
final L2ItemInstance item = getItemByObjectId(objectId);
if (item == null)
{
return null;
}
return this.destroyItem(process, item, count, actor, reference);
return item == null ? null : this.destroyItem(process, item, count, actor, reference);
}
/**
@ -586,11 +568,7 @@ public abstract class ItemContainer
public L2ItemInstance destroyItemByItemId(String process, int itemId, long count, L2PcInstance actor, Object reference)
{
final L2ItemInstance item = getItemByItemId(itemId);
if (item == null)
{
return null;
}
return destroyItem(process, item, count, actor, reference);
return item == null ? null : destroyItem(process, item, count, actor, reference);
}
/**
@ -723,12 +701,10 @@ public abstract class ItemContainer
L2World.getInstance().storeObject(item);
final L2PcInstance owner = getOwner() == null ? null : getOwner().getActingPlayer();
// If stackable item is found in inventory just add to current quantity
if (item.isStackable() && (getItemByItemId(item.getId()) != null))
{
addItem("Restore", item, owner, null);
addItem("Restore", item, (getOwner() == null ? null : getOwner().getActingPlayer()), null);
}
else
{

View File

@ -69,8 +69,7 @@ public class PcFreight extends ItemContainer
@Override
public boolean validateCapacity(long slots)
{
final int curSlots = _owner == null ? Config.ALT_FREIGHT_SLOTS : Config.ALT_FREIGHT_SLOTS + (int) _owner.getStat().calcStat(Stats.FREIGHT_LIM, 0, null, null);
return ((getSize() + slots) <= curSlots);
return ((getSize() + slots) <= (_owner == null ? Config.ALT_FREIGHT_SLOTS : Config.ALT_FREIGHT_SLOTS + (int) _owner.getStat().calcStat(Stats.FREIGHT_LIM, 0, null, null)));
}
@Override

View File

@ -142,15 +142,7 @@ public class PcInventory extends Inventory
final List<L2ItemInstance> list = new LinkedList<>();
for (L2ItemInstance item : _items)
{
if (item == null)
{
continue;
}
if ((!allowAdena && (item.getId() == ADENA_ID)))
{
continue;
}
if ((!allowAncientAdena && (item.getId() == ANCIENT_ADENA_ID)))
if ((item == null) || (!allowAdena && (item.getId() == ADENA_ID)) || (!allowAncientAdena && (item.getId() == ANCIENT_ADENA_ID)))
{
continue;
}
@ -187,15 +179,7 @@ public class PcInventory extends Inventory
final List<L2ItemInstance> list = new LinkedList<>();
for (L2ItemInstance item : _items)
{
if (item == null)
{
continue;
}
if ((!allowAdena && (item.getId() == ADENA_ID)))
{
continue;
}
if ((!allowAncientAdena && (item.getId() == ANCIENT_ADENA_ID)))
if ((item == null) || (!allowAdena && (item.getId() == ADENA_ID)) || (!allowAncientAdena && (item.getId() == ANCIENT_ADENA_ID)))
{
continue;
}
@ -381,18 +365,15 @@ public class PcInventory extends Inventory
boolean notAllEquipped = false;
for (L2ItemInstance adjItem : getItemsByItemId(item.getItem().getId()))
{
if (adjItem.isEquipable())
{
if (!adjItem.isEquipped())
{
notAllEquipped |= true;
}
}
else
if (!adjItem.isEquipable())
{
notAllEquipped |= true;
break;
}
if (!adjItem.isEquipped())
{
notAllEquipped |= true;
}
}
if (notAllEquipped)
{
@ -451,11 +432,7 @@ public class PcInventory extends Inventory
*/
public boolean reduceAdena(String process, long count, L2PcInstance actor, Object reference)
{
if (count > 0)
{
return destroyItemByItemId(process, ADENA_ID, count, actor, reference) != null;
}
return false;
return (count > 0) && (destroyItemByItemId(process, ADENA_ID, count, actor, reference) != null);
}
/**
@ -468,11 +445,7 @@ public class PcInventory extends Inventory
*/
public boolean reduceBeautyTickets(String process, long count, L2PcInstance actor, Object reference)
{
if (count > 0)
{
return destroyItemByItemId(process, BEAUTY_TICKET_ID, count, actor, reference) != null;
}
return false;
return (count > 0) && (destroyItemByItemId(process, BEAUTY_TICKET_ID, count, actor, reference) != null);
}
/**
@ -500,11 +473,7 @@ public class PcInventory extends Inventory
*/
public boolean reduceAncientAdena(String process, long count, L2PcInstance actor, Object reference)
{
if (count > 0)
{
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
}
return false;
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
}
/**
@ -719,11 +688,7 @@ public class PcInventory extends Inventory
public L2ItemInstance destroyItem(String process, int objectId, long count, L2PcInstance actor, Object reference)
{
final L2ItemInstance item = getItemByObjectId(objectId);
if (item == null)
{
return null;
}
return this.destroyItem(process, item, count, actor, reference);
return item == null ? null : this.destroyItem(process, item, count, actor, reference);
}
/**
@ -739,11 +704,7 @@ public class PcInventory extends Inventory
public L2ItemInstance destroyItemByItemId(String process, int itemId, long count, L2PcInstance actor, Object reference)
{
final L2ItemInstance item = getItemByItemId(itemId);
if (item == null)
{
return null;
}
return this.destroyItem(process, item, count, actor, reference);
return item == null ? null : this.destroyItem(process, item, count, actor, reference);
}
/**
@ -976,22 +937,14 @@ public class PcInventory extends Inventory
public boolean validateCapacity(long slots, boolean questItem)
{
if (!questItem)
{
return (((_items.size() - _questSlots) + slots) <= _owner.getInventoryLimit());
}
return (_questSlots + slots) <= _owner.getQuestInventoryLimit();
return !questItem ? ((_items.size() - _questSlots) + slots) <= _owner.getInventoryLimit() : (_questSlots + slots) <= _owner.getQuestInventoryLimit();
}
@Override
public boolean validateWeight(long weight)
{
// Disable weight check for GMs.
if (_owner.isGM() && _owner.getDietMode() && _owner.getAccessLevel().allowTransaction())
{
return true;
}
return ((_totalWeight + weight) <= _owner.getMaxLoad());
return (_owner.isGM() && _owner.getDietMode() && _owner.getAccessLevel().allowTransaction()) || ((_totalWeight + weight) <= _owner.getMaxLoad());
}
/**
@ -1065,11 +1018,7 @@ public class PcInventory extends Inventory
*/
public boolean canManipulateWithItemId(int itemId)
{
if (((_blockMode == 0) && Util.contains(_blockItems, itemId)) || ((_blockMode == 1) && !Util.contains(_blockItems, itemId)))
{
return false;
}
return true;
return ((_blockMode != 0) || !Util.contains(_blockItems, itemId)) && ((_blockMode != 1) || Util.contains(_blockItems, itemId));
}
@Override
@ -1087,11 +1036,7 @@ public class PcInventory extends Inventory
public int getSize(boolean quest)
{
if (quest)
{
return _questSlots;
}
return getSize() - _questSlots;
return quest ? _questSlots : getSize() - _questSlots;
}
@Override

View File

@ -118,12 +118,9 @@ public class PetInventory extends Inventory
// check for equiped items from other pets
for (L2ItemInstance item : _items)
{
if (item.isEquipped())
if (item.isEquipped() && !item.getItem().checkCondition(getOwner(), getOwner(), false))
{
if (!item.getItem().checkCondition(getOwner(), getOwner(), false))
{
unEquipItemInSlot(item.getLocationSlot());
}
unEquipItemInSlot(item.getLocationSlot());
}
}
}