コード例 #1
0
        public SmallTailorBOD()
        {
            bool useMaterials = Utility.RandomBool();

            SmallBulkEntry[] entries = useMaterials ? SmallBulkEntry.TailorLeather : SmallBulkEntry.TailorCloth;

            if (entries.Length <= 0)
            {
                return;
            }

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

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

            bool           reqExceptional = Utility.RandomBool() || material == BulkMaterialType.None;
            SmallBulkEntry entry          = entries[Utility.Random(entries.Length)];

            Hue                = hue;
            AmountMax          = amountMax;
            Type               = entry.Type;
            Number             = entry.Number;
            Graphic            = entry.Graphic;
            RequireExceptional = reqExceptional;
            Material           = material;
        }
コード例 #2
0
        public SmallCookingBOD()
        {
            SmallBulkEntry[] entries;
            bool             nonexceptional = false;

            if (0.20 > Utility.RandomDouble())
            {
                nonexceptional = true;
                entries        = SmallBulkEntry.CookingSmallsRegular;
            }
            else
            {
                entries = SmallBulkEntry.CookingSmalls;
            }

            if (entries.Length > 0)
            {
                int amountMax = Utility.RandomList(10, 15, 20);

                BulkMaterialType material;
                material = BulkMaterialType.None;

                SmallBulkEntry entry = entries[Utility.Random(entries.Length)];

                Hue                = 1169;
                AmountMax          = amountMax;
                Type               = entry.Type;
                Number             = entry.Number;
                Graphic            = entry.Graphic;
                Material           = material;
                RequireExceptional = !nonexceptional && Utility.RandomBool();
                GraphicHue         = entry.Hue;
            }
        }
コード例 #3
0
        public SmallSmithBOD()
        {
            bool useMaterials = Utility.RandomBool();

            SmallBulkEntry[] entries = useMaterials ? SmallBulkEntry.BlacksmithArmor :
                                       SmallBulkEntry.BlacksmithWeapons;

            if (entries.Length <= 0)
            {
                return;
            }

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

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

            bool reqExceptional = Utility.RandomBool() || material == BulkMaterialType.None;

            SmallBulkEntry entry = entries[Utility.Random(entries.Length)];

            Hue                = hue;
            AmountMax          = amountMax;
            Type               = entry.Type;
            Number             = entry.Number;
            Graphic            = entry.Graphic;
            RequireExceptional = reqExceptional;
            Material           = material;
        }
コード例 #4
0
        public SmallCarpentryBOD()
        {
            SmallBulkEntry[] entries;
            bool             useMaterials = Utility.RandomBool();

            entries = SmallBulkEntry.CarpentrySmalls;

            if (entries.Length > 0)
            {
                int amountMax = Utility.RandomList(10, 15, 20);

                BulkMaterialType material = BulkMaterialType.None;

                if (useMaterials)
                {
                    material = GetRandomMaterial(BulkMaterialType.OakWood, m_CarpentryMaterialChances);
                }

                bool reqExceptional = Utility.RandomBool() || material == BulkMaterialType.None;

                SmallBulkEntry entry = entries[Utility.Random(entries.Length)];

                Hue                = 1512;
                AmountMax          = amountMax;
                Type               = entry.Type;
                Number             = entry.Number;
                Graphic            = entry.Graphic;
                RequireExceptional = reqExceptional;
                Material           = material;
                GraphicHue         = entry.Hue;
            }
        }
コード例 #5
0
 private SmallCookingBOD(SmallBulkEntry entry, int amountMax)
 {
     Hue        = 1169;
     AmountMax  = amountMax;
     Type       = entry.Type;
     Number     = entry.Number;
     Graphic    = entry.Graphic;
     GraphicHue = entry.Hue;
 }
コード例 #6
0
 private SmallAlchemyBOD(SmallBulkEntry entry, int amountMax)
 {
     Hue        = 2505;
     AmountMax  = amountMax;
     Type       = entry.Type;
     Number     = entry.Number;
     Graphic    = entry.Graphic;
     GraphicHue = entry.Hue;
 }
