public static void mod_AddArmorClassModifiers([NotNull] ModifiableValueArmorClass acStat, bool flatfooted, bool touch, bool ignoreDexterityBonus = false) { foreach (ModifiableValue.Modifier displayModifier in acStat.GetDisplayModifiers()) { if (displayModifier.ModValue == 0 || flatfooted && !ModifiableValueArmorClass.AllowedForFlatFooted(displayModifier) || touch && !ModifiableValueArmorClass.AllowedForTouch(displayModifier) || ignoreDexterityBonus && displayModifier.ModDescriptor == ModifierDescriptor.DexterityBonus) { continue; } ModifierDescriptor descriptor = displayModifier.ModDescriptor == ModifierDescriptor.None ? ModifierDescriptor.Other : displayModifier.ModDescriptor; var bonusSource = (IUIDataProvider)(displayModifier.Source ?? (object)displayModifier.ItemSource); StatModifiersBreakdown.AddBonus(displayModifier.ModValue, bonusSource, descriptor); } }
public static void mod_AddStatModifiers([NotNull] ModifiableValue stat) { foreach (ModifiableValue.Modifier displayModifier in stat.GetDisplayModifiers()) { if (displayModifier.ModValue == 0) { continue; } ModifierDescriptor descriptor = displayModifier.ModDescriptor == ModifierDescriptor.None ? ModifierDescriptor.Other : displayModifier.ModDescriptor; var bonusSource = (IUIDataProvider)(displayModifier.Source ?? (object)displayModifier.ItemSource); StatModifiersBreakdown.AddBonus(displayModifier.ModValue, bonusSource, descriptor); } }