vPhaseReport.addElement(r);
addReport(r);
    private void triggerAPPod( Entity entity, int podId ) {        // Get the mount for this pod.        Mounted mount = entity.getEquipment( podId );        // Confirm that this is, indeed, an AP Pod.        if ( null == mount ) {            System.err.print( "Expecting to find an AP Pod at " );            System.err.print( podId );            System.err.print( " on the unit, " );            System.err.print( entity.getDisplayName() );            System.err.println( " but found NO equipment at all!!!" );            return;        }        EquipmentType equip = mount.getType();        if ( !(equip instanceof MiscType) ||             !equip.hasFlag(MiscType.F_AP_POD) ) {            System.err.print( "Expecting to find an AP Pod at " );            System.err.print( podId );            System.err.print( " on the unit, " );            System.err.print( entity.getDisplayName() );            System.err.print( " but found " );            System.err.print( equip.getName() );            System.err.println( " instead!!!" );            return;        }        // Now confirm that the entity can trigger the pod.        // Ignore the "used this round" flag.        boolean oldFired = mount.isUsedThisRound();        mount.setUsedThisRound( false );        boolean canFire = mount.canFire();        mount.setUsedThisRound( oldFired );        if ( !canFire ) {            System.err.print( "Can not trigger the AP Pod at " );            System.err.print( podId );            System.err.print( " on the unit, " );            System.err.print( entity.getDisplayName() );            System.err.println( "!!!" );            return;        }        Report r;        // Mark the pod as fired and log the action.        mount.setFired( true );        r = new Report(3010);        r.newlines = 0;        r.subject = entity.getId();        r.addDesc(entity);        vPhaseReport.addElement(r);        // Walk through ALL entities in the triggering entity's hex.        Enumeration targets = game.getEntities( entity.getPosition() );        while ( targets.hasMoreElements() ) {            final Entity target = (Entity) targets.nextElement();            // Is this an unarmored infantry platoon?            if ( target instanceof Infantry &&                 !(target instanceof BattleArmor) ) {                // Roll d6-1 for damage.                final int damage = Compute.d6() - 1;                // If the platoon took no damage, log it and go no further                if ( 0 == damage ) {                    r = new Report(3015);                    r.indent(2);                    r.subject = target.getId();                    r.addDesc(target);                    vPhaseReport.addElement(r);                }                else {                    // Damage the platoon.                    vPhaseReport.addAll( damageEntity( target, new HitData(Infantry.LOC_INFANTRY),damage ));                    // Damage from AP Pods is applied immediately.                    target.applyDamage();                }            } // End target-is-unarmored            // Nope, the target is immune.            // Don't make a log entry for the triggering entity.            else if ( !entity.equals( target ) ) {                r = new Report(3020);                r.indent(2);                r.subject = target.getId();                r.addDesc(target);                vPhaseReport.addElement(r);            }        } // Check the next entity in the triggering entity's hex.    }