コード例 #7
0
ファイル: SmallAlchemyBOD.cs プロジェクト: pallop/Servuo
 private SmallAlchemyBOD(SmallBulkEntry entry, int amountMax)
 {
     this.Hue        = 2505;
     this.AmountMax  = amountMax;
     this.Type       = entry.Type;
     this.Number     = entry.Number;
     this.Graphic    = entry.Graphic;
     this.GraphicHue = entry.Hue;
 }
コード例 #8
0
ファイル: SmallCookingBOD.cs プロジェクト: pallop/Servuo
 private SmallCookingBOD(SmallBulkEntry entry, int amountMax)
 {
     this.Hue        = 1169;
     this.AmountMax  = amountMax;
     this.Type       = entry.Type;
     this.Number     = entry.Number;
     this.Graphic    = entry.Graphic;
     this.GraphicHue = entry.Hue;
 }
コード例 #9
0
 private SmallInscriptionBOD(SmallBulkEntry entry, int amountMax)
 {
     Hue        = 2598;
     AmountMax  = amountMax;
     Type       = entry.Type;
     Number     = entry.Number;
     Graphic    = entry.Graphic;
     GraphicHue = entry.Hue;
 }
コード例 #10
0
        public static SmallInscriptionBOD CreateRandomFor(Mobile m)
        {
            SmallBulkEntry[] entries;

            double theirSkill = BulkOrderSystem.GetBODSkill(m, SkillName.Inscribe);

            entries = SmallBulkEntry.InscriptionSmalls;

            if (entries.Length > 0)
            {
                int amountMax;

                if (theirSkill >= 70.1)
                {
                    amountMax = Utility.RandomList(10, 15, 20, 20);
                }
                else if (theirSkill >= 50.1)
                {
                    amountMax = Utility.RandomList(10, 15, 15, 20);
                }
                else
                {
                    amountMax = Utility.RandomList(10, 10, 15, 20);
                }

                CraftSystem system = DefInscription.CraftSystem;

                List <SmallBulkEntry> validEntries = new List <SmallBulkEntry>();

                for (int i = 0; i < entries.Length; ++i)
                {
                    CraftItem item = system.CraftItems.SearchFor(entries[i].Type);

                    if (item != null)
                    {
                        bool   allRequiredSkills = true;
                        double chance            = item.GetSuccessChance(m, null, system, false, ref allRequiredSkills);

                        if (allRequiredSkills && chance >= 0.0)
                        {
                            if (chance > 0.0)
                            {
                                validEntries.Add(entries[i]);
                            }
                        }
                    }
                }

                if (validEntries.Count > 0)
                {
                    SmallBulkEntry entry = validEntries[Utility.Random(validEntries.Count)];
                    return(new SmallInscriptionBOD(entry, amountMax));
                }
            }

            return(null);
        }
コード例 #11
0
 private SmallInscriptionBOD(SmallBulkEntry entry, int amountMax)
 {
     this.Hue        = 2598;
     this.AmountMax  = amountMax;
     this.Type       = entry.Type;
     this.Number     = entry.Number;
     this.Graphic    = entry.Graphic;
     this.GraphicHue = entry.Hue;
 }
コード例 #12
0
 private SmallCookingBOD(SmallBulkEntry entry, int amountMax, bool reqExceptional)
 {
     Hue                = 1169;
     AmountMax          = amountMax;
     Type               = entry.Type;
     Number             = entry.Number;
     Graphic            = entry.Graphic;
     GraphicHue         = entry.Hue;
     RequireExceptional = reqExceptional;
 }
コード例 #13
0
 private SmallHuntBOD(SmallBulkEntry entry, int level, int amountMax, bool reqExceptional)
 {
     this.Hue = HuntBodUtility.HuntBodDeedHue;
     this.AmountMax = amountMax;
     this.Type = entry.Type;
     this.Number = entry.Number;
     this.Graphic = entry.Graphic;
     this.RequireExceptional = reqExceptional;
     this.Material = (BulkMaterialType)level;
 }
