/// <summary> /// Each ability will have a modifier. The modifier can be calculated using this formula: /// (ability/2) -5 [round result down] /// The modifier is the number you add to or subtract from the die roll when your character tries to do something related to that ability. /// A positive modifier is called a bonus, and a negative modifier is called a penalty. /// </summary> /// <param name="ability"></param> /// <returns></returns> public int GetAbilityModifier(AbilityEnum ability) { // TODO: take into account also temporary effects return(this._character.Effects.ApplyEffectsToAbilityBaseModifier(ability, GlobalOperators.Round((this._scoreArray[(int)ability] ?? 0) / 2m - 5m))); }
/// <summary> /// Each ability will have a modifier. The modifier can be calculated using this formula: /// (ability/2) -5 [round result down] /// The modifier is the number you add to or subtract from the die roll when your character tries to do something related to that ability. /// A positive modifier is called a bonus, and a negative modifier is called a penalty. /// </summary> /// <param name="ability"></param> /// <returns></returns> /// <remarks>CORE modifier does not take into account temporary modifiers, it's usefull for character advancement routines.</remarks> public int GetCoreAbilityModifier(AbilityEnum ability) { // even cybernetics only give effects, though "permanent") return(GlobalOperators.Round((this._scoreArray[(int)ability] ?? 0) / 2m - 5m)); }