private int CalcDamage(CombatMove move, int aStrength, int aWeap, int dVigor) { double rawDamage = (aStrength + aWeap) * move.DamageMod / (dVigor / 2.0); if (rawDamage < 0) { rawDamage = 1; } int damage = Convert.ToInt32(rawDamage); return(damage); }
private void PrintPlayerTurn(CombatMove move) { Console.SetCursorPosition(Program.SideBuffer.Length / 2, 17); Program.PrintCenterLine($"You {move.PActionText} {enemy.Name}."); Console.SetCursorPosition(Program.SideBuffer.Length / 2, 18); if (Program.rand.NextDouble() <= move.AccuracyMod) { int damage = CalcDamage(move, player.Strength, player.EquippedWeapon.CombatPower, enemy.Vigor); Program.PrintCenterLine($"{enemy.Name} takes {damage} points of damage."); enemy.Health -= damage; } else { Program.PrintCenterLine($"Your attack misses {enemy.Name}!"); } Console.ReadKey(true); }
private void PrintEnemyTurn(CombatMove move) { Console.SetCursorPosition(Program.SideBuffer.Length / 2, 17); Program.PrintCenterLine($"{enemy.Name} {move.EActionText} you."); Console.SetCursorPosition(Program.SideBuffer.Length / 2, 18); if (Program.rand.NextDouble() <= move.AccuracyMod) { int damage = CalcDamage(move, enemy.Strength, 0, player.Vigor); Program.PrintCenterLine($"You take {damage} points of damage."); player.Health -= damage; } else { Program.PrintCenterLine($"{enemy.Name}'s attack misses you!"); } Console.ReadKey(true); }