Beispiel #1
0
        public static int GetPlayerTaskCount(MHSGroupType groupType, PlayerMobile player)
        {
            int count = 0;

            if (player == null)
            {
                return(count);
            }

            MHSPersistance.CheckAndCreateMHSAccountEntry(player);

            foreach (MHSCreaturePlayerEntry creatureEntry in player.m_MHSPlayerEntry.m_CreatureEntries)
            {
                if (creatureEntry.m_GroupType != groupType)
                {
                    continue;
                }

                foreach (MHSCreatureTaskPlayerEntry taskEntry in creatureEntry.m_Tasks)
                {
                    if (taskEntry.m_TimesCompleted > 0)
                    {
                        count++;
                    }
                }
            }

            return(count);
        }
Beispiel #2
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();

            //Version 0
            if (version >= 0)
            {
                m_PlayerMobile = (PlayerMobile)reader.ReadMobile();

                m_GrimoirePage       = (GrimoirePage)reader.ReadInt();
                m_BossPageNumber     = reader.ReadInt();
                m_ChampionPageNumber = reader.ReadInt();
                m_LoHBossPageNumber  = reader.ReadInt();
                m_RarePageNumber     = reader.ReadInt();
                m_ParagonPageNumber  = reader.ReadInt();

                m_TotalPointsEarned = reader.ReadInt();
                m_AvailablePoints   = reader.ReadInt();

                int creatureEntriesCount = reader.ReadInt();
                for (int a = 0; a < creatureEntriesCount; a++)
                {
                    Type         creatureType = Type.GetType(reader.ReadString());
                    MHSGroupType groupType    = (MHSGroupType)reader.ReadInt();
                    int          timesKilled  = reader.ReadInt();
                    DateTime     lastKilled   = reader.ReadDateTime();

                    MHSCreaturePlayerEntry creaturePlayerEntry = new MHSCreaturePlayerEntry(creatureType, groupType);
                    creaturePlayerEntry.m_TimesKilled = timesKilled;
                    creaturePlayerEntry.m_LastKilled  = lastKilled;

                    int taskCount = reader.ReadInt();
                    for (int b = 0; b < taskCount; b++)
                    {
                        MHSTaskType taskType       = (MHSTaskType)reader.ReadInt();
                        int         timesCompleted = reader.ReadInt();
                        DateTime    lastCompleted  = reader.ReadDateTime();

                        MHSCreatureTaskPlayerEntry taskEntry = new MHSCreatureTaskPlayerEntry(taskType);
                        taskEntry.m_TimesCompleted    = timesCompleted;
                        taskEntry.m_LastTimeCompleted = lastCompleted;

                        creaturePlayerEntry.m_Tasks.Add(taskEntry);
                    }

                    m_CreatureEntries.Add(creaturePlayerEntry);
                }
            }

            //---------

            MHSPersistance.m_PlayerEntries.Add(this);
        }
