Ejemplo n.º 1
0
 public NewValeurStat(ValeurSousRaceStat valeurSousRace)
 {
     this.StatId  = valeurSousRace.Stat.Id;
     this.Id      = valeurSousRace.SousRaceId;
     this.NomStat = valeurSousRace.Stat.Nom;
     this.Valeur  = valeurSousRace.Valeur;
 }
Ejemplo n.º 2
0
        /// <summary>
        /// retourne la valeur d'une stat pour le personnage
        /// </summary>
        /// <param name="stat"></param>
        /// <returns></returns>
        private int GetValueStat(Stat stat)
        {
            int retour = 0;


            ValeurRaceStat     valeurStatRace     = Race.Stat.FirstOrDefault(s => s.Stat == stat);
            ValeurSousRaceStat valeurStatSousRace = SousRace.Stat.FirstOrDefault(s => s.Stat == stat);
            ValeurClasseStat   valeurStatClasse   = Classe.Stat.FirstOrDefault(s => s.Stat == stat);
            ValeurPersoStat    valeurStatPerso    = Stats.FirstOrDefault(s => s.Stat == stat);
            ValeurBuffStat     valeurStatBuf      = Buff.FirstOrDefault(s => s.Stat == stat);


            int statRace     = 0;
            int statSousRace = 0;
            int statClasse   = 0;
            int statPerso    = 0;
            int statBuf      = 0;


            if (valeurStatRace != null)
            {
                statRace = valeurStatRace.Valeur;
            }
            if (valeurStatSousRace != null)
            {
                statSousRace = valeurStatSousRace.Valeur;
            }
            if (valeurStatClasse != null)
            {
                statClasse = valeurStatClasse.Valeur;
            }
            if (valeurStatPerso != null)
            {
                statPerso = valeurStatPerso.Valeur;
            }
            if (valeurStatBuf != null)
            {
                statBuf = valeurStatBuf.Valeur;
            }



            int bonus = 0;

            if (stat.StatUtils != null)
            {
                foreach (StatUtil util in stat.StatUtils)
                {
                    int tmp = (GetValueStat(util.StatUtile) * util.Valeur) / 100;
                    bonus += tmp;
                }
            }
            if (stat.Type == Stat.Typestats.Base)
            {
                return(((statRace + statSousRace + statPerso) * (100 + statClasse * Lvl)) / 100 + statBuf + bonus);
            }
            else
            {
                return(statRace + statSousRace + statPerso + (statClasse * Lvl) + statBuf + bonus);
            }
        }