Add project files.
This commit is contained in:
16
RPGLibrary.Implementation/StrengthBasedDamageCalculator.cs
Normal file
16
RPGLibrary.Implementation/StrengthBasedDamageCalculator.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using RPGLibrary.Abstraction.Character;
|
||||
using RPGLibrary.Abstraction.Services;
|
||||
|
||||
namespace RPGLibrary.Implementation
|
||||
{
|
||||
public class StrengthBasedDamageCalculator : IDamageCalculator<StrengthAttackData>
|
||||
{
|
||||
public double Calculate(ICharacter target, StrengthAttackData attackData)
|
||||
=> CalculateInternal((dynamic)target, attackData);
|
||||
|
||||
private double CalculateInternal(Character target, StrengthAttackData attackData)
|
||||
=> Math.Clamp(attackData.Strength.Value - target.Defense.Value, RPGConstants.MinDamage, RPGConstants.MaxDamage);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user