示例#1
0
        public static void CreatePropertySeries(Level lvl, Tendency tend, string name, string formatA,
            int object1a, int value1a, int type1a, int step1a,
            int object2a = 0, int value2a = 0, int type2a = 0, int step2a = 0,
            int object3a = 0, int value3a = 0, int type3a = 0, int step3a = 0,
            string formatB = "",
            int object1b = 0, int value1b = 0, int type1b = 0, int step1b = 0,
            int object2b = 0, int value2b = 0, int type2b = 0, int step2b = 0,
            int object3b = 0, int value3b = 0, int type3b = 0, int step3b = 0,
            string formatC = "",
            int object1c = 0, int value1c = 0, int type1c = 0, int step1c = 0,
            int object2c = 0, int value2c = 0, int type2c = 0, int step2c = 0,
            int object3c = 0, int value3c = 0, int type3c = 0, int step3c = 0)
        {
            int pMax = (from d in LegacyToolBox.Data.ItemRandomProperty select d.ID).Max() + 1;
            int eMax = (from d in LegacyToolBox.Data.SpellItemEnchant select d.ID).Max() + 1;

            int level = (int)lvl;
            int tendency = (int)tend;

            item_suffix suffix = new item_suffix();
            suffix.Suffix = pMax;

            int p = 0;
            ItemRandomProperty property = new ItemRandomProperty();
            property.ID = pMax;
            property.Name = name;
            if (formatA != "")
            {
                SpellItemEnchantment enchantA = CreateSpellItemEnchantment(eMax, formatA,
                    object1a, value1a + step1a * p, type1a,
                    object2a, value1a + step2a * p, type2a,
                    object3a, value3a + step3a * p, type3a);
                property.Enchant[0] = enchantA.ID;
                ++eMax;
            }
            if (formatB != "")
            {
                SpellItemEnchantment enchantB = CreateSpellItemEnchantment(eMax, formatB,
                    object1b, value1b + step1b * p, type1b,
                    object2b, value1b + step2b * p, type2b,
                    object3b, value3b + step3b * p, type3b);
                property.Enchant[0] = enchantB.ID;
                ++eMax;
            }
            if (formatC != "")
            {
                SpellItemEnchantment enchantC = CreateSpellItemEnchantment(eMax, formatC,
                    object1c, value1b + step1c * p, type1c,
                    object2c, value1b + step2c * p, type2c,
                    object3c, value3b + step3c * p, type3c);
                property.Enchant[0] = enchantC.ID;
                ++eMax;
            }
            LegacyToolBox.Data.ItemRandomProperty.Add(property);
            suffix.Rank1 = property.ID;
            ++p;
            ++pMax;

            property = new ItemRandomProperty();
            property.ID = pMax;
            property.Name = name;
            if (formatA != "")
            {
                SpellItemEnchantment enchantA = CreateSpellItemEnchantment(eMax, formatA,
                    object1a, value1a + step1a * p, type1a,
                    object2a, value1a + step2a * p, type2a,
                    object3a, value3a + step3a * p, type3a);
                property.Enchant[0] = enchantA.ID;
                ++eMax;
            }
            if (formatB != "")
            {
                SpellItemEnchantment enchantB = CreateSpellItemEnchantment(eMax, formatB,
                    object1b, value1b + step1b * p, type1b,
                    object2b, value1b + step2b * p, type2b,
                    object3b, value3b + step3b * p, type3b);
                property.Enchant[0] = enchantB.ID;
                ++eMax;
            }
            if (formatC != "")
            {
                SpellItemEnchantment enchantC = CreateSpellItemEnchantment(eMax, formatC,
                    object1c, value1b + step1c * p, type1c,
                    object2c, value1b + step2c * p, type2c,
                    object3c, value3b + step3c * p, type3c);
                property.Enchant[0] = enchantC.ID;
                ++eMax;
            }
            LegacyToolBox.Data.ItemRandomProperty.Add(property);
            suffix.Rank2 = property.ID;
            ++p;
            ++pMax;

            property = new ItemRandomProperty();
            property.ID = pMax;
            property.Name = name;
            if (formatA != "")
            {
                SpellItemEnchantment enchantA = CreateSpellItemEnchantment(eMax, formatA,
                    object1a, value1a + step1a * p, type1a,
                    object2a, value1a + step2a * p, type2a,
                    object3a, value3a + step3a * p, type3a);
                property.Enchant[0] = enchantA.ID;
                ++eMax;
            }
            if (formatB != "")
            {
                SpellItemEnchantment enchantB = CreateSpellItemEnchantment(eMax, formatB,
                    object1b, value1b + step1b * p, type1b,
                    object2b, value1b + step2b * p, type2b,
                    object3b, value3b + step3b * p, type3b);
                property.Enchant[0] = enchantB.ID;
                ++eMax;
            }
            if (formatC != "")
            {
                SpellItemEnchantment enchantC = CreateSpellItemEnchantment(eMax, formatC,
                    object1c, value1b + step1c * p, type1c,
                    object2c, value1b + step2c * p, type2c,
                    object3c, value3b + step3c * p, type3c);
                property.Enchant[0] = enchantC.ID;
                ++eMax;
            }
            LegacyToolBox.Data.ItemRandomProperty.Add(property);
            suffix.Rank3 = property.ID;
            ++p;
            ++pMax;

            property = new ItemRandomProperty();
            property.ID = pMax;
            property.Name = name;
            if (formatA != "")
            {
                SpellItemEnchantment enchantA = CreateSpellItemEnchantment(eMax, formatA,
                    object1a, value1a + step1a * p, type1a,
                    object2a, value1a + step2a * p, type2a,
                    object3a, value3a + step3a * p, type3a);
                property.Enchant[0] = enchantA.ID;
                ++eMax;
            }
            if (formatB != "")
            {
                SpellItemEnchantment enchantB = CreateSpellItemEnchantment(eMax, formatB,
                    object1b, value1b + step1b * p, type1b,
                    object2b, value1b + step2b * p, type2b,
                    object3b, value3b + step3b * p, type3b);
                property.Enchant[0] = enchantB.ID;
                ++eMax;
            }
            if (formatC != "")
            {
                SpellItemEnchantment enchantC = CreateSpellItemEnchantment(eMax, formatC,
                    object1c, value1b + step1c * p, type1c,
                    object2c, value1b + step2c * p, type2c,
                    object3c, value3b + step3c * p, type3c);
                property.Enchant[0] = enchantC.ID;
                ++eMax;
            }
            LegacyToolBox.Data.ItemRandomProperty.Add(property);
            suffix.Rank4 = property.ID;
            ++p;
            ++pMax;

            property = new ItemRandomProperty();
            property.ID = pMax;
            property.Name = name;
            if (formatA != "")
            {
                SpellItemEnchantment enchantA = CreateSpellItemEnchantment(eMax, formatA,
                    object1a, value1a + step1a * p, type1a,
                    object2a, value1a + step2a * p, type2a,
                    object3a, value3a + step3a * p, type3a);
                property.Enchant[0] = enchantA.ID;
                ++eMax;
            }
            if (formatB != "")
            {
                SpellItemEnchantment enchantB = CreateSpellItemEnchantment(eMax, formatB,
                    object1b, value1b + step1b * p, type1b,
                    object2b, value1b + step2b * p, type2b,
                    object3b, value3b + step3b * p, type3b);
                property.Enchant[0] = enchantB.ID;
                ++eMax;
            }
            if (formatC != "")
            {
                SpellItemEnchantment enchantC = CreateSpellItemEnchantment(eMax, formatC,
                    object1c, value1b + step1c * p, type1c,
                    object2c, value1b + step2c * p, type2c,
                    object3c, value3b + step3c * p, type3c);
                property.Enchant[0] = enchantC.ID;
                ++eMax;
            }
            LegacyToolBox.Data.ItemRandomProperty.Add(property);
            suffix.Rank5 = property.ID;
            ++p;
            ++pMax;

            property = new ItemRandomProperty();
            property.ID = pMax;
            property.Name = name;
            if (formatA != "")
            {
                SpellItemEnchantment enchantA = CreateSpellItemEnchantment(eMax, formatA,
                    object1a, value1a + step1a * p, type1a,
                    object2a, value1a + step2a * p, type2a,
                    object3a, value3a + step3a * p, type3a);
                property.Enchant[0] = enchantA.ID;
                ++eMax;
            }
            if (formatB != "")
            {
                SpellItemEnchantment enchantB = CreateSpellItemEnchantment(eMax, formatB,
                    object1b, value1b + step1b * p, type1b,
                    object2b, value1b + step2b * p, type2b,
                    object3b, value3b + step3b * p, type3b);
                property.Enchant[0] = enchantB.ID;
                ++eMax;
            }
            if (formatC != "")
            {
                SpellItemEnchantment enchantC = CreateSpellItemEnchantment(eMax, formatC,
                    object1c, value1b + step1c * p, type1c,
                    object2c, value1b + step2c * p, type2c,
                    object3c, value3b + step3c * p, type3c);
                property.Enchant[0] = enchantC.ID;
                ++eMax;
            }
            LegacyToolBox.Data.ItemRandomProperty.Add(property);
            suffix.Rank6 = property.ID;
            ++p;
            ++pMax;

            property = new ItemRandomProperty();
            property.ID = pMax;
            property.Name = name;
            if (formatA != "")
            {
                SpellItemEnchantment enchantA = CreateSpellItemEnchantment(eMax, formatA,
                    object1a, value1a + step1a * p, type1a,
                    object2a, value1a + step2a * p, type2a,
                    object3a, value3a + step3a * p, type3a);
                property.Enchant[0] = enchantA.ID;
                ++eMax;
            }
            if (formatB != "")
            {
                SpellItemEnchantment enchantB = CreateSpellItemEnchantment(eMax, formatB,
                    object1b, value1b + step1b * p, type1b,
                    object2b, value1b + step2b * p, type2b,
                    object3b, value3b + step3b * p, type3b);
                property.Enchant[0] = enchantB.ID;
                ++eMax;
            }
            if (formatC != "")
            {
                SpellItemEnchantment enchantC = CreateSpellItemEnchantment(eMax, formatC,
                    object1c, value1b + step1c * p, type1c,
                    object2c, value1b + step2c * p, type2c,
                    object3c, value3b + step3c * p, type3c);
                property.Enchant[0] = enchantC.ID;
                ++eMax;
            }
            LegacyToolBox.Data.ItemRandomProperty.Add(property);
            suffix.Rank7 = property.ID;
            ++p;
            ++pMax;

            property = new ItemRandomProperty();
            property.ID = pMax;
            property.Name = name;
            if (formatA != "")
            {
                SpellItemEnchantment enchantA = CreateSpellItemEnchantment(eMax, formatA,
                    object1a, value1a + step1a * p, type1a,
                    object2a, value1a + step2a * p, type2a,
                    object3a, value3a + step3a * p, type3a);
                property.Enchant[0] = enchantA.ID;
                ++eMax;
            }
            if (formatB != "")
            {
                SpellItemEnchantment enchantB = CreateSpellItemEnchantment(eMax, formatB,
                    object1b, value1b + step1b * p, type1b,
                    object2b, value1b + step2b * p, type2b,
                    object3b, value3b + step3b * p, type3b);
                property.Enchant[0] = enchantB.ID;
                ++eMax;
            }
            if (formatC != "")
            {
                SpellItemEnchantment enchantC = CreateSpellItemEnchantment(eMax, formatC,
                    object1c, value1b + step1c * p, type1c,
                    object2c, value1b + step2c * p, type2c,
                    object3c, value3b + step3c * p, type3c);
                property.Enchant[0] = enchantC.ID;
                ++eMax;
            }
            LegacyToolBox.Data.ItemRandomProperty.Add(property);
            suffix.Rank8 = property.ID;
            ++p;
            ++pMax;

            property = new ItemRandomProperty();
            property.ID = pMax;
            property.Name = name;
            if (formatA != "")
            {
                SpellItemEnchantment enchantA = CreateSpellItemEnchantment(eMax, formatA,
                    object1a, value1a + step1a * p, type1a,
                    object2a, value1a + step2a * p, type2a,
                    object3a, value3a + step3a * p, type3a);
                property.Enchant[0] = enchantA.ID;
                ++eMax;
            }
            if (formatB != "")
            {
                SpellItemEnchantment enchantB = CreateSpellItemEnchantment(eMax, formatB,
                    object1b, value1b + step1b * p, type1b,
                    object2b, value1b + step2b * p, type2b,
                    object3b, value3b + step3b * p, type3b);
                property.Enchant[0] = enchantB.ID;
                ++eMax;
            }
            if (formatC != "")
            {
                SpellItemEnchantment enchantC = CreateSpellItemEnchantment(eMax, formatC,
                    object1c, value1b + step1c * p, type1c,
                    object2c, value1b + step2c * p, type2c,
                    object3c, value3b + step3c * p, type3c);
                property.Enchant[0] = enchantC.ID;
                ++eMax;
            }
            LegacyToolBox.Data.ItemRandomProperty.Add(property);
            suffix.Rank9 = property.ID;
            ++p;
            ++pMax;

            property = new ItemRandomProperty();
            property.ID = pMax;
            property.Name = name;
            if (formatA != "")
            {
                SpellItemEnchantment enchantA = CreateSpellItemEnchantment(eMax, formatA,
                    object1a, value1a + step1a * p, type1a,
                    object2a, value1a + step2a * p, type2a,
                    object3a, value3a + step3a * p, type3a);
                property.Enchant[0] = enchantA.ID;
                ++eMax;
            }
            if (formatB != "")
            {
                SpellItemEnchantment enchantB = CreateSpellItemEnchantment(eMax, formatB,
                    object1b, value1b + step1b * p, type1b,
                    object2b, value1b + step2b * p, type2b,
                    object3b, value3b + step3b * p, type3b);
                property.Enchant[0] = enchantB.ID;
                ++eMax;
            }
            if (formatC != "")
            {
                SpellItemEnchantment enchantC = CreateSpellItemEnchantment(eMax, formatC,
                    object1c, value1b + step1c * p, type1c,
                    object2c, value1b + step2c * p, type2c,
                    object3c, value3b + step3c * p, type3c);
                property.Enchant[0] = enchantC.ID;
                ++eMax;
            }
            LegacyToolBox.Data.ItemRandomProperty.Add(property);
            suffix.Rank10 = property.ID;
            DB.LEGACY.item_suffix.Add(suffix);
            DB.LSave();
        }
        void Create()
        {
            int MinQuality = Convert.ToInt32(genMinQuality.Text);
            int MinItemLevel = Convert.ToInt32(genMinItemLevel.Text);
            int ItemLevelIncre = Convert.ToInt32(genItemLevelIncre.Text);
            int ItemVisual = Convert.ToInt32(genItemVisual.Text);
            string SuffixName = genSuffixName.Text;
            bool Unique = genUnique.IsChecked == true;
            bool NoSpellEffect = genNoSpellEffect.IsChecked == true;
            int EnchantTemplate = Convert.ToInt32(genEnchantTemplate.Text);
            if (Unique)
                SuffixName = "(U)" + SuffixName;

            var spell = (from d in LegacyToolBox.Data.Spell where d.ID == SpellList[1].entry select d).SingleOrDefault();
            if (!NoSpellEffect && spell == null)
            {
                LegacyToolBox.Signal("Invalid SpellTemplate Entry.");
                return;
            }

            var enchantTemplate = (from d in LegacyToolBox.Data.SpellItemEnchant where d.ID == EnchantTemplate select d).SingleOrDefault();

            // create spells
            for (int rank = 1; rank <= GENERATE_RANK; ++rank)
            {
                SpellInfoStore store = SpellList[rank];
                if (!NoSpellEffect)
                {
                    if (rank == 1)
                    {
                        spell.EffectBasePoints[0] = (int)store.bp;
                        spell.EffectDieSides[0] = (int)store.ds;
                        spell.EffectBonusMultiplier[0] = store.pb;
                    }
                    else
                    {
                        var sp = DataProcessor.CopySpellToID(LegacyToolBox.Data.Spell, spell, store.entry);
                        sp.EffectBasePoints[0] = (int)store.bp;
                        sp.EffectDieSides[0] = (int)store.ds;
                        sp.EffectBonusMultiplier[0] = store.pb;
                    }
                }

                SpellItemEnchantment enchant;
                var oldEnchant = (from d in LegacyToolBox.Data.SpellItemEnchant where d.ID == store.enchant select d).SingleOrDefault();
                if (enchantTemplate != null && rank == 1)
                    enchant = enchantTemplate;
                else if (oldEnchant != null)
                    enchant = oldEnchant;
                else
                {
                    enchant = new SpellItemEnchantment();
                    enchant.ID = store.enchant;
                    LegacyToolBox.Data.SpellItemEnchant.Add(enchant);
                }
                if (!NoSpellEffect)
                {
                    if (enchantTemplate != null)
                    {
                        enchant.EnchantType[0] = enchantTemplate.EnchantType[0];
                        enchant.Object[0] = enchantTemplate.Object[0];
                    }
                    else
                    {
                        enchant.EnchantType[0] = 3;
                        enchant.Object[0] = (int)store.entry;
                    }

                    enchant.Name = store.enchantString;
                    enchant.ItemVisual = ItemVisual;
                }
                else
                {
                    if (enchantTemplate != null)
                    {
                        enchant.EnchantType[0] = enchantTemplate.EnchantType[0];
                        enchant.Object[0] = enchantTemplate.Object[0];
                    }
                    else
                    {
                        enchant.EnchantType[0] = 3;
                        enchant.Object[0] = (int)store.entry;
                    }

                    enchant.Name = store.enchantString;
                    enchant.ItemVisual = ItemVisual;
                    enchant.Min[0] = (int)(store.bp + store.ds);
                    enchant.Max[0] = (int)(store.bp + store.ds);
                }

                ItemRandomProperty randProp;
                var oldProp = (from d in LegacyToolBox.Data.ItemRandomProperty where d.ID == store.rp select d).SingleOrDefault();
                if (oldProp != null)
                    randProp = oldProp;
                else
                {
                    randProp = new ItemRandomProperty();
                    randProp.ID = store.rp;
                    LegacyToolBox.Data.ItemRandomProperty.Add(randProp);
                }
                randProp.Enchant[0] = store.enchant;
                randProp.Name = SuffixName;
            }

            int firstRP = SpellList[1].rp;
            var oldpool = (from d in DB.LEGACY.suffix_pool where d.R1 == firstRP select d).SingleOrDefault();
            if (oldpool != null)
            {
                DB.LEGACY.suffix_pool.Remove(oldpool);
                DB.LSave();
            }

            suffix_pool spool = new suffix_pool();
            spool.R1 = SpellList[1].rp;
            spool.R2 = SpellList[2].rp;
            spool.R3 = SpellList[3].rp;
            spool.R4 = SpellList[4].rp;
            spool.R5 = SpellList[5].rp;
            spool.R6 = SpellList[6].rp;
            spool.R7 = SpellList[7].rp;
            spool.R8 = SpellList[8].rp;
            spool.R9 = SpellList[9].rp;
            spool.R10 = SpellList[10].rp;
            spool.R11 = SpellList[11].rp;
            spool.R12 = SpellList[12].rp;
            spool.R13 = SpellList[13].rp;
            spool.R14 = SpellList[14].rp;
            spool.R15 = SpellList[15].rp;
            spool.R16 = SpellList[16].rp;
            spool.R17 = SpellList[17].rp;
            spool.R18 = SpellList[18].rp;
            spool.R19 = SpellList[19].rp;
            spool.R20 = SpellList[20].rp;
            spool.R21 = SpellList[21].rp;
            spool.R22 = SpellList[22].rp;
            spool.R23 = SpellList[23].rp;
            spool.R24 = SpellList[24].rp;
            spool.R25 = SpellList[25].rp;
            spool.R26 = SpellList[26].rp;
            spool.R27 = SpellList[27].rp;
            spool.R28 = SpellList[28].rp;
            spool.R29 = SpellList[29].rp;
            spool.R30 = SpellList[30].rp;
            spool.MinQuality = MinQuality;
            spool.MinItemLevel = MinItemLevel;
            spool.ItemLevelIncrePerRank = ItemLevelIncre;
            spool.Unique = Unique;
            DB.LEGACY.suffix_pool.Add(spool);
            DB.LSave();

            DataProcessor.SaveSpell(LegacyToolBox.Data.Spell);
            DataProcessor.SaveSpellItemEnchant(LegacyToolBox.Data.SpellItemEnchant);
            DataProcessor.SaveItemRandomProperty(LegacyToolBox.Data.ItemRandomProperty);

            LegacyToolBox.Signal("Suffix Generated.");
        }
