public Models.ViewModels.Damage calcDamage(GameData.Models.Character character, GameData.Models.Enemy enemy) { //dammage calcs Models.ViewModels.Damage damage = new Models.ViewModels.Damage(); character.Health = character.Health - enemy.Atk; enemy.Health = enemy.Health - character.str; damage.character = character; damage.enemy = enemy; return(damage); }
public async Task <IActionResult> damage(int?id) { //return the view with the new damage GameData.Models.Battle battle = _context.battles.SingleOrDefault(m => m.Id == id); Logic.DamageCalc calcdam = new Logic.DamageCalc(); GameData.Models.Character character = _context.Characters.FirstOrDefault(m => m.Id == battle.characterID); Models.ViewModels.Damage damage = calcdam.calcDamage(_context.Characters.FirstOrDefault(m => m.Id == battle.characterID), _context.Enemies.FirstOrDefault(m => m.Id == battle.enemyId)); battle.enemyHealth = damage.enemy.Health; if (calcdam.checkIfCharDead(damage.character)) { //character is dead deadCharacter(); } else if (calcdam.checkIfEnemyDead(battle)) { //enemy is dead deadEnemy(); } else { //battle goes on as nobody is dead _context.Update(battle); await _context.SaveChangesAsync(); character.Health = damage.character.Health; _context.Update(character); await _context.SaveChangesAsync(); return(RedirectToAction("battle", "Battle")); } return(RedirectToAction("battle", "Battle")); //return View("~/Views/Characters/Battle.cshtml", battle); }