Exemplo n.º 1
0
        // Token: 0x0600002E RID: 46 RVA: 0x00005BC8 File Offset: 0x00003DC8
        public ItemClass(string FileName)
        {
            byte[] array = new byte[]
            {
                252,
                207,
                171
            };
            int        num        = 628;
            FileStream fileStream = new FileStream(FileName, FileMode.Open);

            byte[] array2 = new byte[4];
            fileStream.Read(array2, 0, 4);
            int num2 = BitConverter.ToInt32(array2, 0);

            for (int i = 0; i < num2; i++)
            {
                int            num3           = 0;
                ITEM_ATTRIBUTE item_ATTRIBUTE = new ITEM_ATTRIBUTE();
                array2 = new byte[num];
                fileStream.Read(array2, 0, num);
                for (int j = 0; j < num; j++)
                {
                    byte[] array3 = array2;
                    int    num4   = j;
                    array3[num4] ^= array[j % 3];
                }
                item_ATTRIBUTE.GID = BitConverter.ToInt32(array2, num3);
                num3 += 4;
                item_ATTRIBUTE.Group = BitConverter.ToUInt16(array2, num3);
                num3 += 2;
                item_ATTRIBUTE.Index = BitConverter.ToUInt16(array2, num3);
                num3 += 2;
                Array.Copy(array2, num3, item_ATTRIBUTE.Model_Folder, 0, 260);
                num3 += 260;
                Array.Copy(array2, num3, item_ATTRIBUTE.Model_Name, 0, 260);
                num3 += 260;
                Array.Copy(array2, num3, item_ATTRIBUTE.Name, 0, 30);
                num3 += 30;
                item_ATTRIBUTE.ItemKindA = array2[num3];
                num3++;
                item_ATTRIBUTE.ItemKindB = array2[num3];
                num3++;
                item_ATTRIBUTE.ItemCategory = array2[num3];
                num3++;
                item_ATTRIBUTE.TwoHand = BitConverter.ToBoolean(array2, num3);
                num3++;
                item_ATTRIBUTE.Level = BitConverter.ToUInt16(array2, num3);
                num3 += 2;
                item_ATTRIBUTE.ItemSlot = BitConverter.ToUInt16(array2, num3);
                num3 += 2;
                item_ATTRIBUTE.SkillType = BitConverter.ToUInt16(array2, num3);
                num3            += 2;
                item_ATTRIBUTE.X = array2[num3];
                num3++;
                item_ATTRIBUTE.Y = array2[num3];
                num3++;
                item_ATTRIBUTE.DamMin = BitConverter.ToUInt16(array2, num3);
                num3 += 2;
                item_ATTRIBUTE.DamMax = BitConverter.ToUInt16(array2, num3);
                num3 += 2;
                item_ATTRIBUTE.MagDef = BitConverter.ToUInt16(array2, num3);
                num3 += 2;
                item_ATTRIBUTE.Defence = BitConverter.ToInt32(array2, num3);
                num3 += 4;
                item_ATTRIBUTE.AtkSpeed = (ushort)array2[num3];
                num3++;
                item_ATTRIBUTE.WalkSpeed = (ushort)array2[num3];
                num3++;
                item_ATTRIBUTE.Dur = (ushort)array2[num3];
                num3++;
                item_ATTRIBUTE.MagicDur = (ushort)array2[num3];
                num3++;
                item_ATTRIBUTE.MagicPW = BitConverter.ToUInt16(array2, num3);
                num3 += 2;
                item_ATTRIBUTE.Str = BitConverter.ToUInt16(array2, num3);
                num3 += 2;
                item_ATTRIBUTE.Dex = BitConverter.ToUInt16(array2, num3);
                num3 += 2;
                item_ATTRIBUTE.Eng = BitConverter.ToUInt16(array2, num3);
                num3 += 2;
                item_ATTRIBUTE.Hea = BitConverter.ToUInt16(array2, num3);
                num3 += 2;
                item_ATTRIBUTE.Cha = BitConverter.ToUInt16(array2, num3);
                num3 += 2;
                item_ATTRIBUTE.NLvl = BitConverter.ToUInt16(array2, num3);
                num3 += 2;
                item_ATTRIBUTE.Value = BitConverter.ToUInt16(array2, num3);
                num3 += 2;
                item_ATTRIBUTE.Zen = BitConverter.ToUInt32(array2, num3);
                num3 += 4;
                item_ATTRIBUTE.byte_0 = array2[num3];
                num3++;
                item_ATTRIBUTE.iClassNumber.WIZARD = array2[num3];
                num3++;
                item_ATTRIBUTE.iClassNumber.KNIGHT = array2[num3];
                num3++;
                item_ATTRIBUTE.iClassNumber.ELF = array2[num3];
                num3++;
                item_ATTRIBUTE.iClassNumber.MAGUMSA = array2[num3];
                num3++;
                item_ATTRIBUTE.iClassNumber.DARKLORD = array2[num3];
                num3++;
                item_ATTRIBUTE.iClassNumber.SUMMONER = array2[num3];
                num3++;
                item_ATTRIBUTE.iClassNumber.MONK = array2[num3];
                num3++;
                item_ATTRIBUTE.iAttribute.ICE = array2[num3];
                num3++;
                item_ATTRIBUTE.iAttribute.POISON = array2[num3];
                num3++;
                item_ATTRIBUTE.iAttribute.LIGHTNING = array2[num3];
                num3++;
                item_ATTRIBUTE.iAttribute.FIRE = array2[num3];
                num3++;
                item_ATTRIBUTE.iAttribute.EARTH = array2[num3];
                num3++;
                item_ATTRIBUTE.iAttribute.WIND = array2[num3];
                num3++;
                item_ATTRIBUTE.iAttribute.WATER = array2[num3];
                num3++;
                ItemAttribute[item_ATTRIBUTE.GID] = item_ATTRIBUTE;
            }
        }
