public void Read(BinaryReader br, Blue_Magic i)
            {
                ID   = i;
                Name = Memory.Strings.Read(Strings.FileID.KERNEL, id, (byte)i * 2);
                //0x0000	2 bytes Offset to name
                Description = Memory.Strings.Read(Strings.FileID.KERNEL, id, (byte)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
                Unknown0 = br.ReadByte();
                //0x0006  1 byte Unknown
                Attack_Type = (Attack_Type)br.ReadByte();
                //0x0007  1 byte Attack Type
                Unknown1 = br.ReadBytes(2);
                //0x0008  2 bytes Unknown
                Attack_Flags = (Attack_Flags)br.ReadByte();
                //0x000A  1 byte Attack Flags
                Unknown2 = br.ReadByte();
                //0x000B  1 byte Unknown
                Element = (Element)br.ReadByte();
                //0x000C  1 byte Element
                Status_Attack = br.ReadByte();
                //0x000D  1 byte Status Attack
                Crit = br.ReadByte();
                //0x000E  1 byte Crit Bonus
                Unknown3 = br.ReadByte();
                //0x000F  1 byte Unknown
                long current = br.BaseStream.Position;

                br.BaseStream.Seek(Memory.Strings[Strings.FileID.KERNEL].GetFiles().subPositions[Quistis_limit_break_parameters.id] + Quistis_limit_break_parameters.size * (byte)i, SeekOrigin.Begin);
                _crisis_Levels = Quistis_limit_break_parameters.Read(br);
                br.BaseStream.Seek(current, SeekOrigin.Begin);
            }
            public static Dictionary <Blue_Magic, Blue_magic_Quistis_limit_break> Read(BinaryReader br)
            {
                var ret = new Dictionary <Blue_Magic, Blue_magic_Quistis_limit_break>(count);

                for (Blue_Magic i = 0; (byte)i < count; i++)
                {
                    var tmp = new Blue_magic_Quistis_limit_break(br, i);
                    ret.Add(i, tmp);
                }
                return(ret);
            }
 public Blue_magic_Quistis_limit_break(BinaryReader br, Blue_Magic i) => Read(br, i);