//0x0013	1 byte Level Mod(used in damage formula)

            public void Read(BinaryReader br, int i)
            {
                Name = Memory.Strings.Read(Strings.FileID.KERNEL, id, i);
                br.BaseStream.Seek(2, SeekOrigin.Current);
                //0x0000	2 bytes Offset to GF attack name
                MagicID = (Magic_ID)br.ReadUInt16();
                //0x0002	2 bytes Magic ID(decides what animation to play)
                Attack_Type = (Attack_Type)br.ReadByte();
                //0x0004	1 byte Attack type
                GF_Power = br.ReadByte();
                //0x0005	1 byte GF power(used in damage formula)
                Status_Attack = br.ReadByte();
                //0x0006	1 byte Status attack enabler
                Unknown0 = br.ReadByte();
                //0x0007	1 byte Unknown
                Status_flags = br.ReadByte();
                //0x0008	1 byte Status flags ?
                Unknown1 = br.ReadBytes(2);
                //0x0009	2 bytes Unknown
                Element = (Element)br.ReadByte();
                //0x000B	1 byte Element
                Statuses1 = (Statuses1)br.ReadUInt32();
                //0x000C	1 byte Status 1
                //0x000D	1 byte Status 2
                //0x000E	1 byte Status 3
                //0x000F	1 byte Status 4
                Statuses0 = (Statuses0)br.ReadUInt16();
                //0x0010	1 byte Status 5
                //0x0011	1 byte Unknown
                Power_Mod = br.ReadByte();
                //0x0012	1 byte Power Mod(used in damage formula)
                Level_Mod = br.ReadByte();
                //0x0013	1 byte Level Mod(used in damage formula)
            }
            public void Read(BinaryReader br, int i)
            {
                var offset = br.ReadUInt16();

                Name = Memory.Strings.Read(Strings.FileID.KERNEL, Memory.Strings.Files[Strings.FileID.KERNEL].subPositions[(int)Memory.Strings.Kernel_LocSTR[id].Item1] + offset);
                //0x0000	2 bytes Offset to name
                //br.BaseStream.Seek(2, SeekOrigin.Current);
                MagicID = (Magic_ID)br.ReadUInt16();
                //0x0002  2 bytes Magic ID
                Attack_Type = (Attack_Type)br.ReadByte();
                //0x0004  1 byte Attack type
                Attack_Power = br.ReadByte();
                //0x0005  1 byte Attack power
                Attack_Flags = (Attack_Flags)br.ReadByte();
                //0x0006  1 byte Attack flags
                Unknown0 = br.ReadByte();
                //0x0007  1 byte Unknown
                Target = (Target)br.ReadByte();
                //0x0008  1 byte Target info
                Unknown1 = br.ReadByte();
                //0x0009  1 byte Unknown
                Hit_Count = br.ReadByte();
                //0x000A  1 byte Hit Count
                Element = (Element)br.ReadByte();
                //0x000B  1 byte Element Attack
                Element_Percent = br.ReadByte();
                //0x000C  1 byte Element Attack %
                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
            }
示例#3
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)
            }
示例#4
0
 public void Read(BinaryReader br, int i)
 {
     Name = Memory.Strings.Read(Strings.FileID.KERNEL, id, i * 2);
     //0x0000	2 bytes Offset to name
     Description = Memory.Strings.Read(Strings.FileID.KERNEL, id, i * 2 + 1);
     //0x0002	2 bytes Offset to description
     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
     Attack_Power = br.ReadByte();
     //0x0007  1 byte Attack Power
     Unknown0 = br.ReadBytes(2);
     //0x0008  2 bytes 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
     Statuses0 = (Statuses0)br.ReadUInt16();
     //0x0010  2 bytes status_0; //statuses 0-7
     Unknown1 = br.ReadBytes(2);
     //0x0012  2 bytes Unknown
     Statuses1 = (Statuses1)br.ReadUInt32();
     //0x0014  4 bytes status_1; //statuses 8-39
 }
示例#5
0
 public void Read(BinaryReader br, int i)
 {
     Name = Memory.Strings.Read(Strings.FileID.KERNEL, id, i * 2);
     //0x0000	2 bytes Offset to name
     Description = Memory.Strings.Read(Strings.FileID.KERNEL, id, i * 2 + 1);
     //0x0002	2 bytes Offset to description
     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
     Attack_Power = br.ReadByte();
     //0x0007  1 byte Attack power
     Attack_Flags = (Attack_Flags)br.ReadByte();
     //0x0008  1 byte Attack flags
     Unknown0 = br.ReadByte();
     //0x0009  1 byte Unknown
     Target = (Target)br.ReadByte();
     //0x000A  1 byte Target Info
     Unknown1 = br.ReadByte();
     //0x000B  1 bytes Unknown
     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
     Button_Combo = new Buttons[5];
     for (int b = 0; b < Button_Combo.Length; b++)
     {
         Button_Flags key = (Button_Flags)br.ReadUInt16();
         if (Input.Convert_Button.ContainsKey(key))
         {
             Button_Combo[b] = Input.Convert_Button[key];
         }
     }
     //0x0010  2 bytes Sequence Button 1
     //0x0012  2 bytes Sequence Button 2
     //0x0014  2 bytes Sequence Button 3
     //0x0016  2 bytes Sequence Button 4
     //0x0018  2 bytes Sequence Button 5
     Statuses0 = (Statuses0)br.ReadUInt16();
     //0x001A  2 bytes status_0; //statuses 0-7
     Statuses1 = (Statuses1)br.ReadUInt32();
     //0x001C  4 bytes status_1; //statuses 8-39
 }
 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
 }
示例#7
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
            }
示例#8
0
 public void Read(BinaryReader br, int i)
 {
     MagicID = (Magic_ID)br.ReadUInt16();
     //0x0000  2 bytes Magic ID
     Unknown0 = br.ReadBytes(2);
     //0x0002  2 bytes Unknown
     Attack_Type = (Attack_Type)br.ReadByte();
     //0x0004  1 byte Attack type
     Attack_Power = br.ReadByte();
     //0x0005  1 byte Attack power
     Attack_Flags = (Attack_Flags)br.ReadByte();
     //0x0006  1 byte Attack flags
     Hit_Count = br.ReadByte();
     //0x0007  1 byte Hit Count
     Element = (Element)br.ReadByte();
     //0x0008  1 byte Element
     Status_Attack = br.ReadByte();
     //0x0009  1 byte Status attack enabler
     Statuses0 = (Statuses0)br.ReadUInt16();
     Statuses1 = (Statuses1)br.ReadUInt32();
     //0x000A  6 bytes Statuses
 }
            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);
            }