Exemplo n.º 2
0
        public ItemClass(string FileName)
        {
            byte[]     numArray   = new byte[] { 252, 207, 171 };
            int        num        = 628;
            FileStream fileStream = new FileStream(FileName, FileMode.Open);

            byte[] numArray1 = new byte[4];
            fileStream.Read(numArray1, 0, 4);
            int num1 = BitConverter.ToInt32(numArray1, 0);

            for (int i = 0; i < num1; i++)
            {
                int            num2         = 0;
                ITEM_ATTRIBUTE tEMATTRIBUTE = new ITEM_ATTRIBUTE();
                numArray1 = new byte[num];
                fileStream.Read(numArray1, 0, num);
                for (int j = 0; j < num; j++)
                {
                    numArray1[j] = (byte)(numArray1[j] ^ numArray[j % 3]);
                }
                tEMATTRIBUTE.GID   = BitConverter.ToInt32(numArray1, num2);
                num2               = num2 + 4;
                tEMATTRIBUTE.Group = BitConverter.ToUInt16(numArray1, num2);
                num2               = num2 + 2;
                tEMATTRIBUTE.Index = BitConverter.ToUInt16(numArray1, num2);
                num2               = num2 + 2;
                Array.Copy(numArray1, num2, tEMATTRIBUTE.Model_Folder, 0, 260);
                num2 = num2 + 260;
                Array.Copy(numArray1, num2, tEMATTRIBUTE.Model_Name, 0, 260);
                num2 = num2 + 260;
                Array.Copy(numArray1, num2, tEMATTRIBUTE.Name, 0, 30);
                num2 = num2 + 30;
                tEMATTRIBUTE.ItemKindA = numArray1[num2];
                num2++;
                tEMATTRIBUTE.ItemKindB = numArray1[num2];
                num2++;
                tEMATTRIBUTE.ItemCategory = numArray1[num2];
                num2++;
                tEMATTRIBUTE.TwoHand = BitConverter.ToBoolean(numArray1, num2);
                num2++;
                tEMATTRIBUTE.Level = BitConverter.ToUInt16(numArray1, num2);
                num2 = num2 + 2;
                tEMATTRIBUTE.ItemSlot = BitConverter.ToUInt16(numArray1, num2);
                num2 = num2 + 2;
                tEMATTRIBUTE.SkillType = BitConverter.ToUInt16(numArray1, num2);
                num2           = num2 + 2;
                tEMATTRIBUTE.X = numArray1[num2];
                num2++;
                tEMATTRIBUTE.Y = numArray1[num2];
                num2++;
                tEMATTRIBUTE.DamMin = BitConverter.ToUInt16(numArray1, num2);
                num2 = num2 + 2;
                tEMATTRIBUTE.DamMax = BitConverter.ToUInt16(numArray1, num2);
                num2 = num2 + 2;
                tEMATTRIBUTE.MagDef = BitConverter.ToUInt16(numArray1, num2);
                num2 = num2 + 2;
                tEMATTRIBUTE.Defence = BitConverter.ToInt32(numArray1, num2);
                num2 = num2 + 4;
                tEMATTRIBUTE.AtkSpeed = numArray1[num2];
                num2++;
                tEMATTRIBUTE.WalkSpeed = numArray1[num2];
                num2++;
                tEMATTRIBUTE.Dur = numArray1[num2];
                num2++;
                tEMATTRIBUTE.MagicDur = numArray1[num2];
                num2++;
                tEMATTRIBUTE.MagicPW = BitConverter.ToUInt16(numArray1, num2);
                num2               = num2 + 2;
                tEMATTRIBUTE.Str   = BitConverter.ToUInt16(numArray1, num2);
                num2               = num2 + 2;
                tEMATTRIBUTE.Dex   = BitConverter.ToUInt16(numArray1, num2);
                num2               = num2 + 2;
                tEMATTRIBUTE.Eng   = BitConverter.ToUInt16(numArray1, num2);
                num2               = num2 + 2;
                tEMATTRIBUTE.Hea   = BitConverter.ToUInt16(numArray1, num2);
                num2               = num2 + 2;
                tEMATTRIBUTE.Cha   = BitConverter.ToUInt16(numArray1, num2);
                num2               = num2 + 2;
                tEMATTRIBUTE.NLvl  = BitConverter.ToUInt16(numArray1, num2);
                num2               = num2 + 2;
                tEMATTRIBUTE.Value = BitConverter.ToUInt16(numArray1, num2);
                num2               = num2 + 2;
                tEMATTRIBUTE.Zen   = BitConverter.ToUInt32(numArray1, num2);
                num2               = num2 + 4;
                tEMATTRIBUTE.技飘加己  = numArray1[num2];
                num2++;
                tEMATTRIBUTE.iClassNumber.WIZARD = numArray1[num2];
                num2++;
                tEMATTRIBUTE.iClassNumber.KNIGHT = numArray1[num2];
                num2++;
                tEMATTRIBUTE.iClassNumber.ELF = numArray1[num2];
                num2++;
                tEMATTRIBUTE.iClassNumber.MAGUMSA = numArray1[num2];
                num2++;
                tEMATTRIBUTE.iClassNumber.DARKLORD = numArray1[num2];
                num2++;
                tEMATTRIBUTE.iClassNumber.SUMMONER = numArray1[num2];
                num2++;
                tEMATTRIBUTE.iClassNumber.MONK = numArray1[num2];
                num2++;
                tEMATTRIBUTE.iAttribute.ICE = numArray1[num2];
                num2++;
                tEMATTRIBUTE.iAttribute.POISON = numArray1[num2];
                num2++;
                tEMATTRIBUTE.iAttribute.LIGHTNING = numArray1[num2];
                num2++;
                tEMATTRIBUTE.iAttribute.FIRE = numArray1[num2];
                num2++;
                tEMATTRIBUTE.iAttribute.EARTH = numArray1[num2];
                num2++;
                tEMATTRIBUTE.iAttribute.WIND = numArray1[num2];
                num2++;
                tEMATTRIBUTE.iAttribute.WATER = numArray1[num2];
                num2++;
                this.ItemAttribute[tEMATTRIBUTE.GID] = tEMATTRIBUTE;
            }
        }