/// <summary> /// Add modifiers. /// </summary> /// <param name="stage"> /// The stage during character update this is called. /// </param> /// <param name="addModifier"> /// Add modifiers by calling this method. /// </param> /// <param name="character"> /// The character to add modifiers for. /// </param> protected override void AddModifiers(CharacterUpdateStage stage, Action<Modifier> addModifier, Character character) { base.AddModifiers(stage, addModifier, character); addModifier(new Modifier(this, character[ScoreType.Stealth], 4)); addModifier(new Modifier(this, character[ScoreType.Reflex], 2)); if (!character.IsWearingHeavyArmor()) { addModifier(new Modifier(this, character[ScoreType.Speed], 1)); } }
/// <summary> /// Add modifiers. /// </summary> /// <param name="stage"> /// The stage during character update this is called. /// </param> /// <param name="addModifier"> /// Add modifiers by calling this method. /// </param> /// <param name="character"> /// The character to add modifiers for. /// </param> protected override void AddModifiers(CharacterUpdateStage stage, Action<Modifier> addModifier, Character character) { base.AddModifiers(stage, addModifier, character); addModifier(new Modifier(this, character[ScoreType.Athletics], 4)); addModifier(new Modifier(this, character[ScoreType.Fortitude], 2)); if (character.IsWearingHeavyArmor()) { addModifier(new Modifier(this, character[ScoreType.Speed], 1)); } }
/// <summary> /// Add modifiers based on this score's current value(s). /// </summary> /// <param name="stage"> /// The stage during character update this is called. /// </param> /// <param name="addModifier"> /// Add modifiers by calling this method. /// </param> /// <param name="character"> /// The character to add modifiers for. /// </param> protected override void AddModifiers(CharacterUpdateStage stage, Action<Modifier> addModifier, Character character) { // Add to Armor Class if (!character.IsWearingHeavyArmor()) { base.AddModifiers(stage, addModifier, character); } else { // Add half the character's level. addModifier(new Modifier(character[ScoreType.Level], this, character[ScoreType.Level].Total)); } }