else if ( ae.isLocationDestroyed(Mech.LOC_LARM) ) {
else if ( ae.isLocationBad(Mech.LOC_LARM) ) {
    private void resolvePhysicalAttacks() {        roundReport.append("\nPhysical Attack Phase\n-------------------\n");        int cen = Entity.NONE;        // add any pending charges        for (Enumeration i = game.getCharges(); i.hasMoreElements();) {            game.addAction((EntityAction)i.nextElement());        }        game.resetCharges();        // remove any duplicate attack declarations        cleanupPhysicalAttacks();        // loop thru received attack actions        for (Enumeration i = game.getActions(); i.hasMoreElements();) {            Object o = i.nextElement();            // verify that the attacker is still active            AttackAction aa = (AttackAction)o;            if (!(game.getEntity(aa.getEntityId()).isActive())            && !(o instanceof DfaAttackAction)) {                continue;            }            if (o instanceof PunchAttackAction) {                PunchAttackAction paa = (PunchAttackAction)o;                if (paa.getArm() == PunchAttackAction.BOTH) {                    // If we're punching while prone (at a Tank,                    // duh), then we can only use one arm.                    Entity ae = game.getEntity( aa.getEntityId() );                    if ( ae.isProne() ) {                        // As a sanity check, make certain                        // that no arm has been destroyed.                        if ( ae.isLocationDestroyed(Mech.LOC_RARM) ) {                            phaseReport.append( ae.getDisplayName() ).append                                ( " can't punch: right arm destroyed.\n" );                            continue;                        }                        else if ( ae.isLocationDestroyed(Mech.LOC_LARM) ) {                            phaseReport.append( ae.getDisplayName() ).append                                ( " can't punch: left arm destroyed.\n" );                            continue;                        }                        // Find out which arm has the best attack.                        paa.setArm(PunchAttackAction.LEFT);                        ToHitData left = Compute.toHitPunch( game, paa );                        double oddsLeft = Compute.oddsAbove(left.getValue());                        int damageLeft = Compute.getPunchDamageFor                            ( ae, PunchAttackAction.LEFT );                        paa.setArm(PunchAttackAction.RIGHT);                        ToHitData right = Compute.toHitPunch( game, paa );                        double oddsRight = Compute.oddsAbove(right.getValue());                        int damageRight = Compute.getPunchDamageFor                            ( ae, PunchAttackAction.RIGHT );                        // Use the best attack.                        if (  oddsLeft*damageLeft > oddsRight*damageRight ) {                            // Be sure to set the left arm first.                            paa.setArm(PunchAttackAction.LEFT);                            resolvePunchAttack(paa, cen);                            cen = paa.getEntityId();                        } else {                            // We've already set the right arm.                            resolvePunchAttack(paa, cen);                            cen = paa.getEntityId();                        }                    } // End Entity-is-prone                    else {                        paa.setArm(PunchAttackAction.LEFT);                        resolvePunchAttack(paa, cen);                        cen = paa.getEntityId();                        paa.setArm(PunchAttackAction.RIGHT);                        resolvePunchAttack(paa, cen);                    }                } else {                    resolvePunchAttack(paa, cen);                    cen = paa.getEntityId();                }            } else if (o instanceof KickAttackAction) {                KickAttackAction kaa = (KickAttackAction)o;                resolveKickAttack(kaa, cen);                cen = kaa.getEntityId();            } else if (o instanceof BrushOffAttackAction) {                BrushOffAttackAction baa = (BrushOffAttackAction)o;                if (baa.getArm() == BrushOffAttackAction.BOTH) {                    baa.setArm(BrushOffAttackAction.LEFT);                    resolveBrushOffAttack(baa, cen);                    cen = baa.getEntityId();                    baa.setArm(BrushOffAttackAction.RIGHT);                    resolveBrushOffAttack(baa, cen);                } else {                    resolveBrushOffAttack(baa, cen);                    cen = baa.getEntityId();                }            } else if (o instanceof ThrashAttackAction) {                ThrashAttackAction taa = (ThrashAttackAction)o;                resolveThrashAttack(taa, cen);                cen = taa.getEntityId();            } else if (o instanceof ClubAttackAction) {                ClubAttackAction caa = (ClubAttackAction)o;                resolveClubAttack(caa, cen);                cen = caa.getEntityId();            } else if (o instanceof PushAttackAction) {                PushAttackAction paa = (PushAttackAction)o;                resolvePushAttack(paa, cen);                cen = paa.getEntityId();            }  else if (o instanceof ChargeAttackAction) {                ChargeAttackAction caa = (ChargeAttackAction)o;                resolveChargeAttack(caa, cen);                cen = caa.getEntityId();            }  else if (o instanceof DfaAttackAction) {                DfaAttackAction daa = (DfaAttackAction)o;                resolveDfaAttack(daa, cen);                cen = daa.getEntityId();            } else {                // hmm, error.            }        }    }