private BlueMagicQuistisLimitBreak(BinaryReader br, BlueMagic i) { BlueMagic = i; //0x0000 2 bytes Offset to name Name = Memory.Strings.Read(Strings.FileID.Kernel, ID, (byte)i * 2); //0x0002 2 bytes Offset to description Description = Memory.Strings.Read(Strings.FileID.Kernel, ID, (byte)i * 2 + 1); br.BaseStream.Seek(4, SeekOrigin.Current); //0x0004 2 bytes Magic ID MagicID = (MagicID)br.ReadUInt16(); //0x0006 1 byte Unknown Unknown0 = br.ReadByte(); //0x0007 1 byte Attack Type AttackType = (AttackType)br.ReadByte(); //0x0008 1 byte Unknown Unknown1 = br.ReadByte(); //0x0009 1 byte Target // noticed we were missing a target // this byte made sense when tested. Target = (Target)br.ReadByte(); //0x000A 1 byte Attack Flags AttackFlags = (AttackFlags)br.ReadByte(); //0x000B 1 byte Unknown Unknown2 = br.ReadByte(); //0x000C 1 byte Element Element = (Element)br.ReadByte(); //0x000D 1 byte Status Attack StatusAttack = br.ReadByte(); //0x000E 1 byte Critical Bonus Critical = br.ReadByte(); //0x000F 1 byte Unknown Unknown3 = br.ReadByte(); //Related Crisis Level Parameters CrisisLevels = GetCrisisLevels(br, (byte)i); }
private static BlueMagicQuistisLimitBreak CreateInstance(BinaryReader br, BlueMagic i) => new BlueMagicQuistisLimitBreak(br, i);