示例#3
0
 public static ItemRandomProperty CreateNewItemRandomProperty()
 {
     int maxid = (from d in DataStore.Data.ItemRandomProperty select d.ID).Max() + 1;
     ItemRandomProperty property = new ItemRandomProperty();
     property.ID = maxid;
     property.Enchant = new int[3] { 0, 0, 0 };
     property.InnerName = "";
     property.Name = "";
     property.NameFlag = 16712190;
     DataStore.Data.ItemRandomProperty.Add(property);
     return property;
 }
示例#4
0
 public static ObservableCollection<ItemRandomProperty> LoadItemRandomProperty()
 {
     ObservableCollection<ItemRandomProperty> list = new ObservableCollection<ItemRandomProperty>();
     using (FileStream stream = File.OpenRead(DATA_PATH + "DBC/ItemRandomProperties.dbc"))
     {
         BinaryReader r = new BinaryReader(stream);
         stream.Position = 4;
         int records = r.ReadInt32();
         int columns = r.ReadInt32();
         int rowSize = r.ReadInt32();
         int stringSize = r.ReadInt32();
         int dataSize = 20 + rowSize * records;
         for (int i = 0; i != records; ++i)
         {
             ItemRandomProperty prop = new ItemRandomProperty();
             prop.ID = r.ReadInt32();
             prop.InnerName = DBC.ReadString(r, dataSize);
             prop.Enchant[0] = r.ReadInt32();
             prop.Enchant[1] = r.ReadInt32();
             prop.Enchant[2] = r.ReadInt32();
             prop.Enchant[3] = r.ReadInt32();
             prop.Enchant[4] = r.ReadInt32();
             prop.Name = DBC.ReadString(r, dataSize, 4 * 4, 4 * 11);
             prop.NameFlag = r.ReadInt32();
             list.Add(prop);
         }
         r.Close();
     }
     return list;
 }
