Ejemplo n.º 1
0
        public void TestVisibility_NoEffects()
        {
            Mech attacker = TestHelper.BuildTestMech();
            Mech target   = TestHelper.BuildTestMech();

            attacker.StatCollection.AddStatistic <float>("SpotterDistanceMultiplier", 1f);
            attacker.StatCollection.AddStatistic <float>("SpotterDistanceAbsolute", 0f);

            target.StatCollection.AddStatistic <float>("SpottingVisibilityMultiplier", 1f);
            target.StatCollection.AddStatistic <float>("SpottingVisibilityAbsolute", 0f);

            EWState attackerState = new EWState(attacker);
            EWState targetState   = new EWState(target);

            Assert.AreEqual(1.0f, VisualLockHelper.GetTargetVisibility(target, attackerState));
        }
Ejemplo n.º 2
0
        public void TestVisibility_Shutdown()
        {
            Mech attacker = TestHelper.BuildTestMech();
            Mech target   = TestHelper.BuildTestMech();

            attacker.StatCollection.AddStatistic <float>("SpotterDistanceMultiplier", 1f);
            attacker.StatCollection.AddStatistic <float>("SpotterDistanceAbsolute", 0f);

            target.StatCollection.AddStatistic <float>("SpottingVisibilityMultiplier", 1f);
            target.StatCollection.AddStatistic <float>("SpottingVisibilityAbsolute", 0f);

            Traverse isShutdownT = Traverse.Create(target).Field("_isShutDown");

            isShutdownT.SetValue(true);

            EWState attackerState = new EWState(attacker);
            EWState targetState   = new EWState(target);

            Assert.AreEqual(0.5f, VisualLockHelper.GetTargetVisibility(target, attackerState));
        }
Ejemplo n.º 3
0
        public void TestMimetic_Visibility_DecayThreeStep()
        {
            Mech attacker = TestHelper.BuildTestMech();
            Mech target   = TestHelper.BuildTestMech();

            target.CurrentPosition = new Vector3(180f, 0, 0);
            Traverse previousPositionT = Traverse.Create(target).Field("previousPosition");

            previousPositionT.SetValue(new Vector3(0f, 0f, 0f));

            attacker.StatCollection.AddStatistic <float>("SpotterDistanceMultiplier", 1f);
            attacker.StatCollection.AddStatistic <float>("SpotterDistanceAbsolute", 0f);

            target.StatCollection.AddStatistic <float>("SpottingVisibilityMultiplier", 1f);
            target.StatCollection.AddStatistic <float>("SpottingVisibilityAbsolute", 0f);
            target.StatCollection.Set(ModStats.MimeticEffect, "4_0.10_1_2");

            EWState attackerState = new EWState(attacker);
            EWState targetState   = new EWState(target);

            Assert.AreEqual(0.9f, VisualLockHelper.GetTargetVisibility(target, attackerState), 0.001);
        }