Example #1
0
        public LargeTailorBOD()
        {
            LargeBulkEntry[] entries;
            bool             useMaterials = false;

            switch (Utility.Random(14))
            {
            default:
            case 0: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.Farmer); break;

            case 1: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.FemaleLeatherSet); useMaterials = true; break;

            case 2: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.FisherGirl); break;

            case 3: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.Gypsy); break;

            case 4: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.HatSet); break;

            case 5: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.Jester); break;

            case 6: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.Lady); break;

            case 7: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.MaleLeatherSet); useMaterials = true; break;

            case 8: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.Pirate); break;

            case 9: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.ShoeSet); useMaterials = true; break;

            case 10: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.StuddedSet); useMaterials = true; break;

            case 11: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.TownCrier); break;

            case 12: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.Wizard); break;

            case 13: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.BoneSet); useMaterials = true; break;
            }

            int  hue            = 0x483;
            int  amountMax      = Utility.RandomList(10, 15, 20, 20);
            bool reqExceptional = (0.825 > Utility.RandomDouble());

            BulkMaterialType material;

            if (useMaterials)
            {
                material = GetRandomMaterial(BulkMaterialType.Spined, m_TailoringMaterialChances);
            }
            else
            {
                material = BulkMaterialType.None;
            }

            this.Hue                = hue;
            this.AmountMax          = amountMax;
            this.Entries            = entries;
            this.RequireExceptional = reqExceptional;
            this.Material           = material;
        }
Example #2
0
        public LargeCarpentryBOD()
        {
            LargeBulkEntry[] entries;
            bool             useMaterials = true;

            switch (Utility.Random(7))
            {
            default:
            case 0:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeArmoire);
                break;

            case 1:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeCabinets);
                break;

            case 2:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeChests);
                break;

            case 3:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeElvenWeapons);
                break;

            case 4:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeInstruments);
                break;

            case 5:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeWeapons);
                break;

            case 6:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeWoodFurniture);
                break;
            }

            int  hue            = 1512;
            int  amountMax      = Utility.RandomList(10, 15, 20, 20);
            bool reqExceptional = (0.825 > Utility.RandomDouble());

            BulkMaterialType material;

            if (useMaterials)
            {
                material = GetRandomMaterial(BulkMaterialType.OakWood, m_CarpentryingMaterialChances);
            }
            else
            {
                material = BulkMaterialType.None;
            }

            this.Hue                = hue;
            this.AmountMax          = amountMax;
            this.Entries            = entries;
            this.RequireExceptional = reqExceptional;
            this.Material           = material;
        }
Example #3
0
        public LargeSmithBOD(double theirSkill)
        {
            LargeBulkEntry[] entries;
            bool             useMaterials = true;

            int rand = Utility.Random(8);

            switch (rand)
            {
            default:
            case 0: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeRing); break;

            case 1: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargePlate); break;

            case 2: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeChain); break;

            case 3: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeAxes); break;

            case 4: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeFencing); break;

            case 5: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeMaces); break;

            case 6: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargePolearms); break;

            case 7: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeSwords); break;
            }

            if (rand > 2 && rand < 8)
            {
                useMaterials = false;
            }

            int  hue            = 0x44E;
            int  amountMax      = Utility.RandomList(10, 15, 20, 20);
            bool reqExceptional = (0.825 > Utility.RandomDouble());

            double bonus = (theirSkill - 100.0) * 0.02;

            Utility.FixMinMax(ref bonus, 0.0, 0.4);

            BulkMaterialType material;

            if (useMaterials)
            {
                material = GetRandomMaterial(BulkMaterialType.DullCopper, m_BlacksmithMaterialChances, bonus);
            }
            else
            {
                material = BulkMaterialType.None;
            }

            this.Hue                = hue;
            this.AmountMax          = amountMax;
            this.Entries            = entries;
            this.RequireExceptional = reqExceptional;
            this.Material           = material;
        }
Example #4
0
        public LargeTinkerBOD()
        {
            LargeBulkEntry[] entries;
            bool             useMaterials = true;
            bool             jewelry      = false;

            int rand = Utility.Random(4);

            switch (rand)
            {
            default:
            case 0:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeDining);
                break;

            case 1:
                entries      = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeJewelry);
                useMaterials = false;
                jewelry      = true;
                break;

            case 2:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeKeyGlobe);
                break;

            case 3:
                entries      = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeTools);
                useMaterials = false;
                break;
            }

            int  amountMax      = Utility.RandomList(10, 15, 20, 20);
            bool reqExceptional = (0.825 > Utility.RandomDouble());

            BulkMaterialType material;

            if (useMaterials)
            {
                material = GetRandomMaterial(BulkMaterialType.DullCopper, m_BlackTinkerMaterialChances);
            }
            else
            {
                material = BulkMaterialType.None;
            }

            Hue                = 1109;
            AmountMax          = amountMax;
            Entries            = entries;
            RequireExceptional = reqExceptional;
            Material           = material;

            if (jewelry)
            {
                AssignGemType();
            }
        }