示例#5
0
        private void GenerateBaseEnchantProperty(string name, int enchantQuality, float enchantChance, string enchantTitle, string enchantFormat, int maxRank, int xpFactor, int type1, int value1, int object1, float step1, int type2 = 0, int value2 = 0, int object2 = 0, float step2 = 0, int type3 = 0, int value3 = 0, int object3 = 0, float step3 = 0)
        {
            int firstRank = 0;

            for (int i = 0; i != maxRank; ++i)
            {
                ItemRandomProperty property = WorldWorker.CreateNewItemRandomProperty();
                if (i == 0)
                {
                    firstRank = property.ID;
                }
                SpellItemEnchantment enchant = WorldWorker.CreateNewSpellItemEnchant();

                item_enchant_data data = new item_enchant_data();
                data.FirstRank = firstRank;
                data.ID        = property.ID;
                data.Rank      = i + 1;
                item_enchant_upgrade_data upgrade = new item_enchant_upgrade_data();
                upgrade.Enchant = property.ID;
                upgrade.Level   = i + 1;
                upgrade.Next    = i == maxRank - 1 ? 0 : property.ID + 1; // hack!
                switch (enchantQuality)
                {
                case 1:
                    upgrade.UpgradeItem = 60327;
                    break;

                case 2:
                    upgrade.UpgradeItem = 60328;
                    break;

                case 3:
                    upgrade.UpgradeItem = 60329;
                    break;

                case 4:
                    upgrade.UpgradeItem = 60330;
                    break;

                case 5:
                    upgrade.UpgradeItem = 60331;
                    break;

                case 6:
                    upgrade.UpgradeItem = 60332;
                    break;

                case 7:
                    upgrade.UpgradeItem = 60333;
                    break;

                default:
                    upgrade.UpgradeItem = 60333;
                    break;
                }

                upgrade.UpgradeItemCount = upgrade.Next == 0 ? 0 : 10 + 20 * i;
                DB.LEGACY.item_enchant_data.Add(data);
                DB.LEGACY.item_enchant_upgrade_data.Add(upgrade);
                DB.LEGACY.SaveChanges();
                DB.Refresh();

                property.Enchant[0]    = enchant.ID;
                property.Name          = name;
                enchant.Object[0]      = object1;
                enchant.Object[1]      = object2;
                enchant.Object[2]      = object3;
                enchant.Min[0]         = (int)(value1 + step1 * i);
                enchant.Min[1]         = (int)(value2 + step2 * i);
                enchant.Min[2]         = (int)(value3 + step3 * i);
                enchant.Max[0]         = (int)(value1 + step1 * i);
                enchant.Max[1]         = (int)(value2 + step2 * i);
                enchant.Max[2]         = (int)(value3 + step3 * i);
                enchant.EnchantType[0] = type1;
                enchant.EnchantType[1] = type2;
                enchant.EnchantType[2] = type3;

                string enchantName = "遗产:" + String.Format(enchantTitle, i + 1);
                switch (enchantQuality)
                {
                case 1:
                    enchantName = "|cffffffff" + enchantName + "|r";
                    break;

                case 2:
                    enchantName = "|cff1eff00" + enchantName + "|r";
                    break;

                case 3:
                    enchantName = "|cff0070dd" + enchantName + "|r";
                    break;

                case 4:
                    enchantName = "|cffa335ee" + enchantName + "|r";
                    break;

                case 5:
                    enchantName = "|cffff8000" + enchantName + "|r";
                    break;

                case 6:
                    enchantName = "|cffe6cc80" + enchantName + "|r";
                    break;

                case 7:
                    enchantName = "|cffff0000" + enchantName + "|r";
                    break;

                default:
                    break;
                }
                enchant.Name = enchantName + Environment.NewLine + String.Format("  " + enchantFormat, enchant.Min[0], enchant.Min[1], enchant.Min[2]);
            }

            item_enchant_chance chance = new item_enchant_chance();

            chance.Enchant = firstRank;
            chance.Chance  = enchantChance;
            DB.LEGACY.item_enchant_chance.Add(chance);
            DB.LEGACY.SaveChanges();
            DB.Refresh();
        }
