示例#1
0
            public byte LevelMod;              //0x0083  1 byte  Level Mod(used in damage formula)
            public void Read(BinaryReader br, int i)
            {
                Name        = Memory.Strings.Read(Strings.FileID.KERNEL, id, i * 2);
                Description = Memory.Strings.Read(Strings.FileID.KERNEL, id, i * 2 + 1);

                br.BaseStream.Seek(4, SeekOrigin.Current);

                MagicID       = (Magic_ID)br.ReadUInt16();     //0x0004  2 bytes[[Magic ID
                Attack_type   = (Attack_Type)br.ReadByte();    //0x0006  1 byte  Attack type
                GF_power      = br.ReadByte();                 //0x0007  1 byte  GF power(used in damage formula)
                Unknown0      = br.ReadBytes(2);               //0x0008  2 bytes Unknown
                Attack_flags  = (Attack_Flags)(br.ReadByte()); //0x000A  1 byte  Attack Flags
                Unknown1      = br.ReadBytes(2);               //0x000B  2 bytes Unknown
                Element       = (Element)br.ReadByte();        //0x000D  1 byte[[Element
                Statuses0     = (Statuses0)br.ReadUInt16();    //0x000E  2 bytes[[Statuses 0
                Statuses1     = (Statuses1)br.ReadUInt32();    //0x0010  4 bytes[[Statuses 1
                GFHP_modifier = br.ReadByte();                 //0x0014  1 byte  GF HP Modifier(used in GF HP formula)
                Unknown2      = br.ReadBytes(6);               //0x0015  6 bytes Unknown
                Status_attack = br.ReadByte();                 //0x001B  1 byte  Status attack enabler
                Ability       = new byte[21][];
                for (i = 0; i < 21; i++)
                {
                    Ability[i] = br.ReadBytes(2);
                }
                GF_Compatibility = new Dictionary <Saves.GFs, decimal>(16);
                for (i = 0; i < 16; i++)
                {
                    GF_Compatibility.Add((Saves.GFs)i, (100 - Convert.ToDecimal(br.ReadByte())) / 5); //doomtrain shows this is a decimal number. i got formula from code.
                }
                Unknown3 = br.ReadBytes(2);                                                           //0x0080  2 bytes Unknown
                PowerMod = br.ReadByte();                                                             //0x0082  1 byte  Power Mod(used in damage formula)
                LevelMod = br.ReadByte();                                                             //0x0083  1 byte  Level Mod(used in damage formula)
            }
 public Statuses1 Statuses1;       //0x10	4 bytes status_1; //statuses 8-31
 public void Read(BinaryReader br, int i)
 {
     Name = Memory.Strings.Read(Strings.FileID.KERNEL, id, i);
     br.BaseStream.Seek(2, SeekOrigin.Current);
     MagicID          = (Magic_ID)br.ReadUInt16();     //0x02	2 bytes Magic ID
     CameraChange     = br.ReadByte();                 //0x04	1 byte Camera Change
     Unknown0         = br.ReadByte();                 //0x05	1 byte Unknown
     Attack_type      = (Attack_Type)br.ReadByte();    //0x06	1 byte Attack type
     Attack_power     = br.ReadByte();                 //0x07	1 byte Attack power
     Attack_flags     = (Attack_Flags)(br.ReadByte()); //0x08	1 byte Attack flags
     Unknown1         = br.ReadByte();                 //0x09	1 byte Unknown
     Element          = (Element)br.ReadByte();        //0x0A	1 byte Element
     Unknown2         = br.ReadByte();                 //0x0B	1 byte Unknown
     StatusAttack     = br.ReadByte();                 //0x0C	1 byte Status attack enabler
     Attack_parameter = br.ReadByte();                 //0x0D	1 byte Attack Parameter
     //Statuses = new BitArray(br.ReadBytes(6));
     Statuses0 = (Statuses0)br.ReadUInt16();           //0x0E	2 bytes status_0; //statuses 0-7
     Statuses1 = (Statuses1)br.ReadUInt32();           //0x10	4 bytes status_1; //statuses 8-31
 }
            public Statuses1 Statuses1;       //0x0014	4 bytes status_1; //statuses 8-39

            public void Read(BinaryReader br, int i)
            {
                Name        = Memory.Strings.Read(Strings.FileID.KERNEL, id, i * 2);
                Description = Memory.Strings.Read(Strings.FileID.KERNEL, id, i * 2 + 1);
                br.BaseStream.Seek(4, SeekOrigin.Current);
                MagicID         = (Magic_ID)br.ReadUInt16();   //0x0004	2 bytes Magic ID
                Attack_Type     = (Attack_Type)br.ReadByte();  //0x0006	1 byte Attack Type
                Unknown0        = br.ReadByte();               //0x0007	1 byte Unknown
                Attack_Power    = br.ReadByte();               //0x0008	1 byte Attack power
                Unknown1        = br.ReadByte();               //0x0009	1 byte Unknown
                Target          = (Target)br.ReadByte();       //0x000A	1 byte Target info
                Attack_Flags    = (Attack_Flags)br.ReadByte(); //0x000B	1 byte Attack Flags
                Hit_Count       = br.ReadByte();               //0x000C	1 byte Hit count
                Element         = (Element)br.ReadByte();      //0x000D	1 byte Element Attack
                Element_Percent = br.ReadByte();               //0x000E	1 byte Element Attack %
                Status_Attack   = br.ReadByte();               //0x000F	1 byte Status Attack Enabler
                Unknown2        = br.ReadBytes(2);             //0x0010	2 bytes Unknown
                Statuses0       = (Statuses0)br.ReadUInt16();  //0x0012	2 bytes status_0; //statuses 0-7
                Statuses1       = (Statuses1)br.ReadUInt32();  //0x0014	4 bytes status_1; //statuses 8-39
            }
