public override ArrayList ComputeRewards()
        {
            Type primaryType;

            if (Entries.Length > 0)
            {
                primaryType = Entries[0].Details.Type;
            }
            else
            {
                return(new ArrayList());
            }

            bool tps15 = false, tps20 = false;
            bool lps15 = false, lps20 = false;
            bool vps15 = false, vps20 = false;
            bool midpps = false, highpps = false;
            bool ts15 = false, ts20 = false;
            bool ls15 = false, ls20 = false;
            bool vs15 = false, vs20 = false;
            bool rpd = false;
            bool epd = false;
            bool pbd = false;
            bool pcd = false;
            bool tps10 = false, lps10 = false, vps10 = false;

            if (Entries.Length == 2)
            {
                if (AmountMax == 10)
                {
                    tps10 = true;
                    lps10 = true;
                    vps10 = true;
                }
                else if (AmountMax == 15)
                {
                    midpps = true;
                }
                else if (AmountMax == 20)
                {
                    highpps = true;
                }
            }
            else if (Entries.Length == 3)
            {
                if (AmountMax == 10)
                {
                    highpps = true;
                }
                else if (AmountMax == 15)
                {
                    ts15 = true;
                    ls15 = true;
                    vs15 = true;
                }
                else if (AmountMax == 20)
                {
                    ts20 = true;
                    ls20 = true;
                    vs20 = true;
                }
            }
            else if (Entries.Length == 4)
            {
                if (AmountMax == 10)
                {
                    ts20 = true;
                    ls20 = true;
                    vs20 = true;
                }
                else if (AmountMax == 15)
                {
                    rpd = true;
                }
                else if (AmountMax == 20)
                {
                    epd = true;
                }
            }
            else if (Entries.Length == 5)
            {
                if (AmountMax == 10)
                {
                    epd = true;
                }
                else if (AmountMax == 15)
                {
                    tps15 = true;
                    lps15 = true;
                    vps15 = true;
                }
                else if (AmountMax == 20)
                {
                    tps20 = true;
                    lps20 = true;
                    vps20 = true;
                }
            }
            else
            {
                if (AmountMax == 10)
                {
                    tps20 = true;
                    lps20 = true;
                    vps20 = true;
                }
                else if (AmountMax == 15)
                {
                    pbd = true;
                }
                else if (AmountMax == 20)
                {
                    pcd = true;
                }
            }

            ArrayList list = new ArrayList();

            if (tps15)
            {
                list.Add(new PowerScroll(SkillName.AnimalTaming, 115));
            }

            if (tps20)
            {
                list.Add(new PowerScroll(SkillName.AnimalTaming, 120));
            }

            if (lps15)
            {
                list.Add(new PowerScroll(SkillName.AnimalLore, 115));
            }

            if (lps20)
            {
                list.Add(new PowerScroll(SkillName.AnimalLore, 120));
            }

            if (vps15)
            {
                list.Add(new PowerScroll(SkillName.Veterinary, 115));
            }

            if (vps20)
            {
                list.Add(new PowerScroll(SkillName.Veterinary, 120));
            }

            if (ts15)
            {
                list.Add(new SandalsOfAnimalTaming(15));
            }

            if (ls15)
            {
                list.Add(new SandalsOfAnimalLore(15));
            }

            if (vs15)
            {
                list.Add(new SandalsOfVeterinary(15));
            }

            if (ts20)
            {
                list.Add(new SandalsOfAnimalTaming(20));
            }

            if (ls20)
            {
                list.Add(new SandalsOfAnimalLore(20));
            }

            if (vs20)
            {
                list.Add(new SandalsOfVeterinary(20));
            }

            if (midpps)
            {
                list.Add(PetPowerScroll.CreateRandom(10, 15));
            }

            if (highpps)
            {
                list.Add(PetPowerScroll.CreateRandom(15, 20));
            }

            if (rpd)
            {
                list.Add(new RarePetDye());
            }

            if (epd)
            {
                list.Add(new EtherealPetDye());
            }

            if (pbd)
            {
                list.Add(new PetBondingDeed());
            }

            if (pcd)
            {
                list.Add(new PetControlSlotDeed());
            }

            if (tps10)
            {
                list.Add(new PowerScroll(SkillName.AnimalTaming, 110));
            }

            if (lps10)
            {
                list.Add(new PowerScroll(SkillName.AnimalLore, 110));
            }

            if (vps10)
            {
                list.Add(new PowerScroll(SkillName.Veterinary, 110));
            }

            return(list);
        }
        public override ArrayList ComputeRewards()
        {
            if (Type == null)
            {
                return(new ArrayList());
            }

            bool tps5 = false, tps10 = false;
            bool lps5 = false, lps10 = false;
            bool vps5 = false, vps10 = false;
            bool ts5 = false, ts10 = false;
            bool ls5 = false, ls10 = false;
            bool vs5 = false, vs10 = false;
            bool pmd    = false;
            bool pbl    = false;
            bool dye    = false;
            bool lowpps = false;
            bool midpps = false;

            if (Type.IsSubclassOf(typeof(BaseCreature)))
            {
                BaseCreature bc = null;

                if (Type != null)
                {
                    object o = Activator.CreateInstance(Type);
                    bc = o as BaseCreature;
                }

                if (bc.MinTameSkill <= 25.0)                   // Tier one Rewards
                {
                    if (AmountMax == 10)
                    {
                        pmd = true;
                    }
                    else if (AmountMax == 15)
                    {
                        pbl = true;
                    }
                    else if (AmountMax == 20)
                    {
                        ts5 = true;
                        ls5 = true;
                        vs5 = true;
                    }
                }
                else if (bc.MinTameSkill <= 65.0)                   // Tier two Rewards
                {
                    if (AmountMax == 10)
                    {
                        ts5 = true;
                        ls5 = true;
                        vs5 = true;
                    }
                    else if (AmountMax == 15)
                    {
                        ts10 = true;
                        ls10 = true;
                        vs10 = true;
                    }
                    else if (AmountMax == 20)
                    {
                        lowpps = true;
                    }
                }
                else if (bc.MinTameSkill <= 80.0)                   // Tier three Rewards
                {
                    if (AmountMax == 10)
                    {
                        lowpps = true;
                    }
                    else if (AmountMax == 15)
                    {
                        dye = true;
                    }
                    else if (AmountMax == 20)
                    {
                        midpps = true;
                    }
                }
                else                                                                    // Tier four rewards
                {
                    if (AmountMax == 10)
                    {
                        midpps = true;
                    }
                    else if (AmountMax == 15)
                    {
                        tps5 = true;
                        lps5 = true;
                        vps5 = true;
                    }
                    else if (AmountMax == 20)
                    {
                        tps10 = true;
                        lps10 = true;
                        vps10 = true;
                    }
                }

                bc.Delete();
            }

            ArrayList list = new ArrayList();

            if (tps5)
            {
                list.Add(new PowerScroll(SkillName.AnimalTaming, 105));
            }

            if (tps10)
            {
                list.Add(new PowerScroll(SkillName.AnimalTaming, 110));
            }

            if (lps5)
            {
                list.Add(new PowerScroll(SkillName.AnimalLore, 105));
            }

            if (lps10)
            {
                list.Add(new PowerScroll(SkillName.AnimalLore, 110));
            }

            if (vps5)
            {
                list.Add(new PowerScroll(SkillName.Veterinary, 105));
            }

            if (dye)
            {
                list.Add(new PetBleach());
            }

            if (pbl)
            {
                list.Add(new PetBleach());
            }

            if (pmd)
            {
                list.Add(new PetSkillCapDeed());
            }

            if (ts5)
            {
                list.Add(new SandalsOfAnimalTaming(5));
            }

            if (ts10)
            {
                list.Add(new SandalsOfAnimalTaming(10));
            }

            if (ls5)
            {
                list.Add(new SandalsOfAnimalLore(5));
            }

            if (ls10)
            {
                list.Add(new SandalsOfAnimalLore(10));
            }

            if (vs5)
            {
                list.Add(new SandalsOfAnimalLore(5));
            }

            if (vs10)
            {
                list.Add(new SandalsOfAnimalLore(10));
            }

            if (vps10)
            {
                list.Add(new PowerScroll(SkillName.Veterinary, 110));
            }

            if (lowpps)
            {
                list.Add(PetPowerScroll.CreateRandom(5, 10));
            }

            if (midpps)
            {
                list.Add(PetPowerScroll.CreateRandom(10, 15));
            }

            return(list);
        }