Health/Damage multipliers in settings by difficulty.

This commit is contained in:
Lucca Faria Ferri 2023-07-05 13:43:31 -07:00
parent ac1d560f99
commit 24e208c560
2 changed files with 4 additions and 10 deletions

View File

@ -1287,8 +1287,8 @@ namespace DiIiS_NA.GameServer.GSSystem.GameSystem
} }
else else
{ {
HpModifier = GameModsConfig.Instance.Rate.HealthByDifficulty[Difficulty] * GameModsConfig.Instance.Monster.HealthMultiplier; HpModifier = GameModsConfig.Instance.Rate.HealthByDifficulty[diff] * GameModsConfig.Instance.Monster.HealthMultiplier;
DmgModifier = GameModsConfig.Instance.Rate.GetDamageByDifficulty(Difficulty) * GameModsConfig.Instance.Monster.DamageMultiplier; DmgModifier = GameModsConfig.Instance.Rate.GetDamageByDifficulty(diff) * GameModsConfig.Instance.Monster.DamageMultiplier;
XpModifier = 1f + GameModsConfig.Instance.Rate.Experience; XpModifier = 1f + GameModsConfig.Instance.Rate.Experience;
GoldModifier = (1f * GameModsConfig.Instance.Rate.Gold); GoldModifier = (1f * GameModsConfig.Instance.Rate.Gold);
} }

View File

@ -14,15 +14,9 @@ public class RateConfig
{ {
public float GetDamageByDifficulty(int diff) public float GetDamageByDifficulty(int diff)
{ {
if (diff < 0) diff = 0;
if (diff > 19) diff = 19; if (diff > 19) diff = 19;
if (!DamageByDifficulty.ContainsKey(diff) || Math.Abs(DamageByDifficulty[diff] - (-1)) < 0.001) return !DamageByDifficulty.ContainsKey(diff) ? 1f : DamageByDifficulty[diff];
{
if (diff == 0)
return 1;
return GetDamageByDifficulty(diff - 1);
}
return DamageByDifficulty[diff];
} }
public Dictionary<int, float> HealthByDifficulty { get; set; } = new() public Dictionary<int, float> HealthByDifficulty { get; set; } = new()
{ {