Beispiel #3
0
        public static List <MHSCreatureTask> GetCreatureTasks(MHSGroupType groupType)
        {
            List <MHSCreatureTask> m_Tasks = new List <MHSCreatureTask>();

            switch (groupType)
            {
            case MHSGroupType.Boss:
                m_Tasks.Add(new MHSCreatureTask(MHSTaskType.Damage66PercentOfTotalNoPoisonOrCreatureDamage, false, 8));
                m_Tasks.Add(new MHSCreatureTask(MHSTaskType.Damage66PercentOfTotal, false, 7));
                m_Tasks.Add(new MHSCreatureTask(MHSTaskType.Damage33PercentOfTotalNoPoisonOrCreatureDamage, false, 6));
                m_Tasks.Add(new MHSCreatureTask(MHSTaskType.Damage33PercentOfTotal, false, 5));
                m_Tasks.Add(new MHSCreatureTask(MHSTaskType.Damage5PercentOfTotal, true, 3));
                break;

            case MHSGroupType.Champion:
                m_Tasks.Add(new MHSCreatureTask(MHSTaskType.Damage95PercentOfTotalNoPoisonOrCreatureDamage, false, 6));
                m_Tasks.Add(new MHSCreatureTask(MHSTaskType.Damage95PercentOfTotal, false, 5));
                m_Tasks.Add(new MHSCreatureTask(MHSTaskType.Damage66PercentOfTotalNoPoisonOrCreatureDamage, false, 4));
                m_Tasks.Add(new MHSCreatureTask(MHSTaskType.Damage66PercentOfTotal, false, 3));
                m_Tasks.Add(new MHSCreatureTask(MHSTaskType.Damage5PercentOfTotal, true, 2));
                break;

            case MHSGroupType.LoHBoss:
                m_Tasks.Add(new MHSCreatureTask(MHSTaskType.Damage66PercentOfTotalNoPoisonOrCreatureDamage, false, 6));
                m_Tasks.Add(new MHSCreatureTask(MHSTaskType.Damage66PercentOfTotal, false, 5));
                m_Tasks.Add(new MHSCreatureTask(MHSTaskType.Damage33PercentOfTotalNoPoisonOrCreatureDamage, false, 4));
                m_Tasks.Add(new MHSCreatureTask(MHSTaskType.Damage33PercentOfTotal, false, 3));
                m_Tasks.Add(new MHSCreatureTask(MHSTaskType.Damage5PercentOfTotal, true, 2));
                break;

            case MHSGroupType.Rare:
                m_Tasks.Add(new MHSCreatureTask(MHSTaskType.Damage95PercentOfTotalNoPoisonOrCreatureDamage, false, 5));
                m_Tasks.Add(new MHSCreatureTask(MHSTaskType.Damage95PercentOfTotal, false, 4));
                m_Tasks.Add(new MHSCreatureTask(MHSTaskType.Damage5PercentOfTotalNoPoisonOrCreatureDamage, false, 3));
                m_Tasks.Add(new MHSCreatureTask(MHSTaskType.Damage5PercentOfTotal, true, 2));
                break;

            case MHSGroupType.Paragon:
                m_Tasks.Add(new MHSCreatureTask(MHSTaskType.Damage95PercentOfTotalNoPoisonOrCreatureDamage, false, 4));
                m_Tasks.Add(new MHSCreatureTask(MHSTaskType.Damage95PercentOfTotal, false, 3));
                m_Tasks.Add(new MHSCreatureTask(MHSTaskType.Damage5PercentOfTotalNoPoisonOrCreatureDamage, false, 2));
                m_Tasks.Add(new MHSCreatureTask(MHSTaskType.Damage5PercentOfTotal, true, 1));
                break;
            }

            return(m_Tasks);
        }
Beispiel #4
0
        public static int GetGroupTypeTextHue(MHSGroupType groupType)
        {
            int hue = 0;

            switch (groupType)
            {
            case MHSGroupType.Boss: hue = BossTextHue; break;

            case MHSGroupType.Champion: hue = ChampionTextHue; break;

            case MHSGroupType.LoHBoss: hue = LoHBossTextHue; break;

            case MHSGroupType.Rare: hue = RareTextHue; break;

            case MHSGroupType.Paragon: hue = ParagonTextHue; break;
            }

            return(hue);
        }
Beispiel #5
0
        public static string GetGroupTypeName(MHSGroupType groupType)
        {
            string name = "";

            switch (groupType)
            {
            case MHSGroupType.Boss: name = "Boss"; break;

            case MHSGroupType.Champion: name = "Champion"; break;

            case MHSGroupType.LoHBoss: name = "League of Heroes"; break;

            case MHSGroupType.Rare: name = "Rare"; break;

            case MHSGroupType.Paragon: name = "Paragon"; break;
            }

            return(name);
        }
