Fixed transfering items to pet.

This commit is contained in:
MobiusDevelopment 2019-03-16 09:57:25 +00:00
parent 2ad96b7143
commit edce07ceda
36 changed files with 111 additions and 192 deletions

View File

@ -724,13 +724,7 @@ public class L2PetInstance extends L2Summon
sendPacket(petIU);
// Send target update packet
if (!newItem.isStackable())
{
final InventoryUpdate iu = new InventoryUpdate();
iu.addNewItem(newItem);
sendInventoryUpdate(iu);
}
else if ((playerOldItem != null) && newItem.isStackable())
if ((playerOldItem != null) && newItem.isStackable())
{
final InventoryUpdate iu = new InventoryUpdate();
iu.addModifiedItem(newItem);

View File

@ -724,13 +724,7 @@ public class L2PetInstance extends L2Summon
sendPacket(petIU);
// Send target update packet
if (!newItem.isStackable())
{
final InventoryUpdate iu = new InventoryUpdate();
iu.addNewItem(newItem);
sendInventoryUpdate(iu);
}
else if ((playerOldItem != null) && newItem.isStackable())
if ((playerOldItem != null) && newItem.isStackable())
{
final InventoryUpdate iu = new InventoryUpdate();
iu.addModifiedItem(newItem);

View File

@ -724,13 +724,7 @@ public class L2PetInstance extends L2Summon
sendPacket(petIU);
// Send target update packet
if (!newItem.isStackable())
{
final InventoryUpdate iu = new InventoryUpdate();
iu.addNewItem(newItem);
sendInventoryUpdate(iu);
}
else if ((playerOldItem != null) && newItem.isStackable())
if ((playerOldItem != null) && newItem.isStackable())
{
final InventoryUpdate iu = new InventoryUpdate();
iu.addModifiedItem(newItem);

View File

@ -724,13 +724,7 @@ public class L2PetInstance extends L2Summon
sendPacket(petIU);
// Send target update packet
if (!newItem.isStackable())
{
final InventoryUpdate iu = new InventoryUpdate();
iu.addNewItem(newItem);
sendInventoryUpdate(iu);
}
else if ((playerOldItem != null) && newItem.isStackable())
if ((playerOldItem != null) && newItem.isStackable())
{
final InventoryUpdate iu = new InventoryUpdate();
iu.addModifiedItem(newItem);

View File

@ -228,7 +228,6 @@ import com.l2jmobius.gameserver.model.itemcontainer.PcFreight;
import com.l2jmobius.gameserver.model.itemcontainer.PcInventory;
import com.l2jmobius.gameserver.model.itemcontainer.PcRefund;
import com.l2jmobius.gameserver.model.itemcontainer.PcWarehouse;
import com.l2jmobius.gameserver.model.itemcontainer.PetInventory;
import com.l2jmobius.gameserver.model.items.L2Armor;
import com.l2jmobius.gameserver.model.items.L2EtcItem;
import com.l2jmobius.gameserver.model.items.L2Henna;
@ -308,7 +307,6 @@ import com.l2jmobius.gameserver.network.serverpackets.NicknameChanged;
import com.l2jmobius.gameserver.network.serverpackets.ObservationMode;
import com.l2jmobius.gameserver.network.serverpackets.ObservationReturn;
import com.l2jmobius.gameserver.network.serverpackets.PartySmallWindowUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PetInventoryUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PledgeShowMemberListDelete;
import com.l2jmobius.gameserver.network.serverpackets.PledgeShowMemberListUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PrivateStoreListBuy;
@ -3620,21 +3618,6 @@ public final class L2PcInstance extends L2Playable
targetPlayer.sendItemList();
}
}
else if (target instanceof PetInventory)
{
final PetInventoryUpdate petIU = new PetInventoryUpdate();
if (newItem.getCount() > count)
{
petIU.addModifiedItem(newItem);
}
else
{
petIU.addNewItem(newItem);
}
((PetInventory) target).getOwner().sendPacket(petIU);
}
return newItem;
}

View File

@ -71,6 +71,7 @@ import com.l2jmobius.gameserver.network.serverpackets.ActionFailed;
import com.l2jmobius.gameserver.network.serverpackets.ExChangeNpcState;
import com.l2jmobius.gameserver.network.serverpackets.InventoryUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PetInventoryUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PetItemList;
import com.l2jmobius.gameserver.network.serverpackets.StopMove;
import com.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import com.l2jmobius.gameserver.taskmanager.DecayTaskManager;
@ -623,8 +624,10 @@ public class L2PetInstance extends L2Summon
else
{
final L2ItemInstance item = _inventory.addItem("Pickup", target, getOwner(), this);
// sendPacket(new PetItemList(_inventory.getItems()));
sendPacket(new PetInventoryUpdate(item));
if (item != null)
{
getOwner().sendPacket(new PetItemList(getInventory().getItems()));
}
}
}
@ -705,7 +708,6 @@ public class L2PetInstance extends L2Summon
final L2ItemInstance oldItem = _inventory.getItemByObjectId(objectId);
final L2ItemInstance playerOldItem = target.getItemByItemId(oldItem.getId());
final L2ItemInstance newItem = _inventory.transferItem(process, objectId, count, target, actor, reference);
if (newItem == null)
{
return null;
@ -724,13 +726,7 @@ public class L2PetInstance extends L2Summon
sendPacket(petIU);
// Send target update packet
if (!newItem.isStackable())
{
final InventoryUpdate iu = new InventoryUpdate();
iu.addNewItem(newItem);
sendInventoryUpdate(iu);
}
else if ((playerOldItem != null) && newItem.isStackable())
if ((playerOldItem != null) && newItem.isStackable())
{
final InventoryUpdate iu = new InventoryUpdate();
iu.addModifiedItem(newItem);

View File

@ -22,6 +22,7 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.network.L2GameClient;
import com.l2jmobius.gameserver.network.serverpackets.PetItemList;
import com.l2jmobius.gameserver.util.Util;
/**
@ -77,7 +78,12 @@ public final class RequestGetItemFromPet implements IClientIncomingPacket
return;
}
if (pet.transferItem("Transfer", _objectId, _amount, player.getInventory(), player, pet) == null)
final L2ItemInstance transferedItem = pet.transferItem("Transfer", _objectId, _amount, player.getInventory(), player, pet);
if (transferedItem != null)
{
player.sendPacket(new PetItemList(pet.getInventory().getItems()));
}
else
{
LOGGER.warning("Invalid item transfer request: " + pet.getName() + "(pet) --> " + player.getName());
}

View File

@ -24,6 +24,7 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.network.L2GameClient;
import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.serverpackets.PetItemList;
import com.l2jmobius.gameserver.util.Util;
/**
@ -117,7 +118,12 @@ public final class RequestGiveItemToPet implements IClientIncomingPacket
return;
}
if (player.transferItem("Transfer", _objectId, _amount, pet.getInventory(), pet) == null)
final L2ItemInstance transferedItem = player.transferItem("Transfer", _objectId, _amount, pet.getInventory(), pet);
if (transferedItem != null)
{
player.sendPacket(new PetItemList(pet.getInventory().getItems()));
}
else
{
LOGGER.warning("Invalid item transfer request: " + pet.getName() + "(pet) --> " + player.getName());
}

View File

@ -79,5 +79,4 @@ public final class RequestPetGetItem implements IClientIncomingPacket
pet.getAI().setIntention(CtrlIntention.AI_INTENTION_PICK_UP, item);
}
}

View File

@ -130,6 +130,7 @@ public final class RequestPetUseItem implements IClientIncomingPacket
{
activeChar.addTimeStampItem(item, reuseDelay);
}
activeChar.sendPacket(new PetItemList(pet.getInventory().getItems()));
pet.updateAndBroadcastStatus(1);
}
}

View File

@ -228,7 +228,6 @@ import com.l2jmobius.gameserver.model.itemcontainer.PcFreight;
import com.l2jmobius.gameserver.model.itemcontainer.PcInventory;
import com.l2jmobius.gameserver.model.itemcontainer.PcRefund;
import com.l2jmobius.gameserver.model.itemcontainer.PcWarehouse;
import com.l2jmobius.gameserver.model.itemcontainer.PetInventory;
import com.l2jmobius.gameserver.model.items.L2Armor;
import com.l2jmobius.gameserver.model.items.L2EtcItem;
import com.l2jmobius.gameserver.model.items.L2Henna;
@ -308,7 +307,6 @@ import com.l2jmobius.gameserver.network.serverpackets.NicknameChanged;
import com.l2jmobius.gameserver.network.serverpackets.ObservationMode;
import com.l2jmobius.gameserver.network.serverpackets.ObservationReturn;
import com.l2jmobius.gameserver.network.serverpackets.PartySmallWindowUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PetInventoryUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PledgeShowMemberListDelete;
import com.l2jmobius.gameserver.network.serverpackets.PledgeShowMemberListUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PrivateStoreListBuy;
@ -3620,21 +3618,6 @@ public final class L2PcInstance extends L2Playable
targetPlayer.sendItemList();
}
}
else if (target instanceof PetInventory)
{
final PetInventoryUpdate petIU = new PetInventoryUpdate();
if (newItem.getCount() > count)
{
petIU.addModifiedItem(newItem);
}
else
{
petIU.addNewItem(newItem);
}
((PetInventory) target).getOwner().sendPacket(petIU);
}
return newItem;
}

View File

@ -71,6 +71,7 @@ import com.l2jmobius.gameserver.network.serverpackets.ActionFailed;
import com.l2jmobius.gameserver.network.serverpackets.ExChangeNpcState;
import com.l2jmobius.gameserver.network.serverpackets.InventoryUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PetInventoryUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PetItemList;
import com.l2jmobius.gameserver.network.serverpackets.StopMove;
import com.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import com.l2jmobius.gameserver.taskmanager.DecayTaskManager;
@ -623,8 +624,10 @@ public class L2PetInstance extends L2Summon
else
{
final L2ItemInstance item = _inventory.addItem("Pickup", target, getOwner(), this);
// sendPacket(new PetItemList(_inventory.getItems()));
sendPacket(new PetInventoryUpdate(item));
if (item != null)
{
getOwner().sendPacket(new PetItemList(getInventory().getItems()));
}
}
}
@ -705,7 +708,6 @@ public class L2PetInstance extends L2Summon
final L2ItemInstance oldItem = _inventory.getItemByObjectId(objectId);
final L2ItemInstance playerOldItem = target.getItemByItemId(oldItem.getId());
final L2ItemInstance newItem = _inventory.transferItem(process, objectId, count, target, actor, reference);
if (newItem == null)
{
return null;
@ -724,13 +726,7 @@ public class L2PetInstance extends L2Summon
sendPacket(petIU);
// Send target update packet
if (!newItem.isStackable())
{
final InventoryUpdate iu = new InventoryUpdate();
iu.addNewItem(newItem);
sendInventoryUpdate(iu);
}
else if ((playerOldItem != null) && newItem.isStackable())
if ((playerOldItem != null) && newItem.isStackable())
{
final InventoryUpdate iu = new InventoryUpdate();
iu.addModifiedItem(newItem);

View File

@ -22,6 +22,7 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.network.L2GameClient;
import com.l2jmobius.gameserver.network.serverpackets.PetItemList;
import com.l2jmobius.gameserver.util.Util;
/**
@ -77,7 +78,12 @@ public final class RequestGetItemFromPet implements IClientIncomingPacket
return;
}
if (pet.transferItem("Transfer", _objectId, _amount, player.getInventory(), player, pet) == null)
final L2ItemInstance transferedItem = pet.transferItem("Transfer", _objectId, _amount, player.getInventory(), player, pet);
if (transferedItem != null)
{
player.sendPacket(new PetItemList(pet.getInventory().getItems()));
}
else
{
LOGGER.warning("Invalid item transfer request: " + pet.getName() + "(pet) --> " + player.getName());
}

View File

@ -24,6 +24,7 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.network.L2GameClient;
import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.serverpackets.PetItemList;
import com.l2jmobius.gameserver.util.Util;
/**
@ -117,7 +118,12 @@ public final class RequestGiveItemToPet implements IClientIncomingPacket
return;
}
if (player.transferItem("Transfer", _objectId, _amount, pet.getInventory(), pet) == null)
final L2ItemInstance transferedItem = player.transferItem("Transfer", _objectId, _amount, pet.getInventory(), pet);
if (transferedItem != null)
{
player.sendPacket(new PetItemList(pet.getInventory().getItems()));
}
else
{
LOGGER.warning("Invalid item transfer request: " + pet.getName() + "(pet) --> " + player.getName());
}

View File

@ -79,5 +79,4 @@ public final class RequestPetGetItem implements IClientIncomingPacket
pet.getAI().setIntention(CtrlIntention.AI_INTENTION_PICK_UP, item);
}
}

View File

@ -130,6 +130,7 @@ public final class RequestPetUseItem implements IClientIncomingPacket
{
activeChar.addTimeStampItem(item, reuseDelay);
}
activeChar.sendPacket(new PetItemList(pet.getInventory().getItems()));
pet.updateAndBroadcastStatus(1);
}
}

View File

@ -228,7 +228,6 @@ import com.l2jmobius.gameserver.model.itemcontainer.PcFreight;
import com.l2jmobius.gameserver.model.itemcontainer.PcInventory;
import com.l2jmobius.gameserver.model.itemcontainer.PcRefund;
import com.l2jmobius.gameserver.model.itemcontainer.PcWarehouse;
import com.l2jmobius.gameserver.model.itemcontainer.PetInventory;
import com.l2jmobius.gameserver.model.items.L2Armor;
import com.l2jmobius.gameserver.model.items.L2EtcItem;
import com.l2jmobius.gameserver.model.items.L2Henna;
@ -308,7 +307,6 @@ import com.l2jmobius.gameserver.network.serverpackets.NicknameChanged;
import com.l2jmobius.gameserver.network.serverpackets.ObservationMode;
import com.l2jmobius.gameserver.network.serverpackets.ObservationReturn;
import com.l2jmobius.gameserver.network.serverpackets.PartySmallWindowUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PetInventoryUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PledgeShowMemberListDelete;
import com.l2jmobius.gameserver.network.serverpackets.PledgeShowMemberListUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PrivateStoreListBuy;
@ -3620,21 +3618,6 @@ public final class L2PcInstance extends L2Playable
targetPlayer.sendItemList();
}
}
else if (target instanceof PetInventory)
{
final PetInventoryUpdate petIU = new PetInventoryUpdate();
if (newItem.getCount() > count)
{
petIU.addModifiedItem(newItem);
}
else
{
petIU.addNewItem(newItem);
}
((PetInventory) target).getOwner().sendPacket(petIU);
}
return newItem;
}

View File

@ -71,6 +71,7 @@ import com.l2jmobius.gameserver.network.serverpackets.ActionFailed;
import com.l2jmobius.gameserver.network.serverpackets.ExChangeNpcState;
import com.l2jmobius.gameserver.network.serverpackets.InventoryUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PetInventoryUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PetItemList;
import com.l2jmobius.gameserver.network.serverpackets.StopMove;
import com.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import com.l2jmobius.gameserver.taskmanager.DecayTaskManager;
@ -623,8 +624,10 @@ public class L2PetInstance extends L2Summon
else
{
final L2ItemInstance item = _inventory.addItem("Pickup", target, getOwner(), this);
// sendPacket(new PetItemList(_inventory.getItems()));
sendPacket(new PetInventoryUpdate(item));
if (item != null)
{
getOwner().sendPacket(new PetItemList(getInventory().getItems()));
}
}
}
@ -705,7 +708,6 @@ public class L2PetInstance extends L2Summon
final L2ItemInstance oldItem = _inventory.getItemByObjectId(objectId);
final L2ItemInstance playerOldItem = target.getItemByItemId(oldItem.getId());
final L2ItemInstance newItem = _inventory.transferItem(process, objectId, count, target, actor, reference);
if (newItem == null)
{
return null;
@ -724,13 +726,7 @@ public class L2PetInstance extends L2Summon
sendPacket(petIU);
// Send target update packet
if (!newItem.isStackable())
{
final InventoryUpdate iu = new InventoryUpdate();
iu.addNewItem(newItem);
sendInventoryUpdate(iu);
}
else if ((playerOldItem != null) && newItem.isStackable())
if ((playerOldItem != null) && newItem.isStackable())
{
final InventoryUpdate iu = new InventoryUpdate();
iu.addModifiedItem(newItem);

View File

@ -22,6 +22,7 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.network.L2GameClient;
import com.l2jmobius.gameserver.network.serverpackets.PetItemList;
import com.l2jmobius.gameserver.util.Util;
/**
@ -77,7 +78,12 @@ public final class RequestGetItemFromPet implements IClientIncomingPacket
return;
}
if (pet.transferItem("Transfer", _objectId, _amount, player.getInventory(), player, pet) == null)
final L2ItemInstance transferedItem = pet.transferItem("Transfer", _objectId, _amount, player.getInventory(), player, pet);
if (transferedItem != null)
{
player.sendPacket(new PetItemList(pet.getInventory().getItems()));
}
else
{
LOGGER.warning("Invalid item transfer request: " + pet.getName() + "(pet) --> " + player.getName());
}

View File

@ -24,6 +24,7 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.network.L2GameClient;
import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.serverpackets.PetItemList;
import com.l2jmobius.gameserver.util.Util;
/**
@ -117,7 +118,12 @@ public final class RequestGiveItemToPet implements IClientIncomingPacket
return;
}
if (player.transferItem("Transfer", _objectId, _amount, pet.getInventory(), pet) == null)
final L2ItemInstance transferedItem = player.transferItem("Transfer", _objectId, _amount, pet.getInventory(), pet);
if (transferedItem != null)
{
player.sendPacket(new PetItemList(pet.getInventory().getItems()));
}
else
{
LOGGER.warning("Invalid item transfer request: " + pet.getName() + "(pet) --> " + player.getName());
}

View File

@ -79,5 +79,4 @@ public final class RequestPetGetItem implements IClientIncomingPacket
pet.getAI().setIntention(CtrlIntention.AI_INTENTION_PICK_UP, item);
}
}

View File

@ -130,6 +130,7 @@ public final class RequestPetUseItem implements IClientIncomingPacket
{
activeChar.addTimeStampItem(item, reuseDelay);
}
activeChar.sendPacket(new PetItemList(pet.getInventory().getItems()));
pet.updateAndBroadcastStatus(1);
}
}

View File

@ -724,13 +724,7 @@ public class L2PetInstance extends L2Summon
sendPacket(petIU);
// Send target update packet
if (!newItem.isStackable())
{
final InventoryUpdate iu = new InventoryUpdate();
iu.addNewItem(newItem);
sendInventoryUpdate(iu);
}
else if ((playerOldItem != null) && newItem.isStackable())
if ((playerOldItem != null) && newItem.isStackable())
{
final InventoryUpdate iu = new InventoryUpdate();
iu.addModifiedItem(newItem);

View File

@ -724,13 +724,7 @@ public class L2PetInstance extends L2Summon
sendPacket(petIU);
// Send target update packet
if (!newItem.isStackable())
{
final InventoryUpdate iu = new InventoryUpdate();
iu.addNewItem(newItem);
sendInventoryUpdate(iu);
}
else if ((playerOldItem != null) && newItem.isStackable())
if ((playerOldItem != null) && newItem.isStackable())
{
final InventoryUpdate iu = new InventoryUpdate();
iu.addModifiedItem(newItem);

View File

@ -225,7 +225,6 @@ import com.l2jmobius.gameserver.model.itemcontainer.PcFreight;
import com.l2jmobius.gameserver.model.itemcontainer.PcInventory;
import com.l2jmobius.gameserver.model.itemcontainer.PcRefund;
import com.l2jmobius.gameserver.model.itemcontainer.PcWarehouse;
import com.l2jmobius.gameserver.model.itemcontainer.PetInventory;
import com.l2jmobius.gameserver.model.items.L2Armor;
import com.l2jmobius.gameserver.model.items.L2EtcItem;
import com.l2jmobius.gameserver.model.items.L2Henna;
@ -303,7 +302,6 @@ import com.l2jmobius.gameserver.network.serverpackets.NicknameChanged;
import com.l2jmobius.gameserver.network.serverpackets.ObservationMode;
import com.l2jmobius.gameserver.network.serverpackets.ObservationReturn;
import com.l2jmobius.gameserver.network.serverpackets.PartySmallWindowUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PetInventoryUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PledgeShowMemberListDelete;
import com.l2jmobius.gameserver.network.serverpackets.PledgeShowMemberListUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PrivateStoreListBuy;
@ -3597,21 +3595,6 @@ public final class L2PcInstance extends L2Playable
targetPlayer.sendItemList();
}
}
else if (target instanceof PetInventory)
{
final PetInventoryUpdate petIU = new PetInventoryUpdate();
if (newItem.getCount() > count)
{
petIU.addModifiedItem(newItem);
}
else
{
petIU.addNewItem(newItem);
}
((PetInventory) target).getOwner().sendPacket(petIU);
}
return newItem;
}

View File

@ -71,6 +71,7 @@ import com.l2jmobius.gameserver.network.serverpackets.ActionFailed;
import com.l2jmobius.gameserver.network.serverpackets.ExChangeNpcState;
import com.l2jmobius.gameserver.network.serverpackets.InventoryUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PetInventoryUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PetItemList;
import com.l2jmobius.gameserver.network.serverpackets.StopMove;
import com.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import com.l2jmobius.gameserver.taskmanager.DecayTaskManager;
@ -623,8 +624,10 @@ public class L2PetInstance extends L2Summon
else
{
final L2ItemInstance item = _inventory.addItem("Pickup", target, getOwner(), this);
// sendPacket(new PetItemList(_inventory.getItems()));
sendPacket(new PetInventoryUpdate(item));
if (item != null)
{
getOwner().sendPacket(new PetItemList(getInventory().getItems()));
}
}
}
@ -705,7 +708,6 @@ public class L2PetInstance extends L2Summon
final L2ItemInstance oldItem = _inventory.getItemByObjectId(objectId);
final L2ItemInstance playerOldItem = target.getItemByItemId(oldItem.getId());
final L2ItemInstance newItem = _inventory.transferItem(process, objectId, count, target, actor, reference);
if (newItem == null)
{
return null;
@ -724,13 +726,7 @@ public class L2PetInstance extends L2Summon
sendPacket(petIU);
// Send target update packet
if (!newItem.isStackable())
{
final InventoryUpdate iu = new InventoryUpdate();
iu.addNewItem(newItem);
sendInventoryUpdate(iu);
}
else if ((playerOldItem != null) && newItem.isStackable())
if ((playerOldItem != null) && newItem.isStackable())
{
final InventoryUpdate iu = new InventoryUpdate();
iu.addModifiedItem(newItem);

View File

@ -22,6 +22,7 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.network.L2GameClient;
import com.l2jmobius.gameserver.network.serverpackets.PetItemList;
import com.l2jmobius.gameserver.util.Util;
/**
@ -77,7 +78,12 @@ public final class RequestGetItemFromPet implements IClientIncomingPacket
return;
}
if (pet.transferItem("Transfer", _objectId, _amount, player.getInventory(), player, pet) == null)
final L2ItemInstance transferedItem = pet.transferItem("Transfer", _objectId, _amount, player.getInventory(), player, pet);
if (transferedItem != null)
{
player.sendPacket(new PetItemList(pet.getInventory().getItems()));
}
else
{
LOGGER.warning("Invalid item transfer request: " + pet.getName() + "(pet) --> " + player.getName());
}

View File

@ -24,6 +24,7 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.network.L2GameClient;
import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.serverpackets.PetItemList;
import com.l2jmobius.gameserver.util.Util;
/**
@ -117,7 +118,12 @@ public final class RequestGiveItemToPet implements IClientIncomingPacket
return;
}
if (player.transferItem("Transfer", _objectId, _amount, pet.getInventory(), pet) == null)
final L2ItemInstance transferedItem = player.transferItem("Transfer", _objectId, _amount, pet.getInventory(), pet);
if (transferedItem != null)
{
player.sendPacket(new PetItemList(pet.getInventory().getItems()));
}
else
{
LOGGER.warning("Invalid item transfer request: " + pet.getName() + "(pet) --> " + player.getName());
}

View File

@ -79,5 +79,4 @@ public final class RequestPetGetItem implements IClientIncomingPacket
pet.getAI().setIntention(CtrlIntention.AI_INTENTION_PICK_UP, item);
}
}

View File

@ -130,6 +130,7 @@ public final class RequestPetUseItem implements IClientIncomingPacket
{
activeChar.addTimeStampItem(item, reuseDelay);
}
activeChar.sendPacket(new PetItemList(pet.getInventory().getItems()));
pet.updateAndBroadcastStatus(1);
}
}

View File

@ -225,7 +225,6 @@ import com.l2jmobius.gameserver.model.itemcontainer.PcFreight;
import com.l2jmobius.gameserver.model.itemcontainer.PcInventory;
import com.l2jmobius.gameserver.model.itemcontainer.PcRefund;
import com.l2jmobius.gameserver.model.itemcontainer.PcWarehouse;
import com.l2jmobius.gameserver.model.itemcontainer.PetInventory;
import com.l2jmobius.gameserver.model.items.L2Armor;
import com.l2jmobius.gameserver.model.items.L2EtcItem;
import com.l2jmobius.gameserver.model.items.L2Henna;
@ -303,7 +302,6 @@ import com.l2jmobius.gameserver.network.serverpackets.NicknameChanged;
import com.l2jmobius.gameserver.network.serverpackets.ObservationMode;
import com.l2jmobius.gameserver.network.serverpackets.ObservationReturn;
import com.l2jmobius.gameserver.network.serverpackets.PartySmallWindowUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PetInventoryUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PledgeShowMemberListDelete;
import com.l2jmobius.gameserver.network.serverpackets.PledgeShowMemberListUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PrivateStoreListBuy;
@ -3597,21 +3595,6 @@ public final class L2PcInstance extends L2Playable
targetPlayer.sendItemList();
}
}
else if (target instanceof PetInventory)
{
final PetInventoryUpdate petIU = new PetInventoryUpdate();
if (newItem.getCount() > count)
{
petIU.addModifiedItem(newItem);
}
else
{
petIU.addNewItem(newItem);
}
((PetInventory) target).getOwner().sendPacket(petIU);
}
return newItem;
}

View File

@ -71,6 +71,7 @@ import com.l2jmobius.gameserver.network.serverpackets.ActionFailed;
import com.l2jmobius.gameserver.network.serverpackets.ExChangeNpcState;
import com.l2jmobius.gameserver.network.serverpackets.InventoryUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PetInventoryUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PetItemList;
import com.l2jmobius.gameserver.network.serverpackets.StopMove;
import com.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import com.l2jmobius.gameserver.taskmanager.DecayTaskManager;
@ -623,8 +624,10 @@ public class L2PetInstance extends L2Summon
else
{
final L2ItemInstance item = _inventory.addItem("Pickup", target, getOwner(), this);
// sendPacket(new PetItemList(_inventory.getItems()));
sendPacket(new PetInventoryUpdate(item));
if (item != null)
{
getOwner().sendPacket(new PetItemList(getInventory().getItems()));
}
}
}
@ -705,7 +708,6 @@ public class L2PetInstance extends L2Summon
final L2ItemInstance oldItem = _inventory.getItemByObjectId(objectId);
final L2ItemInstance playerOldItem = target.getItemByItemId(oldItem.getId());
final L2ItemInstance newItem = _inventory.transferItem(process, objectId, count, target, actor, reference);
if (newItem == null)
{
return null;
@ -724,13 +726,7 @@ public class L2PetInstance extends L2Summon
sendPacket(petIU);
// Send target update packet
if (!newItem.isStackable())
{
final InventoryUpdate iu = new InventoryUpdate();
iu.addNewItem(newItem);
sendInventoryUpdate(iu);
}
else if ((playerOldItem != null) && newItem.isStackable())
if ((playerOldItem != null) && newItem.isStackable())
{
final InventoryUpdate iu = new InventoryUpdate();
iu.addModifiedItem(newItem);

View File

@ -22,6 +22,7 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.network.L2GameClient;
import com.l2jmobius.gameserver.network.serverpackets.PetItemList;
import com.l2jmobius.gameserver.util.Util;
/**
@ -77,7 +78,12 @@ public final class RequestGetItemFromPet implements IClientIncomingPacket
return;
}
if (pet.transferItem("Transfer", _objectId, _amount, player.getInventory(), player, pet) == null)
final L2ItemInstance transferedItem = pet.transferItem("Transfer", _objectId, _amount, player.getInventory(), player, pet);
if (transferedItem != null)
{
player.sendPacket(new PetItemList(pet.getInventory().getItems()));
}
else
{
LOGGER.warning("Invalid item transfer request: " + pet.getName() + "(pet) --> " + player.getName());
}

View File

@ -24,6 +24,7 @@ import com.l2jmobius.gameserver.model.actor.instance.L2PetInstance;
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
import com.l2jmobius.gameserver.network.L2GameClient;
import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.serverpackets.PetItemList;
import com.l2jmobius.gameserver.util.Util;
/**
@ -117,7 +118,12 @@ public final class RequestGiveItemToPet implements IClientIncomingPacket
return;
}
if (player.transferItem("Transfer", _objectId, _amount, pet.getInventory(), pet) == null)
final L2ItemInstance transferedItem = player.transferItem("Transfer", _objectId, _amount, pet.getInventory(), pet);
if (transferedItem != null)
{
player.sendPacket(new PetItemList(pet.getInventory().getItems()));
}
else
{
LOGGER.warning("Invalid item transfer request: " + pet.getName() + "(pet) --> " + player.getName());
}

View File

@ -79,5 +79,4 @@ public final class RequestPetGetItem implements IClientIncomingPacket
pet.getAI().setIntention(CtrlIntention.AI_INTENTION_PICK_UP, item);
}
}

View File

@ -130,6 +130,7 @@ public final class RequestPetUseItem implements IClientIncomingPacket
{
activeChar.addTimeStampItem(item, reuseDelay);
}
activeChar.sendPacket(new PetItemList(pet.getInventory().getItems()));
pet.updateAndBroadcastStatus(1);
}
}