Пример #1
0
        public void ShouldReturn30HitlagWhenHitlagMoreThan30()
        {
            var hitlagData = new HitlagProblemData
            {
                Damage = 50,
                CrouchingModifier = CrouchingModifier.NotCrouching,
                ElectricModifier = ElectricModifier.NormalAttack,
                HitlagMultiplier = 2
            };

            var result = _calculator.Hitlag(hitlagData);
            Assert.That(result, Is.EqualTo(30));
        }
Пример #2
0
        public void ShouldGetExpectedHitlag_NotCrouching_ElectricAttack()
        {
            var hitlagData = new HitlagProblemData
            {
                Damage = 20,
                CrouchingModifier = CrouchingModifier.NotCrouching,
                ElectricModifier = ElectricModifier.ElectricAttack,
                HitlagMultiplier = 1
            };

            var result = _calculator.Hitlag(hitlagData);
            Assert.That(result, Is.EqualTo(18));
        }
Пример #3
0
        public void ShouldGetExpectedHitlag(double damage, CrouchingModifier crouchModifier,
            ElectricModifier elecModifier, double hitlagMultiplier, int expectedResult)
        {
            var hitlagData = new HitlagProblemData
            {
                Damage = damage,
                CrouchingModifier = crouchModifier,
                ElectricModifier = elecModifier,
                HitlagMultiplier = hitlagMultiplier
            };

            var result = _calculator.Hitlag(hitlagData);
            Assert.That(result, Is.EqualTo(expectedResult));
        }
Пример #4
0
        /// <summary>
        /// Returns the calculated Hitlag.
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public int Hitlag(HitlagProblemData data)
        {
            var retVal = (int)Math.Floor((data.Damage / 2.6 + 5) *
                data.ElectricModifier.GetModifierValue() *
                data.HitlagMultiplier *
                data.CrouchingModifier.GetModifierValue()) - 1;

            if (retVal > 30)
            {
                retVal = 30;
            }

            return retVal;
        }