Beispiel #6
0
        public MHSCreatureEntryGump(PlayerMobile player) : base(7, 7)
        {
            if (player == null)
            {
                return;
            }
            if (player.Deleted)
            {
                return;
            }

            MHSPersistance.CheckAndCreateMHSAccountEntry(player);

            Closable   = true;
            Disposable = true;
            Dragable   = true;
            Resizable  = false;

            AddImage(205, 193, 11010);
            AddImage(204, 1, 11010);
            AddImage(3, 192, 11010);
            AddImage(3, 1, 11010);
            AddImage(301, 265, 2081);
            AddImage(300, 12, 2081);
            AddImage(301, 79, 2081);
            AddImage(302, 142, 2081);
            AddImage(301, 207, 2081);
            AddImage(299, 335, 2081);
            AddImage(43, 266, 2081);
            AddImage(41, 14, 2081);
            AddImage(43, 83, 2081);
            AddImage(43, 145, 2081);
            AddImage(43, 209, 2081);
            AddImage(41, 335, 2081);
            AddImage(43, 334, 2081);
            AddImage(220, 13, 2440);
            AddItem(131, 297, 6873);
            AddItem(154, 319, 6872);
            AddItem(124, 277, 6874);
            AddItem(149, 277, 6875);
            AddItem(177, 297, 6876);
            AddItem(194, 292, 6877);
            AddItem(203, 301, 6922);
            AddItem(162, 315, 6923);
            AddItem(104, 300, 6924);
            AddItem(143, 330, 6925);
            AddItem(192, 323, 6938);

            //----------------------------

            int whiteTextHue       = 2499;
            int greenTextHue       = 0x3F;
            int greyTextHue        = 2401;
            int blueTextHue        = 2603;
            int yellowTextHue      = 2550;
            int lightGreenTextHue  = 2599;
            int orangeTextHue      = 149;
            int purpleTextHue      = 1164;
            int lightPurpleTextHue = 2628;

            int bossTextHue     = 2115;
            int championTextHue = 2603;
            int LoHBossTextHue  = 2607;
            int rareTextHue     = 1101;
            int paragonTextHue  = 2124;

            int pageNumber   = 1;
            int maxPageCount = 1;

            string creatureTypeText = "";
            int    creatureTypeHue  = bossTextHue;

            string creatureNameText = "";
            int    creatureNameHue  = bossTextHue;

            string creatureTitleText = "";
            int    creatureTitleHue  = yellowTextHue;

            int creatureIconItemId  = 9780;
            int creatureIconHue     = 0;
            int creatureIconOffsetX = 0;
            int creatureIconOffsetY = 0;

            int timesKilled = 0;

            string lastKilled = "";

            MHSGroupType groupType    = MHSGroupType.Boss;
            Type         creatureType = null;

            switch (player.m_MHSPlayerEntry.m_GrimoirePage)
            {
            case MHSPlayerEntry.GrimoirePage.Boss:
                groupType = MHSGroupType.Boss;

                pageNumber   = player.m_MHSPlayerEntry.m_BossPageNumber;
                maxPageCount = MHSCreatures.BossList.Count;

                creatureType = MHSCreatures.BossList[pageNumber - 1];

                creatureTypeText = "Bosses";
                creatureTypeHue  = bossTextHue;
                creatureNameHue  = bossTextHue;
                break;

            case MHSPlayerEntry.GrimoirePage.Champion:
                groupType = MHSGroupType.Champion;

                pageNumber   = player.m_MHSPlayerEntry.m_ChampionPageNumber;
                maxPageCount = MHSCreatures.ChampionList.Count;

                creatureType = MHSCreatures.ChampionList[pageNumber - 1];

                creatureTypeText = "Champions";
                creatureTypeHue  = championTextHue;
                creatureNameHue  = championTextHue;
                break;

            case MHSPlayerEntry.GrimoirePage.LoHBoss:
                groupType = MHSGroupType.LoHBoss;

                pageNumber   = player.m_MHSPlayerEntry.m_LoHBossPageNumber;
                maxPageCount = MHSCreatures.LoHBossList.Count;

                creatureType = MHSCreatures.LoHBossList[pageNumber - 1];

                creatureTypeText = "League of Heroes";
                creatureTypeHue  = LoHBossTextHue;
                creatureNameHue  = LoHBossTextHue;
                break;

            case MHSPlayerEntry.GrimoirePage.Rare:
                groupType = MHSGroupType.Rare;

                pageNumber   = player.m_MHSPlayerEntry.m_RarePageNumber;
                maxPageCount = MHSCreatures.RareList.Count;

                creatureType = MHSCreatures.RareList[pageNumber - 1];

                creatureTypeText = "Rare Creatures";
                creatureTypeHue  = rareTextHue;
                creatureNameHue  = rareTextHue;
                break;

            case MHSPlayerEntry.GrimoirePage.Paragon:
                groupType = MHSGroupType.Paragon;

                pageNumber   = player.m_MHSPlayerEntry.m_ParagonPageNumber;
                maxPageCount = MHSCreatures.ParagonList.Count;

                creatureType = MHSCreatures.ParagonList[pageNumber - 1];

                creatureTypeText = "Paragons";
                creatureTypeHue  = paragonTextHue;
                creatureNameHue  = paragonTextHue;
                break;
            }

            if (creatureType == null)
            {
                player.CloseGump(typeof(MHSCreatureEntryGump));
                return;
            }

            MHSCreatureDetail creatureDetail = MHSCreatures.GetCreatureDetail(groupType, creatureType);

            creatureNameText  = creatureDetail.m_Name;
            creatureTitleText = creatureDetail.m_Title;

            creatureIconItemId  = creatureDetail.m_IconItemID;
            creatureIconHue     = creatureDetail.m_IconHue;
            creatureIconOffsetX = creatureDetail.m_IconOffsetX;
            creatureIconOffsetY = creatureDetail.m_IconOffsetY;

            MHSCreaturePlayerEntry creaturePlayerEntry = MHSCreatures.GetCreaturePlayerEntry(player, groupType, creatureType);

            timesKilled = creaturePlayerEntry.m_TimesKilled;

            if (creaturePlayerEntry.m_LastKilled != DateTime.MaxValue)
            {
                lastKilled = creaturePlayerEntry.m_LastKilled.ToShortDateString();
            }

            //Left Page
            AddLabel(Utility.CenteredTextOffset(305, creatureTypeText), 14, creatureTypeHue, creatureTypeText);    //Creature Type

            AddLabel(Utility.CenteredTextOffset(180, creatureNameText), 40, creatureNameHue, creatureNameText);    //Creature Name
            AddLabel(Utility.CenteredTextOffset(180, creatureTitleText), 60, creatureTitleHue, creatureTitleText); //Creature Title

            AddItem(148 + creatureIconOffsetX, 99 + creatureIconOffsetY, creatureIconItemId, creatureIconHue);     //Creature Icon

            AddLabel(90, 195, whiteTextHue, "Times Killed");
            AddItem(158, 199, 6884);
            AddLabel(198, 195, greenTextHue, timesKilled.ToString());

            AddLabel(78, 225, whiteTextHue, "Last Kill Date");
            AddItem(158, 221, 6160);
            AddLabel(195, 225, greenTextHue, lastKilled);

            AddButton(83, 372, 2151, 2154, 1, GumpButtonType.Reply, 0);
            AddLabel(117, 376, greenTextHue, "Go to Table of Contents");

            //Right Page
            AddLabel(405, 40, orangeTextHue, "Kill Tasks");

            int startX = 310;
            int startY = 65;

            for (int a = 0; a < creatureDetail.m_Tasks.Count; a++)
            {
                MHSCreatureTask creatureTask = creatureDetail.m_Tasks[a];

                string[] taskDescription = MHSCreatures.GetTaskDescription(creatureTask.m_TaskType);
                bool     repeatable      = creatureTask.m_Repeatable;
                int      pointsGranted   = creatureTask.m_PointsGranted;

                int      timesCompleted = 0;
                DateTime lastCompleted  = DateTime.MaxValue;

                foreach (MHSCreatureTaskPlayerEntry creaturePlayerTask in creaturePlayerEntry.m_Tasks)
                {
                    if (creaturePlayerTask.m_TaskType == creatureTask.m_TaskType)
                    {
                        timesCompleted = creaturePlayerTask.m_TimesCompleted;
                        lastCompleted  = creaturePlayerTask.m_LastTimeCompleted;

                        break;
                    }
                }

                if (timesCompleted > 0 && !repeatable)
                {
                    AddImage(startX, startY, 9730, 0);
                }

                else
                {
                    AddImage(startX, startY, 9727, 0);
                }

                startY += 3;

                for (int b = 0; b < taskDescription.Length; b++)
                {
                    string descriptionText = taskDescription[b];

                    if (timesCompleted > 0 && !repeatable)
                    {
                        AddLabel(startX + 40, startY, greyTextHue, descriptionText);
                    }

                    else
                    {
                        AddLabel(startX + 40, startY, whiteTextHue, descriptionText);
                    }

                    startY += 18;
                }

                int pointsX = 438;

                string text = pointsGranted.ToString() + " Points";

                AddLabel(Utility.CenteredTextOffset(pointsX, text), startY, lightGreenTextHue, text);

                if (repeatable)
                {
                    text = "(Repeatable Task)";

                    startY += 18;
                    AddLabel(Utility.CenteredTextOffset(pointsX + 5, text), startY, blueTextHue, text);
                }

                startY += 25;
            }

            //Store Values
            m_PageNumber   = pageNumber;
            m_MaxPageCount = maxPageCount;

            if (pageNumber <= maxPageCount && pageNumber > 1)
            {
                AddButton(345, 378, 4014, 4014, 10, GumpButtonType.Reply, 0); //Previous
            }
            string pagePosition = "Page " + pageNumber.ToString() + " of " + maxPageCount.ToString();

            AddLabel(Utility.CenteredTextOffset(430, pagePosition), 378, 2499, pagePosition);

            if (pageNumber < maxPageCount)
            {
                AddButton(490, 378, 4007, 4007, 11, GumpButtonType.Reply, 0); //Next
            }
        }
