public LargeHuntBOD()
        {
            int curLevel  = 0;
            int levelMax  = 0;
            int amountMax = 0;

            HuntBodUtility.GetLargeBodProps(Utility.RandomMinMax(80, 120), out levelMax, out amountMax);
            LargeBulkEntry[] entries = LargeBulkEntry.ConvertEntries(this, HuntBodUtility.GetLargeEntry(out curLevel, levelMax));

            this.Hue                = HuntBodUtility.HuntBodDeedHue;
            this.AmountMax          = amountMax;
            this.Entries            = entries;
            this.RequireExceptional = false;
            this.Material           = (BulkMaterialType)curLevel;
        }
        public static LargeHuntBOD CreateRandomFor(Mobile m, double skill)
        {
            int curLevel  = 0;
            int levelMax  = 0;
            int amountMax = 0;

            HuntBodUtility.GetLargeBodProps(skill, out levelMax, out amountMax);

            LargeHuntBOD largeBod = new LargeHuntBOD(amountMax, false, 0, null);

            largeBod.Entries  = LargeBulkEntry.ConvertEntries(largeBod, HuntBodUtility.GetLargeEntry(out curLevel, levelMax));
            largeBod.Material = (BulkMaterialType)curLevel;

            return(largeBod);
        }
示例#3
0
        public static SmallHuntBOD CreateRandomFor(Mobile m, double skill)
        {
            int curLevel  = 0;
            int levelMax  = 0;
            int amountMax = 0;

            HuntBodUtility.GetSmallBodProps(skill, out levelMax, out amountMax);
            SmallBulkEntry[] entries = HuntBodUtility.GetSmallEntry(out curLevel, levelMax);

            if (entries.Length > 0)
            {
                return(new SmallHuntBOD(entries[Utility.Random(entries.Length)], curLevel, amountMax, false));
            }
            else
            {
                return(null);
            }
        }
示例#4
0
        public override List <Item> ComputeRewards(bool full)
        {
            List <Item> list = new List <Item>();

            Container cont = new Bag();

            int minProp = Level + 1;

            if (minProp > 3)
            {
                minProp = 3;
            }

            //EUtility.AddRandomLoot(cont, (Level + 1) * 3, (int)(Level * 300 + AmountMax / 20.0 * 300), ScaleTypes.PlayerLuck, minProp, 5, 10, 100);

            cont.DropItem(HuntBodUtility.GetSmallRewardItem(Level));

            list.Add(cont);

            return(list);
        }
示例#5
0
        public SmallHuntBOD()
        {
            int curLevel  = 0;
            int levelMax  = 0;
            int amountMax = 0;

            HuntBodUtility.GetSmallBodProps(Utility.RandomMinMax(80, 120), out levelMax, out amountMax);
            SmallBulkEntry[] entries = HuntBodUtility.GetSmallEntry(out curLevel, levelMax);

            if (entries.Length > 0)
            {
                SmallBulkEntry entry = entries[Utility.Random(entries.Length)];

                this.Hue                = HuntBodUtility.HuntBodDeedHue;
                this.AmountMax          = amountMax;
                this.Type               = entry.Type;
                this.Number             = entry.Number;
                this.Graphic            = entry.Graphic;
                this.RequireExceptional = false;
                this.Material           = (BulkMaterialType)curLevel;
            }
        }
        public override List <Item> ComputeRewards(bool full)
        {
            List <Item> list = new List <Item>();

            double psChance   = 0;
            int    iPSMin     = 0;
            int    iPSMax     = 0;
            int    itemAmount = (Level + 1) * this.Entries.Length;

            switch (Level)
            {
            default:
            case 0:     // Easy
                psChance = 0.03;
                iPSMin   = 5;
                iPSMax   = 5;
                break;

            case 1:     // Medium
                psChance = 0.05;
                iPSMin   = 5;
                iPSMax   = 5;
                break;

            case 2:     // Hard
                psChance = 0.10;
                iPSMin   = 5;
                iPSMax   = 5;
                break;

            case 3:     // Very Hard
                psChance = 0.20;
                iPSMin   = 10;
                iPSMax   = 10;
                break;
            }

            psChance += this.AmountMax / 200.0;
            psChance += this.Entries.Length / 60.0;

            Container cont = new Bag();

            int minProp = Level + 3;

            if (minProp > 5)
            {
                minProp = 5;
            }

            //EUtility.AddRandomLoot(cont, (Level + 1) * 3, (int)(Level * 300 + AmountMax / 20.0 * 150 + Entries.Length / 6.0 * 150), ScaleTypes.PlayerLuck, minProp, 5, 50, 100);

            cont.DropItem(HuntBodUtility.GetLargeRewardItem(Level));

            if (psChance >= Utility.RandomDouble() && iPSMin > 0 && iPSMax > 0)
            {
                cont.DropItem(PowerScroll.CreateRandomNoCraft(iPSMin, iPSMax));
            }

            list.Add(cont);

            return(list);
        }
        public override void GetProperties(ObjectPropertyList list)
        {
            base.GetProperties(list);

            list.Add(1042971, string.Format("Difficulty Level: {0}", HuntBodUtility.GetDifficultyLevel(Level))); // ~1_NOTHING~
        }