diff --git a/Source/Game/BattlePets/BattlePetManager.cs b/Source/Game/BattlePets/BattlePetManager.cs index 143d6fe64..e5509232a 100644 --- a/Source/Game/BattlePets/BattlePetManager.cs +++ b/Source/Game/BattlePets/BattlePetManager.cs @@ -454,7 +454,7 @@ namespace Game.BattlePets _owner.SendPacket(battlePetError); } - public BattlePetSlot GetSlot(byte slot) { return _slots[slot]; } + public BattlePetSlot GetSlot(byte slot) { return slot < _slots.Count ? _slots[slot] : null; } WorldSession GetOwner() { return _owner; } public ushort GetTrapLevel() { return _trapLevel; } diff --git a/Source/Game/Handlers/BattlePetHandler.cs b/Source/Game/Handlers/BattlePetHandler.cs index d3a54fbac..b28862972 100644 --- a/Source/Game/Handlers/BattlePetHandler.cs +++ b/Source/Game/Handlers/BattlePetHandler.cs @@ -35,7 +35,11 @@ namespace Game { BattlePetMgr.BattlePet pet = GetBattlePetMgr().GetPet(battlePetSetBattleSlot.PetGuid); if (pet != null) - GetBattlePetMgr().GetSlot(battlePetSetBattleSlot.Slot).Pet = pet.PacketInfo; + { + BattlePetSlot slot = GetBattlePetMgr().GetSlot(battlePetSetBattleSlot.Slot); + if (slot != null) + slot.Pet = pet.PacketInfo; + } } [WorldPacketHandler(ClientOpcodes.BattlePetModifyName)]