Browse Source

- Gnacik: http://www.l2jdp.com/trac/ticket/4104 partially fix.
- Pet fix for destroy control item.



ignore
[DP#4104] [D#4104] [#DP4104]

JIV 15 years ago
parent
commit
bd1a89d080

+ 0 - 2
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java

@@ -211,7 +211,6 @@ import com.l2jserver.gameserver.network.serverpackets.PrivateStoreManageListBuy;
 import com.l2jserver.gameserver.network.serverpackets.PrivateStoreManageListSell;
 import com.l2jserver.gameserver.network.serverpackets.PrivateStoreMsgBuy;
 import com.l2jserver.gameserver.network.serverpackets.PrivateStoreMsgSell;
-import com.l2jserver.gameserver.network.serverpackets.QuestList;
 import com.l2jserver.gameserver.network.serverpackets.RecipeShopMsg;
 import com.l2jserver.gameserver.network.serverpackets.RecipeShopSellList;
 import com.l2jserver.gameserver.network.serverpackets.RelationChanged;
@@ -1788,7 +1787,6 @@ public final class L2PcInstance extends L2Playable
 								retval = qs;
 							}
 						}
-						sendPacket(new QuestList());
 					}
 				}
 			}

+ 19 - 14
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2PetInstance.java

@@ -717,22 +717,27 @@ public class L2PetInstance extends L2Summon
 			else
 			{
 				removedItem = owner.getInventory().destroyItem("PetDestroy", getControlItemId(), 1, getOwner(), this);
-				owner.sendPacket(new SystemMessage(SystemMessageId.S1_DISAPPEARED).addItemName(removedItem));
+				if (removedItem != null)
+					owner.sendPacket(new SystemMessage(SystemMessageId.S1_DISAPPEARED).addItemName(removedItem));
 			}
 
-			InventoryUpdate iu = new InventoryUpdate();
-			iu.addRemovedItem(removedItem);
-
-			owner.sendPacket(iu);
-
-			StatusUpdate su = new StatusUpdate(owner.getObjectId());
-			su.addAttribute(StatusUpdate.CUR_LOAD, owner.getCurrentLoad());
-			owner.sendPacket(su);
-
-			owner.broadcastUserInfo();
-
-			L2World world = L2World.getInstance();
-			world.removeObject(removedItem);
+			if (removedItem == null)
+				_log.warning("Couldn't destroy pet control item for "+owner+" pet: "+this+" evolve: "+evolve);
+			else
+			{
+				InventoryUpdate iu = new InventoryUpdate();
+				iu.addRemovedItem(removedItem);
+				
+				owner.sendPacket(iu);
+				
+				StatusUpdate su = new StatusUpdate(owner.getObjectId());
+				su.addAttribute(StatusUpdate.CUR_LOAD, owner.getCurrentLoad());
+				owner.sendPacket(su);
+				
+				owner.broadcastUserInfo();
+				
+				L2World.getInstance().removeObject(removedItem);
+			}
 		}
 		catch (Exception e){
 			_logPet.log(Level.WARNING, "Error while destroying control item: " + e.getMessage(), e);