public boolean isTrooperActive(int trooperNum) { return (getInternal(trooperNum) > 0); }
private static String formatArmorBattleArmor(BattleArmor b) { StringBuffer sb = new StringBuffer(32); for (int i = 1; i < b.locations(); i++) { sb.append("Trooper ").append(i).append(": ") .append(renderArmor(b.getArmor(i))).append(" / ") .append(renderArmor(b.getInternal(i))); sb.append(CommonConstants.NL); } return sb.toString(); }
/** * Update the unit to reflect damages taken in this phase. */ @Override public void applyDamage() { super.applyDamage(); int troopersAlive = 0; for (int i = 0; i < locations(); i++) { if (getInternal(i) > 0) { troopersAlive++; } } troopersShooting = troopersAlive; }
/** * Battle Armor units don't transfer damage. */ @Override public HitData getTransferLocation(HitData hit) { // If any trooper lives, the unit isn't destroyed. for (int loop = 1; loop < locations(); loop++) { if (0 < this.getInternal(loop)) { return new HitData(Entity.LOC_NONE); } } // No surviving troopers, so we're toast. return new HitData(Entity.LOC_DESTROYED); }
if ((getInternal(1) > 0) && (getInternal(2) > 0)) { loc = Compute.randomInt(2) + 1; } else if (getInternal(1) > 0) { loc = 1; } else { if ((getInternal(3) > 0) && (getInternal(4) > 0)) { loc = Compute.randomInt(2) + 3; } else if (getInternal(3) > 0) { loc = 3; } else { if ((getInternal(5) > 0) && (getInternal(6) > 0)) { loc = Compute.randomInt(2) + 5; } else if (getInternal(5) > 0) { loc = 5; } else {
@Override public String getLocationDamage(int loc) { String toReturn = ""; if(getInternal(loc)<0) { return toReturn; } boolean first = true; for(Mounted m : getEquipment()) { if(m.isMissingForTrooper(loc)) { if (!first) { toReturn += ", "; } toReturn += m.getName(); first = false; } } return toReturn; }
|| (IArmorState.ARMOR_NA == this.getInternal(loc)) || (IArmorState.ARMOR_DESTROYED == this.getInternal(loc)) || ((IArmorState.ARMOR_DOOMED == this.getInternal(loc)) && !isDoomed())) { loc = Compute.d6();
armor = (ba.getArmor(i + 1, false) < 0) ? 0 : ba.getArmor(i + 1, false); internal = (ba.getInternal(i + 1) < 0) ? 0 : ba.getInternal(i + 1); if ((armor + internal) == 0) { armorAreas[i].setVisible(false);
&& (((BattleArmor) target).getInternal(hit.getLocation()) != IArmorState.ARMOR_DOOMED)) { int critRoll = Compute.d6(2); int loc = hit.getLocation();
if (this.getInternal(i) <= 0) { continue;