/// <summary> /// Create a new <see cref="DiceDamageEffect"/>. /// </summary> /// <param name="target"> /// The <see cref="Target"/> this effect component acts on. This /// cannot be null. /// </param> /// <param name="characterScoreValue"> /// A score that, when calculated, gives the number of hit points gained. /// </param> /// <exception cref="ArgumentNullException"> /// No argument can be null. /// </exception> public HealHitPointsEffect(Target target, ICharacterScoreValue characterScoreValue) : base(target) { if (characterScoreValue == null) { throw new ArgumentNullException("characterScoreValue"); } this.TemporaryHitPoints = characterScoreValue; }
/// <summary> /// Create a new <see cref="Times"/>. /// </summary> /// <param name="inner"> /// The score multiplied by <paramref name="multiplicand"/>. This /// cannot be null. /// </param> /// <param name="multiplicand"> /// The value the score is multiplied by. /// </param> /// <exception cref="ArgumentNullException"> /// <paramref name="inner"/> cannot be null. /// </exception> public Times(ICharacterScoreValue inner, int multiplicand) { if (inner == null) { throw new ArgumentNullException("inner"); } this.Inner = inner; this.Multiplicand = multiplicand; }
/// <summary> /// Create a new <see cref="PushEffect"/>. /// </summary> /// <param name="target"> /// The <see cref="Target"/> this effect component acts on. This /// cannot be null. /// </param> /// <param name="squares"> /// An <see cref="ICharacterScoreValue"/> representing the number of squares pushed. /// </param> /// <exception cref="ArgumentNullException"> /// No argument can be null. /// </exception> public PushEffect(Target target, ICharacterScoreValue squares) : base(target) { if (squares == null) { throw new ArgumentNullException("squares"); } this.Squares = squares; }
/// <summary> /// Create a new <see cref="FlyEffect"/>. /// </summary> /// <param name="target"> /// The <see cref="Target"/> that can fly. /// </param> /// <param name="squares"> /// How far they can fly. /// </param> /// <param name="actionType"> /// The action used to fly, usually ActionType.Free. /// </param> /// <exception cref="ArgumentNullException"> /// No argument can be null. /// </exception> public FlyEffect(Target target, ICharacterScoreValue squares, ActionType actionType) : base(target) { if (squares == null) { throw new ArgumentNullException("squares"); } this.Squares = squares; this.ActionType = actionType; }
/// <summary> /// Create a new <see cref="DiceDamageEffect"/>. /// </summary> /// <param name="target"> /// The <see cref="Target"/> this effect component acts on. This /// cannot be null. /// </param> /// <param name="score"> /// The <see cref="CharacterScore"/> that gains the bonus. This /// cannot be null. /// </param> /// <param name="modifier"> /// A score that, when calculated, gives the bonus or penalty. /// </param> /// <param name="until"> /// When the bonus ends. /// </param> /// <exception cref="ArgumentNullException"> /// No argument can be null. /// </exception> public GainModifierEffect(Target target, CharacterScore score, ICharacterScoreValue modifier, Until until) : base(target) { if (score == null) { throw new ArgumentNullException("score"); } if (modifier == null) { throw new ArgumentNullException("modifier"); } this.Scores = new List<CharacterScore>(new [] { score }); this.Modifier = modifier; this.Until = until; }
/// <summary> /// Create a new <see cref="DiceDamageEffect"/>. /// </summary> /// <param name="target"> /// The <see cref="Target"/> this effect component acts on. This /// cannot be null. /// </param> /// <param name="scores"> /// The <see cref="CharacterScore"/>s that gain the bonus. This /// cannot be null or contain null. /// </param> /// <param name="modifier"> /// A score that, when calculated, gives the bonus or penalty. /// </param> /// <param name="until"> /// When the bonus ends. /// </param> /// <exception cref="ArgumentNullException"> /// No argument can be null. /// </exception> public GainModifierEffect(Target target, IEnumerable<CharacterScore> scores, ICharacterScoreValue modifier, Until until) : base(target) { if (scores == null) { throw new ArgumentNullException("scores"); } if (scores.Any(x => x == null)) { throw new ArgumentNullException("scores"); } if (modifier == null) { throw new ArgumentNullException("modifier"); } this.Scores = new List<CharacterScore>(scores); this.Modifier = modifier; this.Until = until; }