19 lines
1023 B
C#
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;
|
|
}
|
|
}
|
|
}
|