示例#4
0
            //0x0017	1 bytes Element

            public void Read(BinaryReader br, int i)
            {
                br.BaseStream.Seek(4, SeekOrigin.Current);

                Name = Memory.Strings.Read(Strings.FileID.KERNEL, id, i * 2);
                //0x0000	2 bytes Offset to item name
                Description = Memory.Strings.Read(Strings.FileID.KERNEL, id, i * 2 + 1);
                //0x0002	2 bytes Offset to item description
                MagicID = (Magic_ID)br.ReadUInt16();
                //0x0004	2 bytes Magic ID
                Attack_Type = (Attack_Type)br.ReadByte();
                //0x0006	1 byte Attack type
                Attack_Power = br.ReadByte();
                //0x0007	1 byte Attack power
                Unknown0 = br.ReadByte();
                //0x0008	1 byte Unknown
                Target = (Target)br.ReadByte();
                //0x0009	1 byte Target info
                Unknown1 = br.ReadByte();
                //0x000A	1 byte Unknown
                Attack_Flags = (Attack_Flags)br.ReadByte();
                //0x000B	1 byte Attack flags
                Unknown2 = br.ReadByte();
                //0x000C	1 bytes Unknown
                Status_Attack = br.ReadByte();
                //0x000D	1 byte Status Attack Enabler
                Statuses0 = (Statuses0)br.ReadUInt16();
                //0x000E	2 bytes status_0; //statuses 0-7
                Statuses1 = (Statuses1)br.ReadUInt32();
                //0x0010	4 bytes status_1; //statuses 8-39
                Attack_Param = br.ReadByte();
                //0x0014	1 byte Attack Param
                Unknown3 = br.ReadByte();
                //0x0015	1 byte Unknown
                Hit_Count = br.ReadByte();
                //0x0016	1 bytes Hit Count
                Element = (Element)br.ReadByte();
                //0x0017	1 bytes Element
            }
            public byte[] Unknown4;      //0x003A  2 bytes Unknown

            public void Read(BinaryReader br, int i)
            {
                Name        = Memory.Strings.Read(Strings.FileID.KERNEL, id, i * 2);
                Description = Memory.Strings.Read(Strings.FileID.KERNEL, id, i * 2 + 1);
                br.BaseStream.Seek(4, SeekOrigin.Current);
                MagicID          = (Magic_ID)br.ReadUInt16();
                Unknown          = br.ReadByte();
                Attack_type      = (Attack_Type)br.ReadByte();
                Spellpower       = br.ReadByte();
                Unknown2         = br.ReadByte();
                Default_target   = (Target)br.ReadByte();
                Attack_flags     = (Attack_Flags)br.ReadByte();
                Draw_resist      = br.ReadByte();
                Hit_count        = br.ReadByte();
                Element          = (Element)br.ReadByte();
                Unknown3         = br.ReadByte();
                Statuses1        = (Statuses1)br.ReadUInt32();
                Statuses0        = (Statuses0)br.ReadUInt16();
                Status_attack    = br.ReadByte();
                HP_J             = br.ReadByte();
                STR_J            = br.ReadByte();
                VIT_J            = br.ReadByte();
                MAG_J            = br.ReadByte();
                SPR_J            = br.ReadByte();
                SPD_J            = br.ReadByte();
                EVA_J            = br.ReadByte();
                HIT_J            = br.ReadByte();
                LUCK_J           = br.ReadByte();
                Elem_J_atk       = br.ReadByte();
                Elem_J_atk_val   = br.ReadByte();
                Elem_J_def       = br.ReadByte();
                Elem_J_def_val   = br.ReadByte();
                Stat_J_atk_val   = br.ReadByte();
                Stat_J_def_val   = br.ReadByte();
                Stat_J_atk       = br.ReadBytes(2);
                Stat_J_def       = br.ReadBytes(2);
                GF_Compatibility = br.ReadBytes(16);
                Unknown4         = br.ReadBytes(2);
            }