/** * does this unit have stealth armor? * * @return */ public boolean hasStealth() { // only non-patchwork stealth actually works as stealth if (((getArmorType(1) == EquipmentType.T_ARMOR_STEALTH) || (getArmorType(1) == EquipmentType .T_ARMOR_STEALTH_VEHICLE)) && !hasPatchworkArmor()) { return true; } return false; }
protected Map<String, String> addPatchworkATs(Entity entity, int[][] locSets) { final Map<String, String> retVal = new HashMap<>(); for (final int[] locs : locSets) { if ((locs.length == 0) || (locs[0] >= entity.locations())) { continue; } String val = null; if (locs.length > 1) { for (int i = 1; i < locs.length; i++) { if ((locs[i] < entity.locations()) && (entity.getArmorType(locs[i]) != entity.getArmorType(locs[0]))) { val = Arrays.stream(locs).mapToObj(l -> formatArmorType(entity.getArmorType(l), true)) .collect(Collectors.joining("/")); break; } } } if (null == val) { val = formatArmorType(entity.getArmorType(locs[0]), true); } for (final int loc : locs) { if (loc < entity.locations()) { retVal.put(entity.getLocationAbbr(loc), val); } } } return retVal; }
continue; if (entity.getArmorType(m.getLocation()) == EquipmentType.getArmorType(m.getType())) { continue;
protected String formatArmorType(Entity entity, boolean trim) { if (entity.hasETypeFlag(Entity.ETYPE_SUPPORT_TANK) || entity.hasETypeFlag(Entity.ETYPE_SUPPORT_VTOL) || entity.hasETypeFlag(Entity.ETYPE_FIXED_WING_SUPPORT)) { return "BAR " + entity.getBARRating(Tank.LOC_FRONT); } if (entity.hasPatchworkArmor()) { return EquipmentType.getArmorTypeName(EquipmentType.T_ARMOR_PATCHWORK); } // Some types do not have armor on the first location, and others have only a // single location final int at = entity.getArmorType(Math.min(1, entity.locations() - 1)); if (trim && (at == EquipmentType.T_ARMOR_STANDARD)) { return ""; } String name = EquipmentType.getArmorTypeName(at); if (trim) { name = name.replace("-Fibrous", "").replace("-Aluminum", ""); if (at == EquipmentType.T_ARMOR_EDP) { name = "EDP"; } } return name; }
+ EquipmentType.getArmorTypeName(entity.getArmorType(1)) .trim()));
+ EquipmentType.getArmorTypeName(entity.getArmorType(1)) .trim()));
&& (entityTarget.getArmorType(hit.getLocation()) == EquipmentType.T_ARMOR_REFLECTIVE)) { entityTarget.heatFromExternal += Math.max(1, extraHeat / 2); r.add(Math.max(1, extraHeat / 2)); r.messageId = 3406; r.add(extraHeat); r.add(EquipmentType.armorNames[entityTarget.getArmorType(hit .getLocation())]); } else if (entityTarget.getArmor(hit) > 0 && (entityTarget.getArmorType(hit.getLocation()) == EquipmentType.T_ARMOR_HEAT_DISSIPATING)) { entityTarget.heatFromExternal += extraHeat / 2; r.add(extraHeat / 2); r.messageId = 3406; r.add(extraHeat); r.add(EquipmentType.armorNames[entityTarget.getArmorType(hit .getLocation())]); } else {
r.indent(2); if (entityTarget.getArmor(hit) > 0 && ((entityTarget.getArmorType(hit.getLocation()) == EquipmentType.T_ARMOR_HEAT_DISSIPATING) || (entityTarget.getArmorType(hit.getLocation()) == EquipmentType.T_ARMOR_REFLECTIVE))){ entityTarget.heatFromExternal += 2; r.add(5); r.add(EquipmentType.armorNames [entityTarget.getArmorType(hit.getLocation())]); } else { entityTarget.heatFromExternal += 5;
switch (getArmorType(loc)) { case EquipmentType.T_ARMOR_COMMERCIAL: armorMod = .5;
r.indent(2); if (entityTarget.getArmor(hit) > 0 && (entityTarget.getArmorType(hit.getLocation()) == EquipmentType.T_ARMOR_REFLECTIVE)){ entityTarget.heatFromExternal += Math.max(1, extraHeat/2); r.add(extraHeat); r.add(EquipmentType.armorNames [entityTarget.getArmorType(hit.getLocation())]); } else if (entityTarget.getArmor(hit) > 0 && (entityTarget.getArmorType(hit.getLocation()) == EquipmentType.T_ARMOR_HEAT_DISSIPATING)){ entityTarget.heatFromExternal += extraHeat/2; r.add(extraHeat); r.add(EquipmentType.armorNames [entityTarget.getArmorType(hit.getLocation())]); } else { entityTarget.heatFromExternal += extraHeat;
entityTarget, hit.getLocation(), hit.isRear(), entityTarget.getArmorType(hit.getLocation()) == EquipmentType.T_ARMOR_HARDENED ? -2 : 0, 4);
final Entity mockShooter = Mockito.mock(BipedMech.class); Targetable mockTarget = Mockito.mock(BipedMech.class); Mockito.when(((Entity) mockTarget).getArmorType(Mockito.anyInt())).thenReturn(EquipmentType.T_ARMOR_STANDARD); final FireControl testFireControl = new FireControl(mockPrincess); Mockito.when(((Entity) mockTarget).getArmorType(Mockito.anyInt())).thenReturn(EquipmentType.T_ARMOR_STANDARD); Mockito.when(mockTarget.getPosition()).thenReturn(new Coords(10, 15)); Mockito.when(mockTarget.isAirborne()).thenReturn(true); Mockito.when(((Entity) mockTarget).getArmorType(Mockito.anyInt())).thenReturn(EquipmentType.T_ARMOR_STANDARD); Mockito.when(mockTarget.getPosition()).thenReturn(new Coords(10, 15)); Assert.assertEquals(mockAmmoLB10XCluster, testFireControl.getPreferredAmmo(mockShooter, mockTarget, mockLB10X)); Mockito.when(((Entity) mockTarget).getArmorType(Mockito.anyInt())).thenReturn(EquipmentType.T_ARMOR_STANDARD); Mockito.when(mockTarget.getPosition()).thenReturn(new Coords(10, 15)); Assert.assertTrue( Mockito.when(((Entity) mockTarget).getArmorType(Mockito.anyInt())).thenReturn(EquipmentType.T_ARMOR_STANDARD); Mockito.when(mockTarget.getPosition()).thenReturn(new Coords(10, 15)); Mockito.when(((Entity) mockTarget).getDamageLevel()).thenReturn(Entity.DMG_HEAVY); Assert.assertEquals(mockAmmoInfero5, testFireControl.getPreferredAmmo(mockShooter, mockTarget, mockMML5)); Mockito.when(((Entity) mockTarget).getArmorType(Mockito.anyInt())) .thenReturn(EquipmentType.T_ARMOR_HEAT_DISSIPATING); Assert.assertEquals(mockAmmoSRM5, testFireControl.getPreferredAmmo(mockShooter, mockTarget, mockMML5)); Mockito.when(((Entity) mockTarget).getArmorType(Mockito.anyInt())).thenReturn(EquipmentType.T_ARMOR_STANDARD);
+ EquipmentType.getArmorTypeName(entity.getArmorType(1)) .trim()); row[2] = Messages.getString("MechView." + EquipmentType.getArmorTypeName(entity .getArmorType(loc)).trim()); if (entity.hasBARArmor(loc)) { row[2] += Messages.getString("MechView.BARRating") //$NON-NLS-1$
r.newlines = 0; if (entityTarget.getArmor(hit) > 0 && (entityTarget.getArmorType(hit.getLocation()) == EquipmentType.T_ARMOR_REFLECTIVE)){ entityTarget.heatFromExternal += Math.max(1, heatDamage/2); r.add(heatDamage); r.add(EquipmentType.armorNames [entityTarget.getArmorType(hit.getLocation())]); } else if (entityTarget.getArmor(hit) > 0 && (entityTarget.getArmorType(hit.getLocation()) == EquipmentType.T_ARMOR_HEAT_DISSIPATING)){ entityTarget.heatFromExternal += heatDamage/2; r.add(heatDamage); r.add(EquipmentType.armorNames [entityTarget.getArmorType(hit.getLocation())]); } else { entityTarget.heatFromExternal += heatDamage;
int extraHeat = Compute.d6(2); if (entityTarget.getArmor(hit) > 0 && (entityTarget.getArmorType(hit.getLocation()) == EquipmentType.T_ARMOR_REFLECTIVE)){ entityTarget.heatFromExternal += Math.max(1, extraHeat/2); r.add(extraHeat); r.add(EquipmentType.armorNames [entityTarget.getArmorType(hit.getLocation())]); } else if (entityTarget.getArmor(hit) > 0 && (entityTarget.getArmorType(hit.getLocation()) == EquipmentType.T_ARMOR_HEAT_DISSIPATING)){ entityTarget.heatFromExternal += extraHeat/2; r.add(extraHeat); r.add(EquipmentType.armorNames [entityTarget.getArmorType(hit.getLocation())]); } else { entityTarget.heatFromExternal += extraHeat;
+ EquipmentType.getArmorTypeName(entity.getArmorType(1)) .trim()); armor += " " + EquipmentType.getBaArmorTypeName(entity.getArmorType(1)) .trim(); row[3] = Messages.getString("MechView." + EquipmentType.getArmorTypeName(entity .getArmorType(loc)).trim()); if (entity.hasBARArmor(loc)) { row[3] += " " + Messages.getString("MechView.BARRating") //$NON-NLS-1$
r.indent(2); if (entityTarget.getArmor(hit) > 0 && ((entityTarget.getArmorType(hit.getLocation()) == EquipmentType.T_ARMOR_HEAT_DISSIPATING) || (entityTarget.getArmorType(hit.getLocation()) == EquipmentType.T_ARMOR_REFLECTIVE))){ entityTarget.heatFromExternal += 1; r.add(2); r.add(EquipmentType.armorNames [entityTarget.getArmorType(hit.getLocation())]); } else { entityTarget.heatFromExternal += 2;
if (entity1.getArmorType(loc) != entity2.getArmorType(loc) || entity1.getOArmor(loc) != entity2.getOArmor(loc)) { return false;
r.indent(2); if (entityTarget.getArmor(hit) > 0 && (entityTarget.getArmorType(hit.getLocation()) == EquipmentType.T_ARMOR_HEAT_DISSIPATING)){ entityTarget.heatFromExternal += nDamPerHit/2; r.messageId=3406; r.add(EquipmentType.armorNames [entityTarget.getArmorType(hit.getLocation())]); } else { entityTarget.heatFromExternal += nDamPerHit;
if (entityTarget.getArmorType(hit.getLocation()) == EquipmentType.T_ARMOR_HARDENED) { critMod -= 2;