Esempio n. 1
0
 public void Assign(EnhancementSet.BonusItem iBi)
 {
     this.Special   = iBi.Special;
     this.AltString = iBi.AltString;
     this.Name      = new string[iBi.Name.Length];
     this.Index     = new int[iBi.Index.Length];
     Array.Copy((Array)iBi.Name, (Array)this.Name, iBi.Name.Length);
     Array.Copy((Array)iBi.Index, (Array)this.Index, iBi.Index.Length);
     this.PvMode  = iBi.PvMode;
     this.Slotted = iBi.Slotted;
 }
Esempio n. 2
0
 public void Assign(BonusItem iBi)
 {
     Special   = iBi.Special;
     AltString = iBi.AltString;
     Name      = new string[iBi.Name.Length];
     Index     = new int[iBi.Index.Length];
     Array.Copy(iBi.Name, Name, iBi.Name.Length);
     Array.Copy(iBi.Index, Index, iBi.Index.Length);
     PvMode  = iBi.PvMode;
     Slotted = iBi.Slotted;
 }
Esempio n. 3
0
    public void BuildEffects(Enums.ePvX pvMode)
    {
        for (int index1 = 0; index1 <= SetInfo.Length - 1; ++index1)
        {
            if (SetInfo[index1].SlottedCount > 1)
            {
                for (int index2 = 0; index2 <= DatabaseAPI.Database.EnhancementSets[SetInfo[index1].SetIDX].Bonus.Length - 1; ++index2)
                {
                    if (!(DatabaseAPI.Database.EnhancementSets[SetInfo[index1].SetIDX].Bonus[index2].Slotted <= SetInfo[index1].SlottedCount &
                          (DatabaseAPI.Database.EnhancementSets[SetInfo[index1].SetIDX].Bonus[index2].PvMode == pvMode |
                           DatabaseAPI.Database.EnhancementSets[SetInfo[index1].SetIDX].Bonus[index2].PvMode == Enums.ePvX.Any)))
                    {
                        continue;
                    }
                    for (int index3 = 0; index3 <= DatabaseAPI.Database.EnhancementSets[SetInfo[index1].SetIDX].Bonus[index2].Index.Length - 1; ++index3)
                    {
                        Array.Resize(ref SetInfo[index1].Powers, SetInfo[index1].Powers.Length + 1);
                        SetInfo[index1].Powers[SetInfo[index1].Powers.Length - 1] = DatabaseAPI.Database.EnhancementSets[SetInfo[index1].SetIDX].Bonus[index2].Index[index3];
                    }
                }
            }

            if (SetInfo[index1].SlottedCount <= 0)
            {
                continue;
            }
            {
                for (int index2 = 0; index2 <= DatabaseAPI.Database.EnhancementSets[SetInfo[index1].SetIDX].Enhancements.Length - 1; ++index2)
                {
                    if (DatabaseAPI.Database.EnhancementSets[SetInfo[index1].SetIDX].SpecialBonus[index2].Index.Length <= -1)
                    {
                        continue;
                    }
                    for (int index3 = 0; index3 <= SetInfo[index1].EnhIndexes.Length - 1; ++index3)
                    {
                        if (SetInfo[index1].EnhIndexes[index3] !=
                            DatabaseAPI.Database.EnhancementSets[SetInfo[index1].SetIDX].Enhancements[index2])
                        {
                            continue;
                        }
                        for (int index4 = 0; index4 <= DatabaseAPI.Database.EnhancementSets[SetInfo[index1].SetIDX].SpecialBonus[index2].Index.Length - 1; ++index4)
                        {
                            Array.Resize(ref SetInfo[index1].Powers, SetInfo[index1].Powers.Length + 1);
                            SetInfo[index1].Powers[SetInfo[index1].Powers.Length - 1] = DatabaseAPI.Database.EnhancementSets[SetInfo[index1].SetIDX].SpecialBonus[index2].Index[index4];
                        }
                    }
                }
            }
        }
    }
 public void BuildEffects(Enums.ePvX pvMode)
 {
     for (int index1 = 0; index1 <= this.SetInfo.Length - 1; ++index1)
     {
         if (this.SetInfo[index1].SlottedCount > 1)
         {
             for (int index2 = 0; index2 <= DatabaseAPI.Database.EnhancementSets[this.SetInfo[index1].SetIDX].Bonus.Length - 1; ++index2)
             {
                 if (DatabaseAPI.Database.EnhancementSets[this.SetInfo[index1].SetIDX].Bonus[index2].Slotted <= this.SetInfo[index1].SlottedCount & (DatabaseAPI.Database.EnhancementSets[this.SetInfo[index1].SetIDX].Bonus[index2].PvMode == pvMode | DatabaseAPI.Database.EnhancementSets[this.SetInfo[index1].SetIDX].Bonus[index2].PvMode == Enums.ePvX.Any))
                 {
                     for (int index3 = 0; index3 <= DatabaseAPI.Database.EnhancementSets[this.SetInfo[index1].SetIDX].Bonus[index2].Index.Length - 1; ++index3)
                     {
                         Array.Resize <int>(ref this.SetInfo[index1].Powers, this.SetInfo[index1].Powers.Length + 1);
                         this.SetInfo[index1].Powers[this.SetInfo[index1].Powers.Length - 1] = DatabaseAPI.Database.EnhancementSets[this.SetInfo[index1].SetIDX].Bonus[index2].Index[index3];
                     }
                 }
             }
         }
         if (this.SetInfo[index1].SlottedCount > 0)
         {
             for (int index2 = 0; index2 <= DatabaseAPI.Database.EnhancementSets[this.SetInfo[index1].SetIDX].Enhancements.Length - 1; ++index2)
             {
                 if (DatabaseAPI.Database.EnhancementSets[this.SetInfo[index1].SetIDX].SpecialBonus[index2].Index.Length > -1)
                 {
                     for (int index3 = 0; index3 <= this.SetInfo[index1].EnhIndexes.Length - 1; ++index3)
                     {
                         if (this.SetInfo[index1].EnhIndexes[index3] == DatabaseAPI.Database.EnhancementSets[this.SetInfo[index1].SetIDX].Enhancements[index2])
                         {
                             for (int index4 = 0; index4 <= DatabaseAPI.Database.EnhancementSets[this.SetInfo[index1].SetIDX].SpecialBonus[index2].Index.Length - 1; ++index4)
                             {
                                 Array.Resize <int>(ref this.SetInfo[index1].Powers, this.SetInfo[index1].Powers.Length + 1);
                                 this.SetInfo[index1].Powers[this.SetInfo[index1].Powers.Length - 1] = DatabaseAPI.Database.EnhancementSets[this.SetInfo[index1].SetIDX].SpecialBonus[index2].Index[index4];
                             }
                         }
                     }
                 }
             }
         }
     }
 }
        bool ParseClasses(string iFileName)

        {
            int          num1 = 0;
            StreamReader iStream;

            try
            {
                iStream = new StreamReader(iFileName);
            }
            catch (Exception ex)
            {
                ProjectData.SetProjectError(ex);
                int  num2 = (int)Interaction.MsgBox(ex.Message, MsgBoxStyle.Critical, "Bonus CSV Not Opened");
                bool flag = false;
                ProjectData.ClearProjectError();
                return(flag);
            }
            int num3 = 0;
            int num4 = 0;
            int num5 = 0;
            int num6 = DatabaseAPI.Database.EnhancementSets.Count - 1;

            for (int index1 = 0; index1 <= num6; ++index1)
            {
                DatabaseAPI.Database.EnhancementSets[index1].Bonus        = new EnhancementSet.BonusItem[0];
                DatabaseAPI.Database.EnhancementSets[index1].SpecialBonus = new EnhancementSet.BonusItem[6];
                int num2 = DatabaseAPI.Database.EnhancementSets[index1].SpecialBonus.Length - 1;
                for (int index2 = 0; index2 <= num2; ++index2)
                {
                    DatabaseAPI.Database.EnhancementSets[index1].SpecialBonus[index2]           = new EnhancementSet.BonusItem();
                    DatabaseAPI.Database.EnhancementSets[index1].SpecialBonus[index2].Name      = new string[0];
                    DatabaseAPI.Database.EnhancementSets[index1].SpecialBonus[index2].Index     = new int[0];
                    DatabaseAPI.Database.EnhancementSets[index1].SpecialBonus[index2].AltString = "";
                    DatabaseAPI.Database.EnhancementSets[index1].SpecialBonus[index2].Special   = -1;
                }
            }
            try
            {
                string iLine;
                do
                {
                    iLine = FileIO.ReadLineUnlimited(iStream, char.MinValue);
                    if (iLine != null && !iLine.StartsWith("#"))
                    {
                        ++num5;
                        if (num5 >= 9)
                        {
                            this.BusyMsg(Strings.Format(num3, "###,##0") + " records parsed.");
                            num5 = 0;
                        }
                        string[] array  = CSV.ToArray(iLine);
                        int      index1 = DatabaseAPI.NidFromUidioSet(array[0]);
                        if (index1 > -1)
                        {
                            int        integer   = Conversions.ToInteger(array[1]);
                            string[]   strArray1 = array[3].Split(" ".ToCharArray());
                            Enums.ePvX ePvX      = Enums.ePvX.Any;
                            if (array[2].Contains("isPVPMap?"))
                            {
                                ePvX     = Enums.ePvX.PvP;
                                array[2] = array[2].Replace("isPVPMap?", "").Replace("  ", " ");
                            }
                            string[] strArray2 = array[2].Split(" ".ToCharArray());
                            if (array[2] == "")
                            {
                                DatabaseAPI.Database.EnhancementSets[index1].Bonus = (EnhancementSet.BonusItem[])Utils.CopyArray(DatabaseAPI.Database.EnhancementSets[index1].Bonus, (Array) new EnhancementSet.BonusItem[DatabaseAPI.Database.EnhancementSets[index1].Bonus.Length + 1]);
                                DatabaseAPI.Database.EnhancementSets[index1].Bonus[DatabaseAPI.Database.EnhancementSets[index1].Bonus.Length - 1] = new EnhancementSet.BonusItem();
                                EnhancementSet.BonusItem[] bonus = DatabaseAPI.Database.EnhancementSets[index1].Bonus;
                                int index2 = DatabaseAPI.Database.EnhancementSets[index1].Bonus.Length - 1;
                                bonus[index2].AltString = "";
                                bonus[index2].Name      = new string[strArray1.Length - 1 + 1];
                                bonus[index2].Index     = new int[strArray1.Length - 1 + 1];
                                int num2 = bonus[index2].Name.Length - 1;
                                for (int index3 = 0; index3 <= num2; ++index3)
                                {
                                    bonus[index2].Name[index3]  = strArray1[index3];
                                    bonus[index2].Index[index3] = DatabaseAPI.NidFromUidPower(strArray1[index3]);
                                }
                                bonus[index2].Special = -1;
                                bonus[index2].PvMode  = ePvX;
                                bonus[index2].Slotted = integer;
                            }
                            else
                            {
                                int num2 = -1;
                                int num7 = strArray2.Length - 1;
                                for (int index2 = 0; index2 <= num7; ++index2)
                                {
                                    int num8 = DatabaseAPI.NidFromUidEnh(strArray2[index2]);
                                    if (num8 > -1)
                                    {
                                        int num9 = DatabaseAPI.Database.EnhancementSets[index1].Enhancements.Length - 1;
                                        for (int index3 = 0; index3 <= num9; ++index3)
                                        {
                                            if (DatabaseAPI.Database.EnhancementSets[index1].Enhancements[index3] == num8)
                                            {
                                                num2 = index3;
                                                break;
                                            }
                                        }
                                        break;
                                    }
                                }
                                if (num2 > -1)
                                {
                                    EnhancementSet.BonusItem[] specialBonus = DatabaseAPI.Database.EnhancementSets[index1].SpecialBonus;
                                    int index2 = num2;
                                    specialBonus[index2].AltString = "";
                                    specialBonus[index2].Name      = new string[strArray1.Length - 1 + 1];
                                    specialBonus[index2].Index     = new int[strArray1.Length - 1 + 1];
                                    int num8 = specialBonus[index2].Name.Length - 1;
                                    for (int index3 = 0; index3 <= num8; ++index3)
                                    {
                                        specialBonus[index2].Name[index3]  = strArray1[index3];
                                        specialBonus[index2].Index[index3] = DatabaseAPI.NidFromUidPower(strArray1[index3]);
                                    }
                                    specialBonus[index2].Special = num2;
                                    specialBonus[index2].PvMode  = ePvX;
                                    specialBonus[index2].Slotted = integer;
                                }
                            }
                            ++num1;
                        }
                        else
                        {
                            ++num4;
                        }
                        ++num3;
                    }
                }while (iLine != null);
            }
            catch (Exception ex)
            {
                ProjectData.SetProjectError(ex);
                Exception exception = ex;
                iStream.Close();
                int  num2 = (int)Interaction.MsgBox(exception.Message, MsgBoxStyle.Critical, "Power Class CSV Parse Error");
                bool flag = false;
                ProjectData.ClearProjectError();
                return(flag);
            }
            iStream.Close();
            var serializer = My.MyApplication.GetSerializer();

            DatabaseAPI.SaveEnhancementDb(serializer);
            this.DisplayInfo();
            int num10 = (int)Interaction.MsgBox(("Parse Completed!\r\nTotal Records: " + Conversions.ToString(num3) + "\r\nGood: " + Conversions.ToString(num1) + "\r\nRejected: " + Conversions.ToString(num4)), MsgBoxStyle.Information, "File Parsed");

            return(true);
        }
        bool ParseClasses(string iFileName)
        {
            int          num = 0;
            StreamReader iStream;

            try
            {
                iStream = new StreamReader(iFileName);
            }
            catch (Exception ex)
            {
                Exception ex3 = ex;
                Interaction.MsgBox(ex3.Message, MsgBoxStyle.Critical, "Bonus CSV Not Opened");
                return(false);
            }
            int num2 = 0;
            int num3 = 0;
            int num4 = 0;
            int num5 = DatabaseAPI.Database.EnhancementSets.Count - 1;

            for (int index3 = 0; index3 <= num5; index3++)
            {
                DatabaseAPI.Database.EnhancementSets[index3].Bonus        = new EnhancementSet.BonusItem[0];
                DatabaseAPI.Database.EnhancementSets[index3].SpecialBonus = new EnhancementSet.BonusItem[6];
                int num6 = DatabaseAPI.Database.EnhancementSets[index3].SpecialBonus.Length - 1;
                for (int index4 = 0; index4 <= num6; index4++)
                {
                    DatabaseAPI.Database.EnhancementSets[index3].SpecialBonus[index4]           = default(EnhancementSet.BonusItem);
                    DatabaseAPI.Database.EnhancementSets[index3].SpecialBonus[index4].Name      = new string[0];
                    DatabaseAPI.Database.EnhancementSets[index3].SpecialBonus[index4].Index     = new int[0];
                    DatabaseAPI.Database.EnhancementSets[index3].SpecialBonus[index4].AltString = "";
                    DatabaseAPI.Database.EnhancementSets[index3].SpecialBonus[index4].Special   = -1;
                }
            }
            try
            {
                string iLine;
                do
                {
                    iLine = FileIO.ReadLineUnlimited(iStream, '\0');
                    if (iLine != null && !iLine.StartsWith("#"))
                    {
                        num4++;
                        if (num4 >= 9)
                        {
                            this.BusyMsg(Strings.Format(num2, "###,##0") + " records parsed.");
                            num4 = 0;
                        }
                        string[] array  = CSV.ToArray(iLine);
                        int      index5 = DatabaseAPI.NidFromUidioSet(array[0]);
                        if (index5 > -1)
                        {
                            int        integer  = Conversions.ToInteger(array[1]);
                            string[]   strArray = array[3].Split(" ".ToCharArray());
                            Enums.ePvX ePvX     = Enums.ePvX.Any;
                            if (array[2].Contains("isPVPMap?"))
                            {
                                ePvX     = Enums.ePvX.PvP;
                                array[2] = array[2].Replace("isPVPMap?", "").Replace("  ", " ");
                            }
                            string[] strArray2 = array[2].Split(" ".ToCharArray());
                            if (array[2] == "")
                            {
                                DatabaseAPI.Database.EnhancementSets[index5].Bonus = (EnhancementSet.BonusItem[])Utils.CopyArray(DatabaseAPI.Database.EnhancementSets[index5].Bonus, new EnhancementSet.BonusItem[DatabaseAPI.Database.EnhancementSets[index5].Bonus.Length + 1]);
                                DatabaseAPI.Database.EnhancementSets[index5].Bonus[DatabaseAPI.Database.EnhancementSets[index5].Bonus.Length - 1] = default(EnhancementSet.BonusItem);
                                EnhancementSet.BonusItem[] bonus = DatabaseAPI.Database.EnhancementSets[index5].Bonus;
                                int index6 = DatabaseAPI.Database.EnhancementSets[index5].Bonus.Length - 1;
                                bonus[index6].AltString = "";
                                bonus[index6].Name      = new string[strArray.Length - 1 + 1];
                                bonus[index6].Index     = new int[strArray.Length - 1 + 1];
                                int num7 = bonus[index6].Name.Length - 1;
                                for (int index3 = 0; index3 <= num7; index3++)
                                {
                                    bonus[index6].Name[index3]  = strArray[index3];
                                    bonus[index6].Index[index3] = DatabaseAPI.NidFromUidPower(strArray[index3]);
                                }
                                bonus[index6].Special = -1;
                                bonus[index6].PvMode  = ePvX;
                                bonus[index6].Slotted = integer;
                            }
                            else
                            {
                                int num8 = -1;
                                int num9 = strArray2.Length - 1;
                                for (int index3 = 0; index3 <= num9; index3++)
                                {
                                    int num10 = DatabaseAPI.NidFromUidEnh(strArray2[index3]);
                                    if (num10 > -1)
                                    {
                                        int num11 = DatabaseAPI.Database.EnhancementSets[index5].Enhancements.Length - 1;
                                        for (int index7 = 0; index7 <= num11; index7++)
                                        {
                                            if (DatabaseAPI.Database.EnhancementSets[index5].Enhancements[index7] == num10)
                                            {
                                                num8 = index7;
                                                break;
                                            }
                                        }
                                        break;
                                    }
                                }
                                if (num8 > -1)
                                {
                                    EnhancementSet.BonusItem[] specialBonus = DatabaseAPI.Database.EnhancementSets[index5].SpecialBonus;
                                    int index8 = num8;
                                    specialBonus[index8].AltString = "";
                                    specialBonus[index8].Name      = new string[strArray.Length - 1 + 1];
                                    specialBonus[index8].Index     = new int[strArray.Length - 1 + 1];
                                    int num12 = specialBonus[index8].Name.Length - 1;
                                    for (int index3 = 0; index3 <= num12; index3++)
                                    {
                                        specialBonus[index8].Name[index3]  = strArray[index3];
                                        specialBonus[index8].Index[index3] = DatabaseAPI.NidFromUidPower(strArray[index3]);
                                    }
                                    specialBonus[index8].Special = num8;
                                    specialBonus[index8].PvMode  = ePvX;
                                    specialBonus[index8].Slotted = integer;
                                }
                            }
                            num++;
                        }
                        else
                        {
                            num3++;
                        }
                        num2++;
                    }
                }while (iLine != null);
            }
            catch (Exception ex2)
            {
                Exception exception = ex2;
                iStream.Close();
                Interaction.MsgBox(exception.Message, MsgBoxStyle.Critical, "Power Class CSV Parse Error");
                return(false);
            }
            iStream.Close();
            DatabaseAPI.SaveEnhancementDb();
            this.DisplayInfo();
            Interaction.MsgBox(string.Concat(new string[]
            {
                "Parse Completed!\r\nTotal Records: ",
                Conversions.ToString(num2),
                "\r\nGood: ",
                Conversions.ToString(num),
                "\r\nRejected: ",
                Conversions.ToString(num3)
            }), MsgBoxStyle.Information, "File Parsed");
            return(true);
        }