if (techType == TechType.MIXED) sb.append( " (" ).append( mixedBaseTechType ).append( " Chassis)" );
if (techType == TechType.MIXED) { sb.append( " (" ); if (mixedBaseTechType == TechType.INNER_SPHERE) {   sb.append( "IS" ); } else { sb.append( mixedBaseTechType ); } sb.append( " Chassis)" ); }
    public String getMtf() {        StringBuffer sb = new StringBuffer();        String nl = "\r\n";  // DOS friendly        // Write Output MTF	sb.append( "Version:1.0" ).append( nl );	sb.append( name ).append( nl );	sb.append( model ).append( nl );	sb.append( nl );        sb.append( "Config:" ).append( chassisType );	sb.append( nl );        sb.append( "TechBase:" ).append( techType );        if (techType == TechType.MIXED)            sb.append( " (" ).append( mixedBaseTechType ).append( " Chassis)" );        sb.append( nl );	sb.append( "Era:" ).append( year ).append( nl );	sb.append( "Rules Level:" ).append( rulesLevel );	sb.append( nl );        sb.append( nl );        sb.append( "Mass:" ).append( tonnage ).append( nl );	sb.append( "Engine:" ).append( engineRating ).append( " " )            .append( engineType ).append( " Engine" );        if (mixedBaseTechType != engineTechType)            sb.append( " (" ).append(engineTechType).append( ")" );        sb.append(nl);        sb.append( "Structure:" ).append( internalStructureType ).append(nl);	sb.append( "Myomer:" ).append( myomerType ).append( nl );        sb.append( nl );        sb.append( "Heat Sinks:" ).append( heatSinks ).append( " " )            .append( heatSinkType ).append( nl );	sb.append( "Walk MP:" ).append( walkMP ).append( nl );	sb.append( "Jump MP:" ).append( jumpMP ).append( nl );	sb.append( nl );	sb.append( "Armor:" ).append( armorType );        if (mixedBaseTechType != armorTechType)            sb.append( " (" ).append(armorTechType).append( ")" );        sb.append(nl);        boolean isPatchwork = false;        if (armorType == ArmorType.PATCHWORK) isPatchwork = true;        sb.append("LA Armor:").append( laArmor );        if (isPatchwork)            sb.append( " (" ).append( laArmorType ).append( ")" );        sb.append( nl );        sb.append("RA Armor:").append( raArmor );        if (isPatchwork)            sb.append( " (" ).append( raArmorType ).append( ")" );        sb.append( nl );        sb.append("LT Armor:").append( ltArmor );        if (isPatchwork)            sb.append( " (" ).append( ltArmorType ).append( ")" );        sb.append( nl );        sb.append("RT Armor:").append( rtArmor );        if (isPatchwork)            sb.append( " (" ).append( rtArmorType ).append( ")" );        sb.append( nl );        sb.append("CT Armor:").append( ctArmor );        if (isPatchwork)            sb.append( " (" ).append( ctArmorType ).append( ")" );        sb.append( nl );        sb.append("HD Armor:").append( headArmor );        if (isPatchwork)            sb.append( " (" ).append( headArmorType ).append( ")" );        sb.append( nl );        sb.append("LL Armor:").append( llArmor );        if (isPatchwork)            sb.append( " (" ).append( llArmorType ).append( ")" );        sb.append( nl );        sb.append("RL Armor:").append( rlArmor );        if (isPatchwork)            sb.append( " (" ).append( rlArmorType ).append( ")" );        sb.append( nl );        sb.append("RTL Armor:").append( ltrArmor );        if (isPatchwork)            sb.append( " (" ).append( ltrArmorType ).append( ")" );        sb.append( nl );        sb.append("RTR Armor:").append( rtrArmor );        if (isPatchwork)            sb.append( " (" ).append( rtrArmorType ).append( ")" );        sb.append( nl );        sb.append("RTC Armor:").append( ctrArmor );        if (isPatchwork)            sb.append( " (" ).append( ctrArmorType ).append( ")" );        sb.append( nl );	sb.append( nl );        sb.append( "Weapons:" ).append( totalWeaponCount ).append( nl );        for( int x = 0; x < totalWeaponCount; x++ ) {            sb.append(weaponArray[x][0]).append( " " )                .append(getCriticalName(weaponArray[x][1]))                .append( ", " )                .append(WeaponLocation.getType(weaponArray[x][2]));            if (weaponArray[x][3] > 0)                sb.append( ", Ammo:" ).append(weaponArray[x][3]);            sb.append( nl );	}        sb.append( nl );	sb.append( "Left Arm:" ).append( nl );	for( int x = 0; x < 12; x++ )            sb.append(getCriticalName(laCriticals[x])).append( nl );        sb.append( nl );	sb.append( "Right Arm:" ).append( nl );	for( int x = 0; x < 12; x++ )            sb.append(getCriticalName(raCriticals[x])).append( nl );        sb.append( nl );        sb.append( "Left Torso:" ).append( nl );	for( int x = 0; x < 12; x++ )            sb.append(getCriticalName(ltCriticals[x])).append( nl );        sb.append( nl );        sb.append( "Right Torso:" ).append( nl );	for( int x = 0; x < 12; x++ )            sb.append(getCriticalName(rtCriticals[x])).append( nl );        sb.append( nl );        sb.append( "Center Torso:" ).append( nl );	for( int x = 0; x < 12; x++ )            sb.append(getCriticalName(ctCriticals[x])).append( nl );        sb.append( nl );        sb.append( "Head:" ).append( nl );	for( int x = 0; x < 12; x++ )            sb.append(getCriticalName(headCriticals[x])).append( nl );        sb.append( nl );        sb.append( "Left Leg:" ).append( nl );	for( int x = 0; x < 12; x++ )            sb.append(getCriticalName(llCriticals[x])).append( nl );        sb.append( nl );        sb.append( "Right Leg:" ).append( nl );	for( int x = 0; x < 12; x++ )            sb.append(getCriticalName(rlCriticals[x])).append( nl );        return sb.toString();    }