コード例 #14
0
 private SmallTailorBOD(SmallBulkEntry entry, BulkMaterialType material, int amountMax, bool reqExceptional)
 {
     this.Hue                = 0x483;
     this.AmountMax          = amountMax;
     this.Type               = entry.Type;
     this.Number             = entry.Number;
     this.Graphic            = entry.Graphic;
     this.RequireExceptional = reqExceptional;
     this.Material           = material;
 }
コード例 #15
0
ファイル: SmallTailorBOD.cs プロジェクト: FreeReign/forkuo
 private SmallTailorBOD(SmallBulkEntry entry, BulkMaterialType material, int amountMax, bool reqExceptional)
 {
     this.Hue = 0x483;
     this.AmountMax = amountMax;
     this.Type = entry.Type;
     this.Number = entry.Number;
     this.Graphic = entry.Graphic;
     this.RequireExceptional = reqExceptional;
     this.Material = material;
 }
コード例 #16
0
 private SmallSmithBOD(SmallBulkEntry entry, BulkMaterialType material, int amountMax, bool reqExceptional)
 {
     Hue                = 0x44E;
     AmountMax          = amountMax;
     Type               = entry.Type;
     Number             = entry.Number;
     Graphic            = entry.Graphic;
     RequireExceptional = reqExceptional;
     Material           = material;
 }
コード例 #17
0
 private SmallHuntBOD(SmallBulkEntry entry, int level, int amountMax, bool reqExceptional)
 {
     this.Hue                = HuntBodUtility.HuntBodDeedHue;
     this.AmountMax          = amountMax;
     this.Type               = entry.Type;
     this.Number             = entry.Number;
     this.Graphic            = entry.Graphic;
     this.RequireExceptional = reqExceptional;
     this.Material           = (BulkMaterialType)level;
 }
コード例 #18
0
 private SmallSmithBOD(SmallBulkEntry entry, BulkMaterialType material, int amountMax, bool reqExceptional, Mobile m)
 {
     this.Hue                = 0x44E;
     this.AmountMax          = amountMax;
     this.Type               = entry.Type;
     this.Number             = entry.Number;
     this.Graphic            = entry.Graphic;
     this.RequireExceptional = reqExceptional;
     this.Material           = material;
     this.Owner              = m;
 }
コード例 #19
0
        public SmallTinkerBOD()
        {
            SmallBulkEntry[] entries;
            bool             useMaterials;

            if (useMaterials = 0.75 > Utility.RandomDouble())
            {
                entries = SmallBulkEntry.TinkeringSmalls;
            }
            else
            {
                entries = SmallBulkEntry.TinkeringSmallsRegular;
            }

            if (entries.Length > 0)
            {
                int amountMax = Utility.RandomList(10, 15, 20);

                BulkMaterialType material;

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

                bool reqExceptional = useMaterials ? Utility.RandomBool() : false;

                SmallBulkEntry entry = entries[Utility.Random(entries.Length)];

                if (material != BulkMaterialType.None && CannotAssignMaterial(entry.Type))
                {
                    material = BulkMaterialType.None;
                }

                Hue                = 1109;
                AmountMax          = amountMax;
                Type               = entry.Type;
                Number             = entry.Number;
                Graphic            = entry.Graphic;
                RequireExceptional = reqExceptional;
                Material           = material;
                GraphicHue         = entry.Hue;

                if (entry.Type.IsSubclassOf(typeof(BaseJewel)))
                {
                    AssignGemType(entry.Type);
                }
            }
        }
コード例 #20
0
        public LargeBulkEntry( LargeBOD owner, GenericReader reader )
        {
            m_Owner = owner;
            m_Amount = reader.ReadInt();

            Type realType = null;

            string type = reader.ReadString();

            if ( type != null )
                realType = ScriptCompiler.FindTypeByFullName( type );

            m_Details = new SmallBulkEntry( realType, reader.ReadInt(), reader.ReadInt() );
        }