Beispiel #7
0
 public MHSCreaturePlayerEntry(Type type, MHSGroupType groupType)
 {
     m_CreatureType = type;
     m_GroupType    = groupType;
 }
Beispiel #8
0
        public static void ResolveCreatureKilled(MHSGroupType groupType, BaseCreature creature, PlayerMobile player, double damagePercent, bool takenPoisonDamage, bool takenCreatureDamage)
        {
            List <MHSCreatureTask> creatureTasks       = MHSCreatures.GetCreatureTasks(groupType);
            MHSCreaturePlayerEntry creaturePlayerEntry = MHSCreatures.GetCreaturePlayerEntry(player, groupType, creature.GetType());

            MHSCreatureTaskPlayerEntry bestValidTask = null;
            int highestTaskPoints = 0;

            int creatureIndex = -1;
            int taskIndex     = -1;

            foreach (MHSCreatureTask creatureTask in creatureTasks)
            {
                bool taskSuccessful = false;

                switch (creatureTask.m_TaskType)
                {
                case MHSTaskType.Damage5PercentOfTotal:
                    if (damagePercent >= .05)
                    {
                        taskSuccessful = true;
                    }
                    break;

                case MHSTaskType.Damage5PercentOfTotalNoPoisonOrCreatureDamage:
                    if (damagePercent >= .05 && !takenPoisonDamage && !takenCreatureDamage)
                    {
                        taskSuccessful = true;
                    }
                    break;

                case MHSTaskType.Damage33PercentOfTotal:
                    if (damagePercent >= .33)
                    {
                        taskSuccessful = true;
                    }
                    break;

                case MHSTaskType.Damage33PercentOfTotalNoPoisonOrCreatureDamage:
                    if (damagePercent >= .33 && !takenPoisonDamage && !takenCreatureDamage)
                    {
                        taskSuccessful = true;
                    }
                    break;

                case MHSTaskType.Damage66PercentOfTotal:
                    if (damagePercent >= .66)
                    {
                        taskSuccessful = true;
                    }
                    break;

                case MHSTaskType.Damage66PercentOfTotalNoPoisonOrCreatureDamage:
                    if (damagePercent >= .66 && !takenPoisonDamage && !takenCreatureDamage)
                    {
                        taskSuccessful = true;
                    }
                    break;

                case MHSTaskType.Damage95PercentOfTotal:
                    if (damagePercent >= .95)
                    {
                        taskSuccessful = true;
                    }
                    break;

                case MHSTaskType.Damage95PercentOfTotalNoPoisonOrCreatureDamage:
                    if (damagePercent >= .95 && !takenPoisonDamage && !takenCreatureDamage)
                    {
                        taskSuccessful = true;
                    }
                    break;
                }

                if (!taskSuccessful)
                {
                    continue;
                }

                MHSCreatureTaskPlayerEntry playerTaskEntry = null;

                int index = 0;

                for (int a = 0; a < creaturePlayerEntry.m_Tasks.Count; a++)
                {
                    if (creatureTask.m_TaskType == creaturePlayerEntry.m_Tasks[a].m_TaskType)
                    {
                        playerTaskEntry = creaturePlayerEntry.m_Tasks[a];

                        break;
                    }
                }

                if (playerTaskEntry == null)
                {
                    playerTaskEntry = new MHSCreatureTaskPlayerEntry(creatureTask.m_TaskType);
                    creaturePlayerEntry.m_Tasks.Add(playerTaskEntry);

                    index = creaturePlayerEntry.m_Tasks.Count - 1;
                }

                if (playerTaskEntry.m_TimesCompleted > 0 && !creatureTask.m_Repeatable)
                {
                    continue;
                }

                if (creatureTask.m_PointsGranted > highestTaskPoints)
                {
                    highestTaskPoints = creatureTask.m_PointsGranted;
                    bestValidTask     = playerTaskEntry;
                }
            }

            if (highestTaskPoints > 0 && bestValidTask != null)
            {
                creaturePlayerEntry.m_TimesKilled++;
                creaturePlayerEntry.m_LastKilled = DateTime.UtcNow;

                bestValidTask.m_TimesCompleted++;
                bestValidTask.m_LastTimeCompleted = DateTime.UtcNow;

                player.m_MHSPlayerEntry.m_AvailablePoints   += highestTaskPoints;
                player.m_MHSPlayerEntry.m_TotalPointsEarned += highestTaskPoints;

                MHSCreatureDetail creatureDetail = MHSCreatures.GetCreatureDetail(groupType, creature.GetType());

                string   creatureName    = creatureDetail.m_Name;
                string   groupName       = MHSCreatures.GetGroupTypeName(groupType);
                string[] taskDescription = MHSCreatures.GetTaskDescription(bestValidTask.m_TaskType);
                string   taskName        = "";

                int textHue = GetGroupTypeTextHue(groupType);

                for (int a = 0; a < taskDescription.Length; a++)
                {
                    taskName += taskDescription[a];

                    if (a != taskDescription.Length - 1)
                    {
                        taskName += " ";
                    }
                }

                string message = "You have earned " + highestTaskPoints.ToString() + " points in the Monster Hunter's Society for the task of: " + creatureName + " [" + groupName + "]" + " - " + taskName + ".";

                player.SendMessage(textHue, message);

                player.FixedEffect(0x373A, 10, 30, 0, 0);
                player.PlaySound(0x5A7);
            }
        }
