Exemplo n.º 1
0
 public void UtiliserPouvoir(Unite moi_, MoteurGraphique moteurgraphique_,
     SystemeDeJeu gameplay_, int i_, int j_, ref e_modeAction mood_, HUD hud_)
 {
     if (moi_.energieactuel >= coutEnergie)
     {
         hud_.powa(nom);
         //cible : gameplay_.armees[moteurgraphique_.map[i_, j_].pointeurArmee].bataillon[moteurgraphique_.map[i_, j_].pointeurUnite]
         mood_ = e_modeAction.Mouvement;
         moi_.attaqOrNot = false;
         moi_.energieactuel -= coutEnergie;
         if (moteurgraphique_.map[i_, j_].presence)
         {
             switch (type)
             {
                 case e_typeDePouvoir.Degat:
                     #region Degats
                     if (estPhysique)
                     {
                         gameplay_.listeDesJoueurs[moteurgraphique_.map[i_, j_].pointeurArmee].
                             bataillon[moteurgraphique_.map[i_, j_].pointeurUnite].pvactuel -= Math.Max(0, efficacite - gameplay_.listeDesJoueurs[moteurgraphique_.map[i_, j_].pointeurArmee].
                             bataillon[moteurgraphique_.map[i_, j_].pointeurUnite].armure);
                     }
                     else
                     {
                         gameplay_.listeDesJoueurs[moteurgraphique_.map[i_, j_].pointeurArmee].
                             bataillon[moteurgraphique_.map[i_, j_].pointeurUnite].pvactuel -= Math.Max(0, efficacite - gameplay_.listeDesJoueurs[moteurgraphique_.map[i_, j_].pointeurArmee].
                             bataillon[moteurgraphique_.map[i_, j_].pointeurUnite].resistance);
                     }
                     gameplay_.listeDesJoueurs[moteurgraphique_.map[i_, j_].pointeurArmee].
                             bataillon[moteurgraphique_.map[i_, j_].pointeurUnite].assassin = moi_.numeroArmee;
                     break;
                     #endregion
                 case e_typeDePouvoir.Soin:
                     #region Soin
                     gameplay_.listeDesJoueurs[moteurgraphique_.map[i_, j_].pointeurArmee].
                                         bataillon[moteurgraphique_.map[i_, j_].pointeurUnite].pvactuel += efficacite;
                     break;
                     #endregion
                 case e_typeDePouvoir.Boost:
                     #region Boost
                     switch (boost)
                     {
                         case e_typeDeBoost.BonusAttaque:
                             gameplay_.listeDesJoueurs[moteurgraphique_.map[i_, j_].pointeurArmee].
                         bataillon[moteurgraphique_.map[i_, j_].pointeurUnite].bonusAttaque += efficacite;
                             break;
                         case e_typeDeBoost.BonusArmure:
                             gameplay_.listeDesJoueurs[moteurgraphique_.map[i_, j_].pointeurArmee].
                         bataillon[moteurgraphique_.map[i_, j_].pointeurUnite].bonusArmure += efficacite;
                             break;
                         case e_typeDeBoost.BonusPuissance:
                             gameplay_.listeDesJoueurs[moteurgraphique_.map[i_, j_].pointeurArmee].
                         bataillon[moteurgraphique_.map[i_, j_].pointeurUnite].bonuspuissance += efficacite;
                             break;
                         case e_typeDeBoost.BonusResistance:
                             gameplay_.listeDesJoueurs[moteurgraphique_.map[i_, j_].pointeurArmee].
                         bataillon[moteurgraphique_.map[i_, j_].pointeurUnite].bonusresistance += efficacite;
                             break;
                         case e_typeDeBoost.BonusPrecision:
                             gameplay_.listeDesJoueurs[moteurgraphique_.map[i_, j_].pointeurArmee].
                         bataillon[moteurgraphique_.map[i_, j_].pointeurUnite].bonusprecision += efficacite;
                             break;
                         case e_typeDeBoost.BonusCoupCritique:
                             gameplay_.listeDesJoueurs[moteurgraphique_.map[i_, j_].pointeurArmee].
                         bataillon[moteurgraphique_.map[i_, j_].pointeurUnite].bonusCoupcritique += efficacite;
                             break;
                         case e_typeDeBoost.BonusEsquive:
                             gameplay_.listeDesJoueurs[moteurgraphique_.map[i_, j_].pointeurArmee].
                         bataillon[moteurgraphique_.map[i_, j_].pointeurUnite].bonusEsquive *= efficacite;
                             break;
                         case e_typeDeBoost.BonusInitiative:
                             gameplay_.listeDesJoueurs[moteurgraphique_.map[i_, j_].pointeurArmee].
                         bataillon[moteurgraphique_.map[i_, j_].pointeurUnite].bonusInitiative += efficacite;
                             break;
                         default:
                             break;
                     }
                     break;
                     #endregion
                 default:
                     break;
             }
         }
         if (nom == e_pouvoir.PandaNinja)
         {
             moi_.estInvisible = true;
         }
     }
 }