コード例 #21
0
        public SmallFletchingBOD()
        {
            SmallBulkEntry[] entries;
            bool             useMaterials = false;

            if (0.20 > Utility.RandomDouble())
            {
                entries = SmallBulkEntry.FletchingSmallsRegular;
            }
            else
            {
                useMaterials = true;
                entries      = SmallBulkEntry.FletchingSmalls;
            }

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

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

                BulkMaterialType material;

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

                bool reqExceptional = false;

                if (useMaterials)
                {
                    reqExceptional = Utility.RandomBool() || (material == BulkMaterialType.None);
                }

                this.Hue                = 1425;
                this.AmountMax          = amountMax;
                this.Type               = entry.Type;
                this.Number             = entry.Number;
                this.Graphic            = entry.Graphic;
                this.RequireExceptional = reqExceptional;
                this.Material           = material;
                this.GraphicHue         = entry.Hue;
            }
        }
コード例 #22
0
        public SmallSmithBOD()
        {
            SmallBulkEntry[] entries;
            bool             useMaterials = true;

            switch (Utility.Random(2))
            {
            default:
            case  0: entries = SmallBulkEntry.BlacksmithArmor;  break;

            case  1: entries = SmallBulkEntry.BlacksmithWeapons; break;
            }

            /*bool useMaterials;
             *
             * if ( useMaterials = Utility.RandomBool() )
             *      entries = SmallBulkEntry.BlacksmithArmor;
             * else
             *      entries = SmallBulkEntry.BlacksmithWeapons;*/

            if (entries.Length > 0)
            {
                int hue       = 0x44E;
                int amountMax = Utility.RandomList(10, 15, 20);

                BulkMaterialType material;

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

                bool reqExceptional = Utility.RandomBool() || (material == BulkMaterialType.None);

                SmallBulkEntry entry = entries[Utility.Random(entries.Length)];

                this.Hue                = hue;
                this.AmountMax          = amountMax;
                this.Type               = entry.Type;
                this.Number             = entry.Number;
                this.Graphic            = entry.Graphic;
                this.RequireExceptional = reqExceptional;
                this.Material           = material;
            }
        }
コード例 #23
0
ファイル: LargeBulkEntry.cs プロジェクト: tateima/PathOfUO
        public LargeBulkEntry(LargeBOD owner, IGenericReader reader)
        {
            Owner    = owner;
            m_Amount = reader.ReadInt();

            Type realType = null;

            var type = reader.ReadString();

            if (type != null)
            {
                realType = AssemblyHandler.FindFirstTypeForName(type);
            }

            Details = new SmallBulkEntry(realType, reader.ReadInt(), reader.ReadInt());
        }
コード例 #24
0
        public LargeBulkEntry(LargeBOD owner, GenericReader reader)
        {
            m_Owner  = owner;
            m_Amount = reader.ReadInt();

            Type realType = null;

            string type = reader.ReadString();

            if (type != null)
            {
                realType = ScriptCompiler.FindTypeByFullName(type);
            }

            m_Details = new SmallBulkEntry(realType, reader.ReadInt(), reader.ReadInt());
        }
コード例 #25
0
        public static SmallBulkEntry[] GetSmallEntry(out int curLevel, int levelMax)
        {
            int iRand = Utility.Random(levelMax);

            curLevel = iRand;

            switch (iRand)
            {
            default:
            case 0: return(SmallBulkEntry.GetEntries("Hunting", "smalleasy"));

            case 1: return(SmallBulkEntry.GetEntries("Hunting", "smallmedium"));

            case 2: return(SmallBulkEntry.GetEntries("Hunting", "smallhard"));

            case 3: return(SmallBulkEntry.GetEntries("Hunting", "smallveryhard"));
            }
        }
