private void apply_damage(ApplyHitAttackResultCommand command) { ApplyDamageResultListCommand _command = new ApplyDamageResultListCommand(command.HitAttackResult.Target, command.HitAttackResult.DamageList); _mediator.Value.Execute(_command); _command.AddToInnerCommands(_command); }
public void Basic() { ApplyDamageResultListCommand command = new ApplyDamageResultListCommand(_character, _damage); _mediator.Execute(command); Assert.AreEqual(25, _character.Hp); _mediator.Undo(command); Assert.AreEqual(50, _character.Hp); }
public void Resistance() { _damage.Elements[0].AffinityModifier = DamageAffinityEnum.Resistant; ApplyDamageResultListCommand command = new ApplyDamageResultListCommand(_character, _damage); _mediator.Execute(command); Assert.AreEqual(30, _character.Hp); _mediator.Undo(command); Assert.AreEqual(50, _character.Hp); }
public void NegativeDamage() { _damage.Elements[0].Damage.LastRoll = -20; ApplyDamageResultListCommand command = new ApplyDamageResultListCommand(_character, _damage, true); _mediator.Execute(command); Assert.AreEqual(35, _character.Hp); _mediator.Undo(command); Assert.AreEqual(50, _character.Hp); }
public void Cancel_WithSaving() { _damage.Elements[0].SituationalDamageModifier = DamageModifierEnum.Canceled; ApplyDamageResultListCommand command = new ApplyDamageResultListCommand(_character, _damage, true); _mediator.Execute(command); Assert.AreEqual(35, _character.Hp); _mediator.Undo(command); Assert.AreEqual(50, _character.Hp); }
public void ReturnValue() { _damage.Elements[0].AffinityModifier = DamageAffinityEnum.Resistant; ApplyDamageResultListCommand command = new ApplyDamageResultListCommand(_character, _damage); ApplyDamageResultListResponse response = _mediator.Execute(command) as ApplyDamageResultListResponse; Assert.AreEqual(30, _character.Hp); Assert.AreEqual(20, response.Amount); _mediator.Undo(command); Assert.AreEqual(50, _character.Hp); }