//############################################ DAMAGE CALCULATORS ##########################################################// //############################################ DAMAGE CALCULATORS ##########################################################// //############################################ DAMAGE CALCULATORS ##########################################################// public double DammageCalculatorEnnemi(Ennemi ennemi, AttaqueCondition condition) { var rand = new Random(); double dmg; var chance = ((double)rand.Next(-30, 31) / 100); switch (condition) { case AttaqueCondition.Attaque: var mulDmgAtt = MethodeCombat.Dommage(Arme.TypeElement, ennemi.TypeElement); dmg = ((Puissance + Arme.Puissance) - ennemi.Defense) * mulDmgAtt; if (dmg <= 1) { dmg = rand.Next(2, 7); } dmg = dmg + (dmg * chance); return(dmg); case AttaqueCondition.Defense: var mulDmgDef = MethodeCombat.Dommage(ennemi.TypeElement, Arme.TypeElement); dmg = (ennemi.Puissance - (Defense + Armure.Defense)) * mulDmgDef; if (dmg <= 1) { dmg = rand.Next(2, 7); } dmg = dmg + (dmg * chance); return(dmg); } return(0); }
public void AddXpEnnemi(Ennemi ennemi) { ExperienceTotale += ennemi.ValeurExp; Experience += ennemi.ValeurExp; Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine($"{Nom} Gagne {ennemi.ValeurExp} Experience !"); Console.ForegroundColor = ConsoleColor.Gray; }
public void RecevoirFrappeDeEnnemi(Ennemi baddie) { Console.WriteLine($"\n{baddie.Name} frappe {Nom} le {Race}"); //Calc double dmg = DammageCalculatorEnnemi(baddie, AttaqueCondition.Defense); //Calc Console.WriteLine($"{Nom} prends {dmg} de dommage dans la geule!\n"); PvActuels -= (int)dmg; }
//############################################ FRAPPE PHYSIQUE ##########################################################// //############################################ FRAPPE PHYSIQUE ##########################################################// //############################################ FRAPPE PHYSIQUE ##########################################################// public void FrapperEnnemi(ref Ennemi baddie) { Console.WriteLine($"\n{Nom} frappe avec {Arme.NomObjet} {baddie.Name} le {baddie.TypeEnnemi}"); //Calc double dmg = DammageCalculatorEnnemi(baddie, AttaqueCondition.Attaque); //Calc Console.WriteLine($"{baddie.Name} prends {(int) dmg} de dommage dans la geule!\n"); baddie.Pv -= (int)dmg; }
public double DammageCalculatorMagicEnnemi(Ennemi baddie, Sort sort) { var rand = new Random(); var chance = (double)rand.Next(-30, 31) / 100; var mulDmgAtt = MethodeCombat.Dommage(sort.TypeElement, baddie.TypeElement); var dmg = ((PuissanceMagique * sort.Puissance) - (baddie.Defense)) * mulDmgAtt; if (dmg <= 1) { dmg = rand.Next(2, 7); } dmg = dmg + (dmg * chance); return(dmg); }
public bool UtiliserItemVsEnnemi(ref Ennemi baddie) { if (Inventaire.Count != 0) { var rand = new Random(); var newList = new List <ObjConsumable>(); foreach (var i in Inventaire.ToList()) { if (i.ObjetCons != null) { newList.Add(i.ObjetCons); Inventaire.Remove(i); } } if (newList.Count != 0) { var item = newList[rand.Next(0, newList.Count)]; newList.Remove(item); if (newList.Count != 0) { foreach (var objConsumable in newList) { Inventaire.Add(new ObjInventaire(objConsumable)); } } var sort = item.ItemToSpell(); LancerSortVsEnnemi(ref baddie, sort); return(true); } } return(false); }
public bool LancerSortVsEnnemi(ref Ennemi baddie, Sort itemSort) { Sort sort; if (itemSort == null) { sort = ChoixSort(); } else { sort = itemSort; } if (sort != null) { if (MpActuel >= sort.CoutMp) { if (sort.TypeElement != TypeElement.Lumiere) { MpActuel -= sort.CoutMp; if (sort.CoutMp == 0) { Console.WriteLine($"\n{Nom} utilise {sort.NomSort} sur {baddie.Name} le {baddie.TypeEnnemi}"); } else { Console.WriteLine($"\n{Nom} lance le sort {sort.NomSort} a {baddie.Name} le {baddie.TypeEnnemi}"); } double dmg = DammageCalculatorMagicEnnemi(baddie, sort); Console.WriteLine($"{baddie.Name} prends {dmg} de dommage dans la geule!\n"); baddie.Pv -= (int)dmg; return(true); } else // ElementType.Lumiere { Console.ForegroundColor = ConsoleColor.Yellow; MpActuel -= sort.CoutMp; if (sort.CoutMp == 0) { Console.WriteLine($"\n{Nom} utilise {sort.NomSort} !"); } else { Console.WriteLine($"\n{Nom} lance le sort {sort.NomSort} !"); } int heal = (int)PuissanceMagique * sort.Puissance; PvActuels += heal; if (PvActuels > PvMax) { PvActuels = PvMax; } Console.WriteLine($"{Nom} se soigne de {heal} Points de vie !\n\n"); Console.ForegroundColor = ConsoleColor.Gray; return(true); } } else { Console.WriteLine( $"\n{Nom} pas lancer le sort {sort.NomSort} il coute {sort.CoutMp} MP et il n'a que {MpActuel} MP\n"); return(false); } } return(false); }