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)); }
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)); }
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); }