/// <summary> /// Calcul des points de damage si l'attaque utilise des facultés "Spéciales". /// </summary> /// <param name="attaquant">Le Pokémon qui attaque</param> /// <param name="opposant">Le Pokémon qui se fait attaquer</param> /// <param name="attaqueChoisie">L'attaque qui a été choisie</param> /// <returns>Les points de damage</returns> int CalculPointsDamageSpécial(Pokemon attaquant, Pokemon opposant, Attaque attaqueChoisie) { float damage; float multiplicateurType = attaqueChoisie.GetTypeMultiplier(opposant.Type1, opposant.Type2); AfficherMessageMultiplicateur(multiplicateurType); damage = ((2 * attaquant.Level / 5 + 2) * attaqueChoisie.Power * (attaquant.SpecialAttack / (float)opposant.SpecialDefense) / 50) * multiplicateurType; return(CalculerDamageMinimal(damage)); }
/// <summary> /// Calcul des points de damage si l'attaque utilise des facultés "Physiques". /// </summary> /// <param name="attaquant">Le Pokémon qui attaque</param> /// <param name="opposant">Le Pokémon qui se fait attaquer</param> /// <param name="attaqueChoisie">L'attaque qui a été choisie</param> /// <returns>Les points de damage</returns> int CalculPointsDamagePhysique(Pokemon attaquant, Pokemon opposant, Attaque attaqueChoisie)// s'il y a un base power { float damage; float multiplicateurType = attaqueChoisie.GetTypeMultiplier(opposant.Type1, opposant.Type2); AfficherMessageMultiplicateur(multiplicateurType); damage = ((2 * attaquant.Level / 5f + 2) * attaqueChoisie.Power * (attaquant.Attack / (float)opposant.Defense) / 50f) * multiplicateurType; return(CalculerDamageMinimal(damage)); }