コード例 #26
0
        public SmallTailorBOD()
        {
            SmallBulkEntry[] entries;
            bool             useMaterials;

            if (useMaterials = Utility.RandomBool())
            {
                entries = SmallBulkEntry.TailorLeather;
            }
            else
            {
                entries = SmallBulkEntry.TailorCloth;
            }

            if (entries.Length > 0)
            {
                int hue       = 0x483;
                int amountMax = Utility.RandomList(10, 15, 20);

                BulkMaterialType material;

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

                bool reqExceptional = Utility.RandomBool() || (material == BulkMaterialType.None);

                SmallBulkEntry entry = entries[Utility.Random(entries.Length)];

                this.Hue                = hue;
                this.AmountMax          = amountMax;
                this.Type               = entry.Type;
                this.Number             = entry.Number;
                this.Graphic            = entry.Graphic;
                this.RequireExceptional = reqExceptional;
                this.Material           = material;
                this.GraphicHue         = entry.Hue;
            }
        }
コード例 #27
0
        public SmallSmithBOD()
        {
            SmallBulkEntry[] entries;
            bool             useMaterials;

            if (useMaterials = Utility.RandomBool())
            {
                entries = SmallBulkEntry.BlacksmithArmor;
            }
            else
            {
                entries = SmallBulkEntry.BlacksmithWeapons;
            }

            if (entries.Length > 0)
            {
                int hue       = 0x44E;
                int amountMax = Utility.RandomList(10, 15, 20);

                BulkMaterialType material;

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

                bool reqExceptional = Utility.RandomBool() || (material == BulkMaterialType.None);

                SmallBulkEntry entry = entries[Utility.Random(entries.Length)];

                Hue                = hue;
                AmountMax          = amountMax;
                Type               = entry.Type;
                Number             = entry.Number;
                Graphic            = entry.Graphic;
                RequireExceptional = reqExceptional;
                Material           = material;
                GraphicHue         = entry.Hue;
            }
        }
コード例 #28
0
        public static SmallBulkEntry[] GetLargeEntry(out int curLevel, int levelMax)
        {
            int iRand = Utility.Random(GetLargeLevelAmount(levelMax));

            curLevel = GetLargeCurLevel(iRand);

            switch (iRand)
            {
            default:
            /*// Easy
             * case 0: return SmallBulkEntry.GetEntries("Hunting", "largeorc");
             * case 1: return SmallBulkEntry.GetEntries("Hunting", "largeratmen");
             * case 2: return SmallBulkEntry.GetEntries("Hunting", "largesavage");
             * case 3: return SmallBulkEntry.GetEntries("Hunting", "largeserpent");
             * case 4: return SmallBulkEntry.GetEntries("Hunting", "largeskeleton");
             * case 5: return SmallBulkEntry.GetEntries("Hunting", "largesnake");
             * case 6: return SmallBulkEntry.GetEntries("Hunting", "largeundead");
             * case 7: return SmallBulkEntry.GetEntries("Hunting", "largespider");
             * case 8: return SmallBulkEntry.GetEntries("Hunting", "largeplant");
             * case 9: return SmallBulkEntry.GetEntries("Hunting", "largeharpy");
             *
             * // Medium
             * case 10: return SmallBulkEntry.GetEntries("Hunting", "largedragon");
             * case 11: return SmallBulkEntry.GetEntries("Hunting", "largeophidian");
             * case 12: return SmallBulkEntry.GetEntries("Hunting", "largeelemental");
             * case 13: return SmallBulkEntry.GetEntries("Hunting", "largejuka");
             * case 14: return SmallBulkEntry.GetEntries("Hunting", "largegargoyle");
             * case 15: return SmallBulkEntry.GetEntries("Hunting", "largemeer");
             * case 16: return SmallBulkEntry.GetEntries("Hunting", "largeogre");
             * case 17: return SmallBulkEntry.GetEntries("Hunting", "largeredsolen");
             * case 18: return SmallBulkEntry.GetEntries("Hunting", "largeblacksolen");
             *
             * // Hard
             * case 19: return SmallBulkEntry.GetEntries("Hunting", "largewyrm");
             * case 20: return SmallBulkEntry.GetEntries("Hunting", "largegargoylehard");
             */
            case 21: return(SmallBulkEntry.GetEntries("Hunting", "largedoom"));

            case 22: return(SmallBulkEntry.GetEntries("Hunting", "largeelementalhard"));

            // Very Hard
            case 23: return(SmallBulkEntry.GetEntries("Hunting", "largeveryhard"));
            }
        }
