Item spawning
This commit is contained in:
@@ -4,7 +4,7 @@ namespace GameJamDungeon
|
||||
{
|
||||
public static class DamageCalculator
|
||||
{
|
||||
public static double CalculatePlayerDamage(int attackDamage, PlayerStatInfo playerStatInfo, EnemyStatInfo enemyStatInfo, Weapon weapon, bool isCriticalHit)
|
||||
public static double CalculatePlayerDamage(int attackDamage, PlayerStatInfo playerStatInfo, EnemyStatInfo enemyStatInfo, WeaponInfo weapon, bool isCriticalHit)
|
||||
{
|
||||
var baseDamage = attackDamage + playerStatInfo.BaseAttack;
|
||||
var hydricResistance = enemyStatInfo.HydricResistance;
|
||||
@@ -13,7 +13,7 @@ namespace GameJamDungeon
|
||||
var aeolicResistance = enemyStatInfo.AeolicResistance;
|
||||
var ferrumResistance = enemyStatInfo.FerrumResistance;
|
||||
|
||||
if (weapon.WeaponInfo.WeaponTags.Contains(WeaponTag.IgnoreAffinity))
|
||||
if (weapon.WeaponTags.Contains(WeaponTag.IgnoreAffinity))
|
||||
{
|
||||
hydricResistance = 0;
|
||||
igneousResistance = 0;
|
||||
@@ -22,11 +22,11 @@ namespace GameJamDungeon
|
||||
ferrumResistance = 0;
|
||||
}
|
||||
|
||||
var elementADamage = (weapon.WeaponInfo.BaseHydricDamageBonus > 0 ? weapon.WeaponInfo.BaseHydricDamageBonus - hydricResistance : 0) / 100;
|
||||
var elementBDamage = (weapon.WeaponInfo.IgneousDamageBonus > 0 ? weapon.WeaponInfo.IgneousDamageBonus - igneousResistance : 0) / 100;
|
||||
var elementCDamage = (weapon.WeaponInfo.TelluricDamageBonus > 0 ? weapon.WeaponInfo.TelluricDamageBonus - telluricResistance : 0) / 100;
|
||||
var elementDDamage = (weapon.WeaponInfo.AeolicDamageBonus > 0 ? weapon.WeaponInfo.AeolicDamageBonus - aeolicResistance : 0) / 100;
|
||||
var elementEDamage = (weapon.WeaponInfo.FerrumDamageBonus > 0 ? weapon.WeaponInfo.FerrumDamageBonus - ferrumResistance : 0) / 100;
|
||||
var elementADamage = (weapon.BaseHydricDamageBonus > 0 ? weapon.BaseHydricDamageBonus - hydricResistance : 0) / 100;
|
||||
var elementBDamage = (weapon.IgneousDamageBonus > 0 ? weapon.IgneousDamageBonus - igneousResistance : 0) / 100;
|
||||
var elementCDamage = (weapon.TelluricDamageBonus > 0 ? weapon.TelluricDamageBonus - telluricResistance : 0) / 100;
|
||||
var elementDDamage = (weapon.AeolicDamageBonus > 0 ? weapon.AeolicDamageBonus - aeolicResistance : 0) / 100;
|
||||
var elementEDamage = (weapon.FerrumDamageBonus > 0 ? weapon.FerrumDamageBonus - ferrumResistance : 0) / 100;
|
||||
var elementalBonusDamage = baseDamage + (baseDamage * elementADamage) + (baseDamage * elementBDamage) + (baseDamage * elementCDamage) + (baseDamage * elementDDamage) + (baseDamage * elementEDamage);
|
||||
var calculatedDamage = elementalBonusDamage - enemyStatInfo.BaseDefense;
|
||||
|
||||
@@ -36,16 +36,16 @@ namespace GameJamDungeon
|
||||
return calculatedDamage;
|
||||
}
|
||||
|
||||
public static double CalculateEnemyDamage(int attackDamage, PlayerStatInfo playerStatInfo, EnemyStatInfo enemyStatInfo, Armor armor, bool isCriticalHit)
|
||||
public static double CalculateEnemyDamage(int attackDamage, PlayerStatInfo playerStatInfo, EnemyStatInfo enemyStatInfo, ArmorInfo armor, bool isCriticalHit)
|
||||
{
|
||||
var baseDamage = attackDamage + enemyStatInfo.BaseAttack;
|
||||
var elementADamage = (enemyStatInfo.BaseHydricDamageBonus > 0 ? enemyStatInfo.BaseHydricDamageBonus - armor.ArmorInfo.HydricResistance : 0) / 100;
|
||||
var elementBDamage = (enemyStatInfo.IgneousDamageBonus > 0 ? enemyStatInfo.IgneousDamageBonus - armor.ArmorInfo.IgneousResistance : 0) / 100;
|
||||
var elementCDamage = (enemyStatInfo.TelluricDamageBonus > 0 ? enemyStatInfo.TelluricDamageBonus - armor.ArmorInfo.TelluricResistance : 0) / 100;
|
||||
var elementDDamage = (enemyStatInfo.AeolicDamageBonus > 0 ? enemyStatInfo.AeolicDamageBonus - armor.ArmorInfo.AeolicResistance : 0) / 100;
|
||||
var elementEDamage = (enemyStatInfo.FerrumDamageBonus > 0 ? enemyStatInfo.FerrumDamageBonus - armor.ArmorInfo.FerrumResistance : 0) / 100;
|
||||
var elementalBonusDamage = baseDamage + (baseDamage * elementADamage) + (baseDamage * elementBDamage) + (baseDamage * elementCDamage) + (baseDamage * elementDDamage) + (baseDamage * elementDDamage);
|
||||
var calculatedDamage = elementalBonusDamage - playerStatInfo.BaseDefense - (armor != null ? armor.ArmorInfo.Defense : 0);
|
||||
var elementADamage = (enemyStatInfo.BaseHydricDamageBonus > 0 ? enemyStatInfo.BaseHydricDamageBonus - armor.HydricResistance : 0) / 100;
|
||||
var elementBDamage = (enemyStatInfo.IgneousDamageBonus > 0 ? enemyStatInfo.IgneousDamageBonus - armor.IgneousResistance : 0) / 100;
|
||||
var elementCDamage = (enemyStatInfo.TelluricDamageBonus > 0 ? enemyStatInfo.TelluricDamageBonus - armor.TelluricResistance : 0) / 100;
|
||||
var elementDDamage = (enemyStatInfo.AeolicDamageBonus > 0 ? enemyStatInfo.AeolicDamageBonus - armor.AeolicResistance : 0) / 100;
|
||||
var elementEDamage = (enemyStatInfo.FerrumDamageBonus > 0 ? enemyStatInfo.FerrumDamageBonus - armor.FerrumResistance : 0) / 100;
|
||||
var elementalBonusDamage = baseDamage + (baseDamage * elementADamage) + (baseDamage * elementBDamage) + (baseDamage * elementCDamage) + (baseDamage * elementDDamage) + (baseDamage * elementEDamage);
|
||||
var calculatedDamage = elementalBonusDamage - playerStatInfo.BaseDefense - (armor != null ? armor.Defense : 0);
|
||||
|
||||
if (isCriticalHit)
|
||||
calculatedDamage *= 2;
|
||||
|
||||
Reference in New Issue
Block a user