Esempio n. 1
0
        public static void Prefix(ref float chance)
        {
            // ideally we'd want to check if (BattleTech.AttackDirector.AttackSequence.UseWeightedHitNumber == true)
            // but currently it is always true

            chance = HitChanceUtils.InverseRollCorrection(chance);
        }
        public void HitChanceInversionIsCorrect()
        {
            for (float roll = 0; roll <= 1f; roll += 0.01f)
            {
                float corrected     = GetCorrectedRoll(roll);
                float decorrected   = HitChanceUtils.InverseRollCorrection(roll);
                float recorrected   = GetCorrectedRoll(decorrected);
                float redecorrected = HitChanceUtils.InverseRollCorrection(corrected);

                Assert.Equal(roll, recorrected, 5);
                Assert.Equal(roll, redecorrected, 5);
            }
        }