コード例 #29
0
        public SmallTinkerBOD()
        {
            SmallBulkEntry[] entries;
            bool             useMaterials;

            if (useMaterials = 0.75 > Utility.RandomDouble())
            {
                entries = SmallBulkEntry.TinkeringSmalls;
            }
            else
            {
                entries = SmallBulkEntry.TinkeringSmallsRegular;
            }

            if (entries.Length > 0)
            {
                int amountMax = Utility.RandomList(10, 15, 20);

                BulkMaterialType material;

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

                bool reqExceptional = useMaterials ? Utility.RandomBool() : false;

                SmallBulkEntry entry = entries[Utility.Random(entries.Length)];

                this.Hue                = 1109;
                this.AmountMax          = amountMax;
                this.Type               = entry.Type;
                this.Number             = entry.Number;
                this.Graphic            = entry.Graphic;
                this.RequireExceptional = reqExceptional;
                this.Material           = material;
                this.GraphicHue         = entry.Hue;
            }
        }
コード例 #30
0
        public SmallCarpenterBOD()
        {
            SmallBulkEntry[] entries;
            bool             useMaterials;

            if (useMaterials = Utility.RandomBool())
            {
                entries = SmallBulkEntry.CarpenterStaff;
            }
            else
            {
                entries = SmallBulkEntry.CarpenterInstrument;
            }

            if (entries.Length > 0)
            {
                int hue       = 0x30;
                int amountMax = Utility.RandomList(10, 15, 20);

                BulkMaterialType material;

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

                bool reqExceptional = Utility.RandomBool() || (material == BulkMaterialType.None);

                SmallBulkEntry entry = entries[Utility.Random(entries.Length)];

                this.Hue                = hue;
                this.AmountMax          = amountMax;
                this.Type               = entry.Type;
                this.Number             = entry.Number;
                this.Graphic            = entry.Graphic;
                this.RequireExceptional = reqExceptional;
                this.Material           = material;
            }
        }
コード例 #31
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;
            }
        }
コード例 #32
0
        public SmallInscriptionBOD()
        {
            SmallBulkEntry[] entries = SmallBulkEntry.InscriptionSmalls;

            if (entries.Length > 0)
            {
                int amountMax = Utility.RandomList(10, 15, 20);

                BulkMaterialType material;
                material = BulkMaterialType.None;

                SmallBulkEntry entry = entries[Utility.Random(entries.Length)];

                Hue        = 2598;
                AmountMax  = amountMax;
                Type       = entry.Type;
                Number     = entry.Number;
                Graphic    = entry.Graphic;
                Material   = material;
                GraphicHue = entry.Hue;
            }
        }
コード例 #33
0
ファイル: SmallAlchemyBOD.cs プロジェクト: pallop/Servuo
        public SmallAlchemyBOD()
        {
            SmallBulkEntry[] entries = SmallBulkEntry.AlchemySmalls;

            if (entries.Length > 0)
            {
                int amountMax = Utility.RandomList(10, 15, 20);

                BulkMaterialType material;
                material = BulkMaterialType.None;

                SmallBulkEntry entry = entries[Utility.Random(entries.Length)];

                this.Hue        = 2505;
                this.AmountMax  = amountMax;
                this.Type       = entry.Type;
                this.Number     = entry.Number;
                this.Graphic    = entry.Graphic;
                this.Material   = material;
                this.GraphicHue = entry.Hue;
            }
        }
