ent -> { ToHitData squadronToHit = new ToHitData(); squadronToHit.setHitTable(ToHitData.HIT_NORMAL); HitData hit = ent.rollHitLocation(squadronToHit.getHitTable(), ToHitData.SIDE_FRONT); hit.setCapital(false); } else { ToHitData hexToHit = new ToHitData(); hexToHit.setHitTable(ToHitData.HIT_NORMAL); HitData hit = entity.rollHitLocation(hexToHit.getHitTable(), ToHitData.SIDE_FRONT); hit.setCapital(false);
ent -> { ToHitData squadronToHit = new ToHitData(); squadronToHit.setHitTable(ToHitData.HIT_NORMAL); HitData hit = ent.rollHitLocation(squadronToHit.getHitTable(), ToHitData.SIDE_FRONT); hit.setCapital(false); } else { ToHitData hexToHit = new ToHitData(); hexToHit.setHitTable(ToHitData.HIT_NORMAL); HitData hit = entity.rollHitLocation(hexToHit.getHitTable(), ToHitData.SIDE_FRONT); hit.setCapital(false);
modifiers.setHitTable(ToHitData.HIT_PARTIAL_COVER);
toHit.setHitTable(ToHitData.HIT_NORMAL); } else { toHit.setHitTable(ToHitData.HIT_KICK); toHit.setHitTable(ToHitData.HIT_PUNCH); } else { // If on the same level, it's a punch to the legs toHit.setHitTable(ToHitData.HIT_KICK); toHit.setHitTable(ToHitData.HIT_PUNCH); toHit.setHitTable(ToHitData.HIT_NORMAL); } else { toHit.setHitTable(ToHitData.HIT_PUNCH);
typeModifiedToHit.setHitTable(toHit.getHitTable()); typeModifiedToHit.setSideTable(toHit.getSideTable());
toHit.setHitTable(ToHitData.HIT_KICK); } else if (target.getHeight() > 0) { toHit.setHitTable(ToHitData.HIT_PUNCH); } else { toHit.setHitTable(ToHitData.HIT_NORMAL); toHit.setHitTable(ToHitData.HIT_NORMAL); } else { toHit.setHitTable(ToHitData.HIT_KICK);
toHit.setHitTable(ToHitData.HIT_PUNCH); if ((attackerHeight == targetElevation) && !ae.isHullDown()) { if (target.getHeight() == 0) { toHit.setHitTable(ToHitData.HIT_NORMAL); } else { toHit.setHitTable(ToHitData.HIT_KICK); toHit.setHitTable(ToHitData.HIT_KICK); } else { toHit.setHitTable(ToHitData.HIT_PUNCH); toHit.setHitTable(aimTable); if (aimTable != ToHitData.HIT_NORMAL) { toHit.addModifier(4, "called shot"); if (target.getHeight() == 0) { if (shield) { toHit.setHitTable(ToHitData.HIT_PUNCH); } else { toHit.setHitTable(ToHitData.HIT_NORMAL); toHit.setHitTable(ToHitData.HIT_KICK); toHit.setHitTable(ToHitData.HIT_PUNCH);
toHit.setHitTable(ToHitData.HIT_PUNCH); } else { toHit.setHitTable(ToHitData.HIT_NORMAL); toHit.setHitTable(ToHitData.HIT_NORMAL); } else { toHit.setHitTable(ToHitData.HIT_PUNCH);
toHit.setHitTable(ToHitData.HIT_PUNCH); } else if (ae.getHeight() < target.getHeight()) { toHit.setHitTable(ToHitData.HIT_KICK); } else { toHit.setHitTable(ToHitData.HIT_NORMAL); toHit.setHitTable(ToHitData.HIT_NORMAL); } else { toHit.setHitTable(ToHitData.HIT_PUNCH);
toHit.setHitTable(ToHitData.HIT_NORMAL); } else if (te.isProne()) { toHit.setSideTable(ToHitData.SIDE_REAR); toHit.setHitTable(ToHitData.HIT_NORMAL); } else { toHit.setSideTable(te.sideTable(src)); toHit.setHitTable(ToHitData.HIT_PUNCH);
toHit.setHitTable(ToHitData.HIT_KICK);
toHit.setHitTable(ToHitData.HIT_NORMAL);
toHit.setHitTable(ToHitData.HIT_ABOVE); } else { toHit.setHitTable(ToHitData.HIT_BELOW); if (ae.isUnderwater() && (targHex.containsTerrain(Terrains.WATER) && (targEl == 0) && (te.height() > 0))) { toHit.setHitTable(ToHitData.HIT_PARTIAL_COVER); toHit.setCover(LosEffects.COVER_UPPER); } else { if (game.getOptions().booleanOption(OptionsConstants.ADVCOMBAT_TACOPS_PARTIAL_COVER)) { toHit.setHitTable(ToHitData.HIT_PARTIAL_COVER); toHit.setCover(los.getTargetCover()); } else { toHit.setHitTable(ToHitData.HIT_PARTIAL_COVER); toHit.setCover(LosEffects.COVER_HORIZONTAL); toHit.setHitTable(ToHitData.HIT_UNDERWATER);
toHit.setHitTable(ToHitData.HIT_ABOVE); } else { toHit.setHitTable(ToHitData.HIT_BELOW); toHit.setHitTable(ToHitData.HIT_PARTIAL_COVER); toHit.setCover(LosEffects.COVER_UPPER); } else { if (game.getOptions().booleanOption(OptionsConstants.ADVCOMBAT_TACOPS_PARTIAL_COVER)) { toHit.setHitTable(ToHitData.HIT_PARTIAL_COVER); toHit.setCover(los.getTargetCover()); } else { toHit.setHitTable(ToHitData.HIT_PARTIAL_COVER); toHit.setCover(LosEffects.COVER_HORIZONTAL); case CalledShot.CALLED_HIGH: toHit.addModifier(+3, "called shot, high"); toHit.setHitTable(ToHitData.HIT_ABOVE); break; case CalledShot.CALLED_LOW: toHit.setHitTable(ToHitData.HIT_BELOW); break; case CalledShot.CALLED_LEFT: toHit.setHitTable(ToHitData.HIT_UNDERWATER); toHit.setHitTable(ToHitData.HIT_ABOVE); } else if ((tAlt - aAlt) > 2) { toHit.setHitTable(ToHitData.HIT_BELOW);