Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        //############################################ 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);
        }