示例#6
-1
        // 1 enchant per rp case
        private void GenerateEnchantProperty(string name, string format, int rank, int nextRank, int xp, int object1, int value1, int type1, int step1, int object2 = 0, int value2 = 0, int type2 = 0, int step2 = 0, int object3 = 0, int value3 = 0, int type3 = 0, int step3 = 0)
        {
            ItemRandomProperty        property = WorldWorker.CreateNewItemRandomProperty();
            SpellItemEnchantment      enchant  = WorldWorker.CreateNewSpellItemEnchant();
            item_enchant_data         data     = new item_enchant_data();
            item_enchant_upgrade_data upgrade  = new item_enchant_upgrade_data();

            property.Enchant[0]    = enchant.ID;
            property.Name          = name;
            enchant.Object[0]      = object1;
            enchant.Object[1]      = object2;
            enchant.Object[2]      = object3;
            enchant.Min[0]         = value1 + step1 * rank;
            enchant.Min[1]         = value2 + step2 * rank;
            enchant.Min[2]         = value3 + step3 * rank;
            enchant.Max[0]         = value1 + step1 * rank;
            enchant.Max[1]         = value2 + step2 * rank;
            enchant.Max[2]         = value3 + step3 * rank;
            enchant.EnchantType[0] = type1;
            enchant.EnchantType[1] = type2;
            enchant.EnchantType[2] = type3;
            enchant.Name           = String.Format(format, enchant.Min[0], enchant.Min[1], enchant.Min[0]);
        }