private void GetPlayerMiscAbnormalities(Int64 AbnormalityBaseAddress) { // Gets the player abnormalities caused by consumables and blights // Blights foreach (XmlNode Blight in AbnormalityData.GetBlightAbnormalities()) { int BuffOffset = int.Parse(Blight.Attributes["Offset"].Value, System.Globalization.NumberStyles.HexNumber); bool IsDebuff = bool.Parse(Blight.Attributes["IsDebuff"].Value); int ID = int.Parse(Blight.Attributes["ID"].Value); GetAbnormality("DEBUFF", AbnormalityBaseAddress + BuffOffset, ID, $"DE_{ID}", IsDebuff); } foreach (XmlNode MiscBuff in AbnormalityData.GetMiscAbnormalities()) { int BuffOffset = int.Parse(MiscBuff.Attributes["Offset"].Value, System.Globalization.NumberStyles.HexNumber); bool IsDebuff = bool.Parse(MiscBuff.Attributes["IsDebuff"].Value); int ID = int.Parse(MiscBuff.Attributes["ID"].Value); bool HasConditions = bool.Parse(MiscBuff.Attributes["HasConditions"].Value); bool IsInfinite = false; int ConditionOffset = 0; if (HasConditions) { IsInfinite = bool.Parse(MiscBuff.Attributes["IsInfinite"].Value); ConditionOffset = int.Parse(MiscBuff.Attributes["ConditionOffset"].Value); } GetAbnormality("MISC", AbnormalityBaseAddress + BuffOffset, ID, $"MISC_{ID}", IsDebuff, HasConditions, ConditionOffset, IsInfinite); } }