private bool CharacterEffect_Apply(On.Sunshine.Metric.CharacterEffect.orig_Apply orig, CharacterEffect self, CharacterSheet ch, ModifierType type, IModifierCause modifierCause) { var modifier = self.GetModifier(type, modifierCause); if (self.effect == EffectType.STAT_BONUS) { for (int i = 0; i < ch.skills.Length; i++) { if (ch.skills[i].abilityType == self.abilityType) { ch.skills[i].Add(modifier); } } } return(orig(self, ch, type, modifierCause)); }
private void CharacterEffect_Remove(On.Sunshine.Metric.CharacterEffect.orig_Remove orig, CharacterEffect self, CharacterSheet ch, ModifierType type, IModifierCause modifierCause) { var modifier = self.GetModifier(type, modifierCause); if (self.effect == EffectType.STAT_BONUS) { for (int i = 0; i < ch.skills.Length; i++) { if (ch.skills[i].abilityType == self.abilityType) { ch.skills[i].Remove(modifier); } } } orig(self, ch, type, modifierCause); }