public void Riposte(Unite ennemi_, int porteeDeFrappe_, MoteurGraphique moteurgraphique_, SystemeDeJeu gameplay_, string txt_, int dgts_,//-- Color clr_, e_race e_race_, HUD hud_) { string txt1, txt2; int dgts1, dgts2; Color clr1, clr2; e_race e_race1, e_race2; if (pvactuel > 0) { #region frapper if (typedAttaque[porteeDeFrappe_]) { //type dattaque : physique si typedAttaque[porteedeFrappe]= vrai #region Physique if ((precision + bonusprecision) * portee[porteeDeFrappe_] / 10 - ennemi_.esquive >= (r.Next(1000) % 100)) { if (r.Next(1000) % 100 < (coupcritique + bonusCoupcritique)) { if (ennemi_.armure < (attaque + bonusAttaque) * 2) { ennemi_.pvactuel -= ((attaque + bonusAttaque) * 2 - ennemi_.armure); txt2 = "Coup Critique !!"; dgts2 = ((attaque + bonusAttaque) * 2 - ennemi_.armure); } else { txt2 = " Inefficace ! "; dgts2 = 0; } } else { if (ennemi_.armure < (attaque + bonusAttaque)) { ennemi_.pvactuel -= ((attaque + bonusAttaque) - ennemi_.armure); txt2 = " Attaque ! "; dgts2 = ((attaque + bonusAttaque) - ennemi_.armure); } else { txt2 = " Inefficace ! "; dgts2 = 0; } } } else { xp += 1; if (portee[porteeDeFrappe_] == 0) { txt2 = " Trop loin ! "; dgts2 = 0; } else { txt2 = " Rate ! "; dgts2 = 0; } } #endregion } else { #region Magique if ((precision + bonusprecision) * portee[porteeDeFrappe_] / 10 - ennemi_.esquive >= (r.Next(1000) % 100)) { if (r.Next(1000) % 100 < (coupcritique + bonusCoupcritique)) { if (ennemi_.resistance < (puissance + bonuspuissance) * 2) { ennemi_.pvactuel -= ((puissance + bonuspuissance) * 2 - ennemi_.resistance); txt2 = "Coup Critique !!"; dgts2 = ((puissance + bonuspuissance) * 2 - ennemi_.armure); } else { txt2 = " Inefficace ! "; dgts2 = 0; } } else { if (ennemi_.resistance < (puissance + bonuspuissance)) { ennemi_.pvactuel -= ((puissance + bonuspuissance) - ennemi_.resistance); txt2 = " Attaque ! "; dgts2 = ((puissance + bonuspuissance) - ennemi_.armure); } else { txt2 = " Inefficace ! "; dgts2 = 0; } } } else { xp += 1; if (portee[porteeDeFrappe_] == 0) { txt2 = " Trop loin ! "; dgts2 = 0; } else { txt2 = " Rate ! "; dgts2 = 0; } } #endregion } #endregion } else { txt2 = " Deja morte ! "; dgts2 = 0; } txt1 = txt_; dgts1 = dgts_; clr1 = clr_; e_race1 = e_race_; clr2 = gameplay_.listeDesJoueurs[numeroArmee].couleur; e_race2 = gameplay_.listeDesJoueurs[numeroArmee].espece; hud_.fight(ennemi_, this, txt1, dgts1, clr1, txt2, dgts2, clr2, e_race1, e_race2); gameplay_.CheckPV(moteurgraphique_, hud_); }