コード例 #34
0
		public static LargeBulkEntry[] ConvertEntries( LargeBOD owner, SmallBulkEntry[] small )
		{
			LargeBulkEntry[] large = new LargeBulkEntry[small.Length];

			for ( int i = 0; i < small.Length; ++i )
				large[i] = new LargeBulkEntry( owner, small[i] );

			return large;
		}
コード例 #35
0
		private SmallSmithBOD( SmallBulkEntry entry, BulkMaterialType material, int amountMax, bool reqExceptional )
		{
			Hue = 0x44E;
			AmountMax = amountMax;
			Type = entry.Type;
			Number = entry.Number;
			Graphic = entry.Graphic;
			RequireExceptional = reqExceptional;
			Material = material;
		}
コード例 #36
0
ファイル: Docs.cs プロジェクト: BackupTheBerlios/sunuo-svn
        private static void WriteSmithLBOD( StreamWriter html, string name, SmallBulkEntry[] entries )
        {
            LargeBOD lbod = new LargeSmithBOD();

            lbod.Entries = LargeBulkEntry.ConvertEntries( lbod, entries );

            WriteSmithBODHeader( html, String.Format( "(Large) {0}: Normal", name ) );

            lbod.RequireExceptional = false;
            for ( BulkMaterialType mat = BulkMaterialType.None; mat <= BulkMaterialType.Valorite; ++mat )
            {
                lbod.Material = mat;
                lbod.AmountMax = 10;
                DocumentSmithBOD( html, lbod.ComputeRewards( true ), "10, 15, 20", lbod.Material );
            }

            WriteSmithBODFooter( html );

            html.WriteLine( "      <br><br>" );

            WriteSmithBODHeader( html, String.Format( "(Large) {0}: Exceptional", name ) );

            lbod.RequireExceptional = true;
            for ( BulkMaterialType mat = BulkMaterialType.None; mat <= BulkMaterialType.Valorite; ++mat )
            {
                lbod.Material = mat;

                for ( int amt = 15; amt <= 20; amt += 5 )
                {
                    lbod.AmountMax = amt;
                    DocumentSmithBOD( html, lbod.ComputeRewards( true ), amt == 20 ? "20" : "10, 15", lbod.Material );
                }
            }

            WriteSmithBODFooter( html );

            html.WriteLine( "      <br><br>" );
            html.WriteLine( "      <br><br>" );
        }
