Files
GameJamDungeon/src/system/stats/DamageCalculator.cs

19 lines
1023 B
C#

using Godot;
namespace GameJamDungeon
{
public static class DamageCalculator
{
public static double CalculatePlayerDamage(int attackDamage, PlayerStatInfo playerStatInfo, EnemyStatInfo enemyStatInfo)
{
var baseDamage = attackDamage + playerStatInfo.BaseAttack;
var elementADamage = (playerStatInfo.BaseElementADamageBonus > 0 ? playerStatInfo.BaseElementADamageBonus - enemyStatInfo.ElementAResistance : 0) / 100;
var elementBDamage = (playerStatInfo.BaseElementBDamageBonus > 0 ? playerStatInfo.BaseElementBDamageBonus - enemyStatInfo.ElementBResistance : 0) / 100;
var elementCDamage = (playerStatInfo.BaseElementCDamageBonus > 0 ? playerStatInfo.BaseElementCDamageBonus - enemyStatInfo.ElementCResistance : 0) / 100;
var elementalBonusDamage = baseDamage + (baseDamage * elementADamage) + (baseDamage * elementBDamage) + (baseDamage * elementCDamage);
var calculatedDamage = elementalBonusDamage - enemyStatInfo.BaseDefense;
return calculatedDamage;
}
}
}