private void BuildAchievements()
        {
            AddImage(439, 28, 40019, 2499);
            AddButton(429, 29, 40017, 40017, 2, GumpButtonType.Reply, 0);
            AddImage(429, 29, 40017, 2499);
            AddTextEntry(465, 30, 192, 20, 1153, 1, SearchName);

            AddImage(89, 28, 40019, 2499);
            AddButton(195, 28, 40016, 40016, 5, GumpButtonType.Reply, 0);
            AddImage(195, 28, 40016, 2499);
            AddLabel(95, 30, 1153, String.Format("Sort: {0}", AchievementSystem.GetSortFilterName(Profile.SortFilter)));

            if (List == null)
            {
                BuildList();
            }

            if (Index < 0)
            {
                Index = 0;
            }
            if (Index >= List.Count)
            {
                Index = List.Count - 1;
            }

            BuildScrollBar();

            int y = 59;

            for (int i = Index; i < List.Count && i < Index + MaxEntriesPerPage; i++)
            {
                var      achievement = List[i];
                DateTime achieveTime = DateTime.MinValue;

                bool hasAchieved = Profile.HasAchieved(achievement, out achieveTime);

                AddBackground(190, y, 444, 80, 1579);

                AddHtmlLocalized(273, y + 5, 265, 20, CenterLoc, achievement.Name.ToString(), C32216(0x444444), false, false);
                AddImageTiled(260, y + 24, 300, 2, 96);
                AddHtmlLocalized(265, y + 27, 290, 40, CenterLoc, achievement.Description.ToString(), C32216(0x2A2A2A), false, false);

                AddImage(560, y + 4, hasAchieved ? 10553 : 10550);
                AddImageTiled(587, y + 4, 5, 59, hasAchieved ? 10554 : 10551);
                AddImage(587, y + 4, hasAchieved ? 10555 : 10552);

                if (achievement.Unlocks != null)
                {
                    UnlocksTooltip(achievement);
                }

                AddHtml(560, y + 19, 55, 20, ColorAndCenter(hasAchieved ? "#00FFFF" : "#FFFFFF", achievement.Points.ToString()), false, false);

                if (achievement.Locked && !Profile.HasUnlocked(achievement))
                {
                    AddImage(544, y + 8, 32);

                    var pre = AchievementSystem.GetPrerequisite(achievement);

                    if (pre != null)
                    {
                        AddTooltip(String.Format("Complete '{0}' to Unlock", pre.Name));
                    }
                    else
                    {
                        AddTooltip("Locked");
                    }
                }
                else if (hasAchieved)
                {
                    AddHtml(522, y + 59, 100, 20, ColorAndAlignRight("#444444", achieveTime.ToShortDateString()), false, false);
                }

                if (achievement.GumpImage > 0)
                {
                    AddImage(198 + achievement.GumpImageOffset.X, y + 10 + achievement.GumpImageOffset.Y, achievement.GumpImage);
                }

                if (achievement.MaxProgress > 1)
                {
                    BuildProgressBar(achievement, y + 62, true);
                }

                if (User.AccessLevel > AccessLevel.Player)
                {
                    AddButton(500, y + 8, 2117, 2118, 10000 + achievement.Identifier, GumpButtonType.Reply, 0);
                    AddTooltip("Props this achievement");
                }

                y += 80;
            }
        }