void HandleUseCritterItem(UseCritterItem useCritterItem) { Item item = GetPlayer().GetItemByGuid(useCritterItem.ItemGuid); if (!item) { return; } if (item.GetBonus().EffectCount < 2) { return; } uint spellToLearn = (uint)item.GetEffect(1).SpellID; var entry = Global.SpellMgr.GetBattlePetSpecies(spellToLearn); if (entry != null) { GetBattlePetMgr().AddPet(entry.Id, entry.CreatureID, BattlePetMgr.RollPetBreed(entry.Id), BattlePetMgr.GetDefaultPetQuality(entry.Id)); _player.UpdateCriteria(CriteriaTypes.OwnBattlePetCount); } GetPlayer().DestroyItem(item.GetBagSlot(), item.GetSlot(), true); }