private int calcHeatTolerance(final Entity entity, @Nullable Boolean isAero) { // If the unit doesn't track heat, we won't worry about it. if (DOES_NOT_TRACK_HEAT == entity.getHeatCapacity()) { return DOES_NOT_TRACK_HEAT; } final int baseTolerance = entity.getHeatCapacity() - entity.getHeat(); if (null == isAero) { isAero = entity.isAero(); } // Aeros *really* don't want to overheat. if (isAero) { return baseTolerance; } return baseTolerance + 5; // todo add Heat Tolerance to Behavior Settings. }
/** * Generates an entity at specific coordinates * Vital statistics: * ID: 1 * Max weapon range: 21 (LRMs, obviously) * Final path coordinates: (10, 10) * Final path facing: straight north * No SPAs * Default crew * @return */ private Entity generateMockEntity(int x, int y) { final Entity mockEntity = Mockito.mock(BipedMech.class); Mockito.when(mockEntity.getMaxWeaponRange()).thenReturn(21); final Crew mockCrew = Mockito.mock(Crew.class); Mockito.when(mockEntity.getCrew()).thenReturn(mockCrew); final PilotOptions mockOptions = Mockito.mock(PilotOptions.class); Mockito.when(mockCrew.getOptions()).thenReturn(mockOptions); Mockito.when(mockOptions.booleanOption(Mockito.anyString())).thenReturn(false); final Coords mockMyCoords = new Coords(x, y); Mockito.when(mockEntity.getPosition()).thenReturn(mockMyCoords); Mockito.when(mockEntity.getHeatCapacity()).thenReturn(20); Mockito.when(mockEntity.getHeat()).thenReturn(0); return mockEntity; }
Mockito.when(((Entity) mockTarget).getHeat()).thenReturn(12); Assert.assertEquals(mockAmmoInfero5, testFireControl.getPreferredAmmo(mockShooter, mockTarget, mockMML5)); Mockito.when(((Entity) mockTarget).getHeat()).thenReturn(4); Assert.assertEquals(mockAmmoAC5Std, testFireControl.getPreferredAmmo(mockShooter, mockTarget, mockWeaponTypeAC5));
f, null, (e.getHeatCapacity() - e.getHeat()) + 5, null); double damage = fireControl.determineBestFiringPlan(guess)
Mockito.when(mockShooter.isOffBoard()).thenReturn(false); Mockito.when(mockShooter.getHeatCapacity()).thenReturn(16); Mockito.when(mockShooter.getHeat()).thenReturn(0); Mockito.when(mockTarget.getPosition()).thenReturn(mockTargetCoords); Mockito.when(mockTarget.isOffBoard()).thenReturn(false);
Mockito.when(mockShooter.getMaxWeaponRange()).thenReturn(21); Mockito.when(mockShooter.getHeatCapacity()).thenReturn(10); Mockito.when(mockShooter.getHeat()).thenReturn(0); mockShooterState = Mockito.mock(EntityState.class); mockShooterCoords = new Coords(0, 0);
myPlan.getHeat() + shoot.getHeat() + shooter.getHeat() <= shooter.getHeatCapacity() && 0 < shoot.getExpectedDamage()) { myPlan.add(shoot);