private void resolveBrushOffAttack( BrushOffAttackAction baa,
private void resolveBrushOffAttack( PhysicalResult pr,
    private void resolveBrushOffAttack( BrushOffAttackAction baa,                                        int lastEntityId ) {        final Entity ae = game.getEntity(baa.getEntityId());        // PLEASE NOTE: buildings are *never* the target of a "brush off".        final Entity te = game.getEntity(baa.getTargetId());        final String armName = baa.getArm() == BrushOffAttackAction.LEFT            ? "Left Arm" : "Right Arm";        if (lastEntityId != baa.getEntityId()) {            phaseReport.append( "\nPhysical attacks for " )                .append( ae.getDisplayName() )                .append( "\n" );        }        phaseReport.append("    Brush Off " )            .append( te.getDisplayName() )            .append( " with " )            .append( armName );        // compute to-hit        ToHitData toHit = baa.toHit(game);        if (toHit.getValue() == ToHitData.IMPOSSIBLE) {            phaseReport.append( ", but the brush off is impossible (" )                .append( toHit.getDesc() )                .append( ")\n" );            return;        }        phaseReport.append("; needs ").append(toHit.getValue()).append(", ");        // roll        int roll = Compute.d6(2);        phaseReport.append("rolls ").append(roll).append(" : ");        // ASSUMPTION: buildings can't absorb *this* damage.        int damage = BrushOffAttackAction.getBrushOffDamageFor(ae, baa.getArm());        // do we hit?        if (roll < toHit.getValue()) {            phaseReport.append("misses.\n");            // Missed Brush Off attacks cause punch damage to the attacker.            toHit.setHitTable( ToHitData.HIT_PUNCH );            toHit.setSideTable( ToHitData.SIDE_FRONT );            HitData hit = ae.rollHitLocation( toHit.getHitTable(),                                              toHit.getSideTable() );            phaseReport.append( ae.getDisplayName() )                .append( " punches itself in the " )                .append( ae.getLocationAbbr(hit) )                .append( damageEntity(ae, hit, damage) )                .append("\n");            return;        }        HitData hit = te.rollHitLocation( toHit.getHitTable(),                                          toHit.getSideTable() );        phaseReport.append("hits")            .append( toHit.getTableDesc() )            .append( " " )            .append( te.getLocationAbbr(hit) );        phaseReport.append(damageEntity(te, hit, damage));        phaseReport.append("\n");        // Dislodge the swarming infantry.        ae.setSwarmAttackerId( Entity.NONE );        te.setSwarmTargetId( Entity.NONE );        phaseReport.append( te.getDisplayName() )            .append( " is dislodged.\n" );    }