public double DammageCalculatorPerso(Personnage personnageE, 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, personnageE.Armure.TypeElement); dmg = ((Puissance + Arme.Puissance) - personnageE.Defense + personnageE.Armure.Defense) * mulDmgAtt; if (dmg <= 1) { dmg = rand.Next(2, 7); } dmg = dmg + (dmg * chance); return(dmg); case AttaqueCondition.Defense: var mulDmgDef = MethodeCombat.Dommage(personnageE.Arme.TypeElement, Armure.TypeElement); dmg = (personnageE.Puissance - (Defense + Armure.Defense)) * mulDmgDef; if (dmg <= 1) { dmg = rand.Next(2, 7); } dmg = dmg + (dmg * chance); return(dmg); default: throw new ArgumentOutOfRangeException(nameof(condition), condition, null); } }
//############################################ 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); }