Example #5
0
        public LargeInscriptionBOD()
        {
            LargeBulkEntry[] entries;

            switch (Utility.Random(10))
            {
            default:
            case 0:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeBooks);
                break;

            case 1:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeCircle1);
                break;

            case 2:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeCircle1and2);
                break;

            case 3:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeCircle4);
                break;

            case 4:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeCircle5);
                break;

            case 5:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeCircle7);
                break;

            case 6:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeCircle8);
                break;

            case 7:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeNecromancy1);
                break;

            case 8:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeNecromancy2);
                break;

            case 9:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeNecromancy3);
                break;
            }

            int amountMax = Utility.RandomList(10, 15, 20, 20);

            Hue       = 2598;
            AmountMax = amountMax;
            Entries   = entries;
        }
        public LargeFletchingBOD()
        {
            LargeBulkEntry[] entries;
            bool             useMaterials = true;

            switch (Utility.Random(5))
            {
            default:
            case 0:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeHumanBows1);
                break;

            case 1:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeHumanBows2);
                break;

            case 2:
                entries      = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeAmmunition);
                useMaterials = false;
                break;

            case 3:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeElvenBows1);
                break;

            case 4:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeElvenBows2);
                break;
            }

            int  hue            = 1425;
            int  amountMax      = Utility.RandomList(10, 15, 20, 20);
            bool reqExceptional = useMaterials && 0.825 > Utility.RandomDouble();

            BulkMaterialType material;

            if (useMaterials)
            {
                material = GetRandomMaterial(BulkMaterialType.OakWood, m_FletchingingMaterialChances);
            }
            else
            {
                material = BulkMaterialType.None;
            }

            this.Hue                = hue;
            this.AmountMax          = amountMax;
            this.Entries            = entries;
            this.RequireExceptional = reqExceptional;
            this.Material           = material;
        }
        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);
        }
        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;
        }
Example #9
0
        public LargeSmithBOD()
        {
            LargeBulkEntry[] entries;
            bool             useMaterials = true;

            switch (Utility.Random(4))
            {
            default:
            case 0:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeRing);
                break;

            case 1:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargePlate);
                break;

            case 2:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeChain);
                break;

            case 3:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeSEPlate);
                break;
            }

            int  hue            = 0x44E;
            int  amountMax      = Utility.RandomList(10, 15, 20, 20);
            bool reqExceptional = (0.825 > Utility.RandomDouble());

            BulkMaterialType material;

            if (useMaterials)
            {
                material = GetRandomMaterial(BulkMaterialType.DullCopper, m_BlacksmithMaterialChances);
            }
            else
            {
                material = BulkMaterialType.None;
            }

            this.Hue                = hue;
            this.AmountMax          = amountMax;
            this.Entries            = entries;
            this.RequireExceptional = reqExceptional;
            this.Material           = material;
        }
Example #10
0
        public LargeCookingBOD()
        {
            LargeBulkEntry[] entries;
            bool             nonexceptional = false;

            switch (Utility.Random(7))
            {
            default:
            case 0:
                entries        = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeBarbeque);
                nonexceptional = true;
                break;

            case 1:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeDough);
                break;

            case 2:
                entries        = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeFruits);
                nonexceptional = true;
                break;

            case 3:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeMiso);
                break;

            case 4:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeSushi);
                break;

            case 5:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeSweets);
                break;

            case 6:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeUnbakedPies);
                break;
            }

            this.Hue                = 1169;
            this.AmountMax          = Utility.RandomList(10, 15, 20, 20);
            this.Entries            = entries;
            this.RequireExceptional = !nonexceptional && 0.825 > Utility.RandomDouble();
        }
Example #11
0
        public LargeSmithBOD()
        {
            bool useMaterials = true;

            int rand = Utility.Random(8);

            LargeBulkEntry[] entries = rand switch
            {
                1 => LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargePlate),
                2 => LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeChain),
                3 => LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeAxes),
                4 => LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeFencing),
                5 => LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeMaces),
                6 => LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargePolearms),
                7 => LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeSwords),
                _ => LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeRing),
            };
            if (rand > 2 && rand < 8)
            {
                useMaterials = false;
            }

            int  hue            = 0x44E;
            int  amountMax      = Utility.RandomList(10, 15, 20, 20);
            bool reqExceptional = (0.825 > Utility.RandomDouble());

            BulkMaterialType material;

            if (useMaterials)
            {
                material = GetRandomMaterial(BulkMaterialType.DullCopper, m_BlacksmithMaterialChances);
            }
            else
            {
                material = BulkMaterialType.None;
            }

            Hue                = hue;
            AmountMax          = amountMax;
            Entries            = entries;
            RequireExceptional = reqExceptional;
            Material           = material;
        }
