public override void Choice(Player player, Ennemy mob, Room inRoom) { Console.Clear(); player.Attack(mob); if (mob.CurrentHealth > 0) { Console.WriteLine("\n" + mob.Name + " strikes back !"); Console.ReadKey(); mob.Attack(player); Console.Clear(); } }
public override void Choice(Player player, Ennemy mob, Room inRoom) { Skill pickedSkill = Menu.PickElementFromList(GameData.SkillList, "\nWhich skill do you want to cast ?"); if (player.CurrentPT >= pickedSkill.Cost) { pickedSkill.Effect(player, mob); mob.Attack(player); } else { Console.WriteLine(player.Name + " don't have enough PT !"); Console.ReadKey(); } }
public override void Choice(Player player, Ennemy mob, Room inRoom) { int random = RandomGenerators.Instance.RandomNumber(0, 2); //return a number between 0 and 1 if (random == 0) { Console.WriteLine(player.Name + " flee the fight !"); Console.ReadKey(); player.InFight = false; } else { Console.WriteLine("You're attempt to flee has failed !"); Console.ReadKey(); mob.Attack(player); } }
public override void Effect(Player player, Ennemy target) //reduce the ennemy's health by a half { base.Effect(player, target); Console.WriteLine(player.Name + " cast a terrible curse on his ennemy !"); Console.ReadKey(); if ((target.CurrentHealth / 2) > 0 && (target.MaxHealth / 2) > 0) { Console.WriteLine(target.Name + " is now cursed ! His life is reduced by a falf !!"); Console.ReadKey(); target.CurrentHealth /= 2; target.MaxHealth /= 2; } else { Console.WriteLine("It seems that " + target.Name + " is too much cursed..."); Console.ReadKey(); } }
public override void Effect(Player player, Ennemy target) { base.Effect(player, target); Console.WriteLine(player.Name + " shoot a incredibly powerful ice beam on his target !"); Console.ReadKey(); if (target.Inventory.CurrentArmor.Value > 0) { Console.WriteLine("\nIt instantly destroy his armor !"); Console.ReadKey(); Armor destroyedArmor = target.Inventory.CurrentArmor; destroyedArmor.Value = 0; target.Inventory.currentEquipment.Remove(destroyedArmor); } else { Console.WriteLine("\nHe doesn't have a armor, that spell is uneffective on him !"); Console.ReadKey(); } }
public override void Execute(Player player, Room inRoom) { if (inRoom.ennemiesInRoom.Count == 0) { Console.WriteLine("There is no ennemies in this room !"); Console.ReadKey(); Console.Clear(); } else { Ennemy pickedEnnemy = Menu.PickElementFromList <Ennemy>(inRoom.ennemiesInRoom, " Which ennemy do you want to fight ? "); Console.WriteLine("You choosed to fight " + pickedEnnemy.Name); player.InFight = true; Console.ReadKey(); while (pickedEnnemy.CurrentHealth > 0 && player.CurrentHealth > 0 && player.InFight) { Console.Clear(); Console.WriteLine("=============> IN FIGHT <============\n"); player.ShowCharacter(); player.ShowInventory(); pickedEnnemy.ShowCharacter(); pickedEnnemy.ShowInventory(); FightChoice pickedChoice = Menu.PickElementFromList <FightChoice>(GameData.FightChoicesList, "\nWhat do you do ?"); pickedChoice.Choice(player, pickedEnnemy, inRoom); } if (pickedEnnemy.CurrentHealth <= 0) //the mob is now dead { player.GainXp(pickedEnnemy.XpValue); //the player win mob's xp player.Inventory.GainGold(pickedEnnemy.GoldValue); //the player win mob's gold Console.WriteLine(pickedEnnemy.Name + " has dropped his inventory on the floor of the room !"); pickedEnnemy.Inventory.ShowItems(); inRoom.itemsInRoom.AddRange(pickedEnnemy.Inventory.items); //his inventory is added to the room's stuff inRoom.ennemiesInRoom.Remove(pickedEnnemy); //the ennemy is destroyed and removed from the room Console.ReadKey(); } } }
public virtual void Choice(Player player, Ennemy mob, Room inRoom) { }