protected override void ReadXml(System.Xml.XmlReader reader) { reader.ReadStartElement(); Range = (byte)reader.ReadElementContentAsInt(); Effect = (byte)reader.ReadElementContentAsInt(); Vertical = (byte)reader.ReadElementContentAsInt(); InflictStatus = (byte)reader.ReadElementContentAsInt(); CT = (byte)reader.ReadElementContentAsInt(); MPCost = (byte)reader.ReadElementContentAsInt(); Elements = new Elements(); ((IXmlSerializable)Elements).ReadXml(reader); reader.MoveToAttribute("value"); byte formulaValue = (byte)reader.ReadContentAsInt(); Formula = FFTPatch.Context == PatcherLib.Datatypes.Context.US_PSP ? AbilityFormula.PSPAbilityFormulaHash[formulaValue] : AbilityFormula.PSXAbilityFormulaHash[formulaValue]; reader.MoveToElement(); reader.ReadStartElement(); reader.ReadEndElement(); Blank6 = reader.ReadElementContentAsBoolean(); Blank7 = reader.ReadElementContentAsBoolean(); WeaponRange = reader.ReadElementContentAsBoolean(); VerticalFixed = reader.ReadElementContentAsBoolean(); VerticalTolerance = reader.ReadElementContentAsBoolean(); WeaponStrike = reader.ReadElementContentAsBoolean(); Auto = reader.ReadElementContentAsBoolean(); TargetSelf = reader.ReadElementContentAsBoolean(); HitEnemies = reader.ReadElementContentAsBoolean(); HitAllies = reader.ReadElementContentAsBoolean(); Blank8 = reader.ReadElementContentAsBoolean(); FollowTarget = reader.ReadElementContentAsBoolean(); RandomFire = reader.ReadElementContentAsBoolean(); LinearAttack = reader.ReadElementContentAsBoolean(); ThreeDirections = reader.ReadElementContentAsBoolean(); HitCaster = reader.ReadElementContentAsBoolean(); Reflect = reader.ReadElementContentAsBoolean(); Arithmetick = reader.ReadElementContentAsBoolean(); Silence = reader.ReadElementContentAsBoolean(); Mimic = reader.ReadElementContentAsBoolean(); NormalAttack = reader.ReadElementContentAsBoolean(); Perservere = reader.ReadElementContentAsBoolean(); ShowQuote = reader.ReadElementContentAsBoolean(); AnimateMiss = reader.ReadElementContentAsBoolean(); CounterFlood = reader.ReadElementContentAsBoolean(); CounterMagic = reader.ReadElementContentAsBoolean(); Direct = reader.ReadElementContentAsBoolean(); Shirahadori = reader.ReadElementContentAsBoolean(); RequiresSword = reader.ReadElementContentAsBoolean(); RequiresMateriaBlade = reader.ReadElementContentAsBoolean(); Evadeable = reader.ReadElementContentAsBoolean(); Targeting = reader.ReadElementContentAsBoolean(); reader.ReadEndElement(); }