Example #12
0
        public LargeCarpenterBOD()
        {
            LargeBulkEntry[] entries;
            bool             useMaterials = true;

            switch (Utility.Random(4))
            {
            default:
            case  0: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.AllInstrument);  break;

            case  1: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.Percussion); break;

            case  2: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.Staff);  break;

            case  3: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.String); break;
            }

            int    hue            = 0x30;
            string name           = "Large Carpenter Bulk Order";
            int    amountMax      = Utility.RandomList(10, 15, 20, 20);
            bool   reqExceptional = (0.825 > Utility.RandomDouble());

            BulkMaterialType material;

            if (useMaterials)
            {
                material = GetRandomMaterial(BulkMaterialType.Pine, m_CarpenterMaterialChances);
            }
            else
            {
                material = BulkMaterialType.None;
            }

            this.Hue                = hue;
            this.Name              += name;
            this.AmountMax          = amountMax;
            this.Entries            = entries;
            this.RequireExceptional = reqExceptional;
            this.Material           = material;
        }
Example #13
0
        public LargeSmithBOD()
        {
            LargeBulkEntry[] entries;
            var useMaterials = true;

            var rand = Utility.Random(8);

            entries = rand switch
            {
                0 => LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeRing),
                1 => LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargePlate),
                2 => LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeChain),
                3 => LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeAxes),
                4 => LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeFencing),
                5 => LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeMaces),
                6 => LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargePolearms),
                7 => LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeSwords),
                _ => LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.LargeRing)
            };

            if (rand > 2 && rand < 8)
            {
                useMaterials = false;
            }

            var hue            = 0x44E;
            var amountMax      = Utility.RandomList(10, 15, 20, 20);
            var reqExceptional = Utility.RandomDouble() < 0.825;

            var material = useMaterials
                ? GetRandomMaterial(BulkMaterialType.DullCopper, m_BlacksmithMaterialChances)
                : BulkMaterialType.None;

            Hue                = hue;
            AmountMax          = amountMax;
            Entries            = entries;
            RequireExceptional = reqExceptional;
            Material           = material;
        }
Example #14
0
        public LargeFletcherBOD()
        {
            LargeBulkEntry[] entries;
            bool             useMaterials = true;

            switch (Utility.Random(3))
            {
            default:
            case  0: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.AllBow);  break;

            case  1: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.Bow); break;

            case  2: entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.CrossBow); break;
            }

            int    hue            = 0x58;
            string name           = "Large Fletcher Bulk Order";
            int    amountMax      = Utility.RandomList(10, 15, 20, 20);
            bool   reqExceptional = (0.825 > Utility.RandomDouble());

            BulkMaterialType material;

            if (useMaterials)
            {
                material = GetRandomMaterial(BulkMaterialType.OakWood, m_FletcherMaterialChances);
            }
            else
            {
                material = BulkMaterialType.None;
            }

            Hue                = hue;
            Name              += name;
            AmountMax          = amountMax;
            Entries            = entries;
            RequireExceptional = reqExceptional;
            Material           = material;
        }
Example #15
0
        public LargeTailorBOD()
        {
            LargeBulkEntry[] entries;
            var useMaterials = false;

            switch (Utility.Random(14))
            {
            default:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.Farmer);
                break;

            case 1:
                entries      = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.FemaleLeatherSet);
                useMaterials = true;
                break;

            case 2:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.FisherGirl);
                break;

            case 3:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.Gypsy);
                break;

            case 4:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.HatSet);
                break;

            case 5:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.Jester);
                break;

            case 6:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.Lady);
                break;

            case 7:
                entries      = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.MaleLeatherSet);
                useMaterials = true;
                break;

            case 8:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.Pirate);
                break;

            case 9:
                entries      = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.ShoeSet);
                useMaterials = Core.ML;
                break;

            case 10:
                entries      = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.StuddedSet);
                useMaterials = true;
                break;

            case 11:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.TownCrier);
                break;

            case 12:
                entries = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.Wizard);
                break;

            case 13:
                entries      = LargeBulkEntry.ConvertEntries(this, LargeBulkEntry.BoneSet);
                useMaterials = true;
                break;
            }

            var hue            = 0x483;
            var amountMax      = Utility.RandomList(10, 15, 20, 20);
            var reqExceptional = Utility.RandomDouble() < 0.825;

            var material = useMaterials
                ? GetRandomMaterial(BulkMaterialType.Spined, m_TailoringMaterialChances)
                : BulkMaterialType.None;

            Hue                = hue;
            AmountMax          = amountMax;
            Entries            = entries;
            RequireExceptional = reqExceptional;
            Material           = material;
        }