Beispiel #9
0
        public static MHSCreaturePlayerEntry GetCreaturePlayerEntry(PlayerMobile player, MHSGroupType groupType, Type creatureType)
        {
            MHSPersistance.CheckAndCreateMHSAccountEntry(player);

            foreach (MHSCreaturePlayerEntry creatureEntry in player.m_MHSPlayerEntry.m_CreatureEntries)
            {
                if (creatureEntry.m_CreatureType == creatureType && creatureEntry.m_GroupType == groupType)
                {
                    return(creatureEntry);
                }
            }

            MHSCreaturePlayerEntry newEntry = new MHSCreaturePlayerEntry(creatureType, groupType);

            player.m_MHSPlayerEntry.m_CreatureEntries.Add(newEntry);

            return(newEntry);
        }
Beispiel #10
0
        public static MHSCreatureDetail GetCreatureDetail(MHSGroupType groupType, Type creatureType)
        {
            MHSCreatureDetail creatureDetail = new MHSCreatureDetail();

            switch (groupType)
            {
                #region Bosses

            case MHSGroupType.Boss:
                if (creatureType == typeof(TheDeepOne))
                {
                    creatureDetail.m_Name  = "The Deep One";
                    creatureDetail.m_Title = "Oceanic Terror";

                    creatureDetail.m_IconItemID  = 17037;
                    creatureDetail.m_IconHue     = 2569;
                    creatureDetail.m_IconOffsetX = 0;
                    creatureDetail.m_IconOffsetY = 0;
                }

                if (creatureType == typeof(EmperorDragon))
                {
                    creatureDetail.m_Name  = "Lyth the Destroyer";
                    creatureDetail.m_Title = "Emperor Dragon";

                    creatureDetail.m_IconItemID  = 9780;
                    creatureDetail.m_IconHue     = 0;
                    creatureDetail.m_IconOffsetX = 0;
                    creatureDetail.m_IconOffsetY = 0;
                }

                if (creatureType == typeof(DemonwebQueen))
                {
                    creatureDetail.m_Name  = "Demonweb Queen";
                    creatureDetail.m_Title = "Arachnid Matriarch";

                    creatureDetail.m_IconItemID  = 8531;
                    creatureDetail.m_IconHue     = 0;
                    creatureDetail.m_IconOffsetX = 0;
                    creatureDetail.m_IconOffsetY = 0;
                }

                if (creatureType == typeof(Maggot))
                {
                    creatureDetail.m_Name  = "Maggot";
                    creatureDetail.m_Title = "Diseased Behemoth";

                    creatureDetail.m_IconItemID  = 11650;
                    creatureDetail.m_IconHue     = 0;
                    creatureDetail.m_IconOffsetX = 0;
                    creatureDetail.m_IconOffsetY = 0;
                }

                if (creatureType == typeof(AncientNecromancer))
                {
                    creatureDetail.m_Name  = "Ancient Necromancer";
                    creatureDetail.m_Title = "Eldritch Horror";

                    creatureDetail.m_IconItemID  = 17050;
                    creatureDetail.m_IconHue     = 0;
                    creatureDetail.m_IconOffsetX = 0;
                    creatureDetail.m_IconOffsetY = 0;
                }
                break;

                #endregion

                #region Champions

            case MHSGroupType.Champion:
                if (creatureType == typeof(Atraxis))
                {
                }
                break;

                #endregion

                #region LoH Boss

            case MHSGroupType.LoHBoss:
                /*
                 * if (creatureType == typeof(SuperOgreLord))
                 * {
                 * }
                 */
                break;

                #endregion

                #region Rare

            case MHSGroupType.Rare:
                if (creatureType == typeof(Dragon))
                {
                }
                break;

                #endregion

                #region Paragon

            case MHSGroupType.Paragon:
                if (creatureType == typeof(Dragon))
                {
                }
                break;

                #endregion
            }

            //Assign Tasks
            List <MHSCreatureTask> m_Tasks = GetCreatureTasks(groupType);

            foreach (MHSCreatureTask task in m_Tasks)
            {
                creatureDetail.m_Tasks.Add(new MHSCreatureTask(task.m_TaskType, task.m_Repeatable, task.m_PointsGranted));
            }

            return(creatureDetail);
        }