コード例 #37
0
ファイル: Docs.cs プロジェクト: BackupTheBerlios/sunuo-svn
        private static void WriteTailorLBOD( StreamWriter html, string name, SmallBulkEntry[] entries, bool expandCloth, bool expandPlain )
        {
            WriteTailorBODHeader( html, name );

            LargeBOD lbod = new LargeTailorBOD();

            lbod.Entries = LargeBulkEntry.ConvertEntries( lbod, entries );

            Type type = entries[0].Type;

            bool showCloth = !( type.IsSubclassOf( typeof( BaseArmor ) ) || type.IsSubclassOf( typeof( BaseShoes ) ) );

            html.WriteLine( "         <tr>" );
            html.WriteLine( "            <td width=\"850\" colspan=\"21\" class=\"entry\"><b>Regular</b></td>" );
            html.WriteLine( "         </tr>" );

            lbod.RequireExceptional = false;
            lbod.AmountMax = 10;

            if ( showCloth )
            {
                lbod.Material = BulkMaterialType.None;

                if ( expandCloth )
                {
                    lbod.AmountMax = 10;
                    DocumentTailorBOD( html, lbod.ComputeRewards( true ), "10, 15", lbod.Material, type );
                    lbod.AmountMax = 20;
                    DocumentTailorBOD( html, lbod.ComputeRewards( true ), "20", lbod.Material, type );
                }
                else
                {
                    lbod.AmountMax = 10;
                    DocumentTailorBOD( html, lbod.ComputeRewards( true ), "10, 15, 20", lbod.Material, type );
                }
            }

            lbod.Material = BulkMaterialType.None;

            if ( expandPlain )
            {
                lbod.AmountMax = 10;
                DocumentTailorBOD( html, lbod.ComputeRewards( true ), "10, 15, 20", lbod.Material, typeof( LeatherCap ) );
                lbod.AmountMax = 20;
                DocumentTailorBOD( html, lbod.ComputeRewards( true ), "20", lbod.Material, typeof( LeatherCap ) );
            }
            else
            {
                lbod.AmountMax = 10;
                DocumentTailorBOD( html, lbod.ComputeRewards( true ), "10, 15, 20", lbod.Material, typeof( LeatherCap ) );
            }

            for ( BulkMaterialType mat = BulkMaterialType.Spined; mat <= BulkMaterialType.Barbed; ++mat )
            {
                lbod.Material = mat;
                lbod.AmountMax = 10;
                DocumentTailorBOD( html, lbod.ComputeRewards( true ), "10, 15", lbod.Material, type );
                lbod.AmountMax = 20;
                DocumentTailorBOD( html, lbod.ComputeRewards( true ), "20", lbod.Material, type );
            }

            html.WriteLine( "         <tr>" );
            html.WriteLine( "            <td width=\"850\" colspan=\"21\" class=\"entry\"><b>Exceptional</b></td>" );
            html.WriteLine( "         </tr>" );

            lbod.RequireExceptional = true;
            lbod.AmountMax = 10;

            if ( showCloth )
            {
                lbod.Material = BulkMaterialType.None;

                if ( expandCloth )
                {
                    lbod.AmountMax = 10;
                    DocumentTailorBOD( html, lbod.ComputeRewards( true ), "10, 15", lbod.Material, type );
                    lbod.AmountMax = 20;
                    DocumentTailorBOD( html, lbod.ComputeRewards( true ), "20", lbod.Material, type );
                }
                else
                {
                    lbod.AmountMax = 10;
                    DocumentTailorBOD( html, lbod.ComputeRewards( true ), "10, 15, 20", lbod.Material, type );
                }
            }

            lbod.Material = BulkMaterialType.None;

            if ( expandPlain )
            {
                lbod.AmountMax = 10;
                DocumentTailorBOD( html, lbod.ComputeRewards( true ), "10, 15, 20", lbod.Material, typeof( LeatherCap ) );
                lbod.AmountMax = 20;
                DocumentTailorBOD( html, lbod.ComputeRewards( true ), "20", lbod.Material, typeof( LeatherCap ) );
            }
            else
            {
                lbod.AmountMax = 10;
                DocumentTailorBOD( html, lbod.ComputeRewards( true ), "10, 15, 20", lbod.Material, typeof( LeatherCap ) );
            }

            for ( BulkMaterialType mat = BulkMaterialType.Spined; mat <= BulkMaterialType.Barbed; ++mat )
            {
                lbod.Material = mat;
                lbod.AmountMax = 10;
                DocumentTailorBOD( html, lbod.ComputeRewards( true ), "10, 15", lbod.Material, type );
                lbod.AmountMax = 20;
                DocumentTailorBOD( html, lbod.ComputeRewards( true ), "20", lbod.Material, type );
            }

            WriteTailorBODFooter( html );

            html.WriteLine( "      <br><br>" );
            html.WriteLine( "      <br><br>" );
        }
コード例 #38
0
		public LargeBulkEntry( LargeBOD owner, SmallBulkEntry details )
		{
			m_Owner = owner;
			m_Details = details;
		}
コード例 #39
0
 private SmallSmithBOD( SmallBulkEntry entry, BulkMaterialType material, int amountMax, bool reqExceptional, Mobile m )
 {
     this.Mobile = m; //Added by Blady
     this.Hue = 0x44E;
     this.AmountMax = amountMax;
     this.Type = entry.Type;
     this.Number = entry.Number;
     this.Graphic = entry.Graphic;
     this.RequireExceptional = reqExceptional;
     this.Material = material;
 }