<?xml version="1.0"?>

<RatingsFormula xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<Name>ai_line_mod</Name>

<Author>ai_line_mod</Author>

<Version>v0.4</Version>

<Description>Full season ratings. For cup, bgn, cts. For best results do NOT select NR2003 Track Type.</Description>

<Options>
    <UseNr2003TrackTypes>false</UseNr2003TrackTypes>
    <MappingMethod>NAME</MappingMethod>
</Options>

<DriverAggressionMin>
 var rating = 0;
	rating = 20 + ((((1 - @avgFinish / @avgNumberOfStarters) * 40) + ((@top5 / @raceStarts) * 20) + ((@top10 / @raceStarts) * 20)) * @percRaceStarts);
</DriverAggressionMin>

<DriverAggressionMax>
 var rating = 0;
	rating = 60 + ((((1 - @avgFinish / @avgNumberOfStarters) * 20) + ((@top5 / @raceStarts) * 10) + ((@top10 / @raceStarts) * 10)) * @percRaceStarts);
</DriverAggressionMax>

<DriverConsistencyMin>
 var rating = 0;
	rating = 20 + ((((1 - @avgFinish / @avgNumberOfStarters) * 40) + ((@leadLapFinishes / @raceStarts) * 20)) * @percRaceStarts);
</DriverConsistencyMin>

<DriverConsistencyMax>
 var rating = 0;
	rating = 60 + ((((1 - @avgFinish / @avgNumberOfStarters) * 20) + ((@leadLapFinishes / @raceStarts) * 10)) * @percRaceStarts);
</DriverConsistencyMax>

<DriverFinishingMin>
 var rating = 0;
	rating = 20 + (((((1 - @avgFinish / @avgNumberOfStarters) * 60)) + (((@wins / @raceStarts) * 20))) * @percRaceStarts);
</DriverFinishingMin>

<DriverFinishingMax>
 var rating = 0;
	rating = 60 + (((((1 - @avgFinish / @avgNumberOfStarters) * 40)) + (((@wins / @raceStarts) * 10))) * @percRaceStarts);
</DriverFinishingMax>

<DriverQualifyingMin>
 var rating = 0;
	rating = 20 + (((((1 - @avgStart / @avgNumberOfStarters) * 60)) + (((@poles / @raceStarts) * 20))) * @percRaceStarts);
</DriverQualifyingMin>

<DriverQualifyingMax>
 var rating = 0;
	rating = 60 + (((((1 - @avgStart / @avgNumberOfStarters) * 40)) + (((@poles / @raceStarts) * 10))) * @percRaceStarts);
</DriverQualifyingMax>

<DriverRoadCourseMin>
 var rating = 0;
 	if(@avgFinishRC != null)
		rating = 20 + ((((1 - @avgFinishRC / @avgNumberOfStarters) * 40)) * @percRaceStarts);
</DriverRoadCourseMin>

<DriverRoadCourseMax>
 var rating = 0;
 	if(@avgFinishRC != null)
		rating = 60 + ((((1 - @avgFinishRC / @avgNumberOfStarters) * 20)) * @percRaceStarts);
</DriverRoadCourseMax>

<DriverShortTrackMin>
 var rating = 0;
 	if(@avgFinishST != null)
		rating = 20 + ((((1 - @avgFinishST / @avgNumberOfStarters) * 40)) * @percRaceStarts);
</DriverShortTrackMin>

<DriverShortTrackMax>
 var rating = 0;
 	if(@avgFinishST != null)
		rating = 60 + ((((1 - @avgFinishST / @avgNumberOfStarters) * 20)) * @percRaceStarts);
</DriverShortTrackMax>

<DriverSpeedwayMin>
 var rating = 0;
 	if(@avgFinishSW != null)
		rating = 20 + ((((1 - @avgFinishSW / @avgNumberOfStarters) * 40)) * @percRaceStarts);
</DriverSpeedwayMin>

<DriverSpeedwayMax>
 var rating = 0;
 	if(@avgFinishSW != null)
		rating = 60 + ((((1 - @avgFinishSW / @avgNumberOfStarters) * 20)) * @percRaceStarts);
</DriverSpeedwayMax>

<DriverSuperSpeedwayMin>
 var rating = 0;
 	if(@avgFinishSS != null)
		rating = 20 + ((((1 - @avgFinishSS / @avgNumberOfStarters) * 40)) * @percRaceStarts);
</DriverSuperSpeedwayMin>

<DriverSuperSpeedwayMax>
 var rating = 0;
 	if(@avgFinishSS != null)
		rating = 60 + ((((1 - @avgFinishSS / @avgNumberOfStarters) * 20)) * @percRaceStarts);
</DriverSuperSpeedwayMax>

<VehicleAeroMin>
 var rating = 0;
	rating = 50 + (((((1 - @avgFinish / @avgNumberOfStarters) * 20))) * @percRaceStarts);
</VehicleAeroMin>

<VehicleAeroMax>
 var rating = 0;
	rating = 80 + ((((1 - @avgFinish / @avgNumberOfStarters) * 10)) * @percRaceStarts);
</VehicleAeroMax>

<VehicleChassisMin>
 var rating = 0;
	rating = 45 + ((((1 - @avgFinish / @avgNumberOfStarters) * 20)) * @percRaceStarts);
</VehicleChassisMin>
  
<VehicleChassisMax>
 var rating = 0;
	rating = 80 + ((((1 - @avgFinish / @avgNumberOfStarters) * 10)) * @percRaceStarts);
</VehicleChassisMax>

<VehicleEngineMin>
 var rating = 0;
	rating = 50 + ((((1 - @avgFinish / @avgNumberOfStarters) * 20)) * @percRaceStarts);
</VehicleEngineMin>

<VehicleEngineMax>
 var rating = 0;
	rating = 80 + ((((1 - @avgFinish / @avgNumberOfStarters) * 10)) * @percRaceStarts);
</VehicleEngineMax>

<VehicleReliabilityMin>
 var rating = 0;
	rating = 55 + ((((1 - @avgFinish / @avgNumberOfStarters) * 20)) * @percRaceStarts);
</VehicleReliabilityMin>

<VehicleReliabilityMax>
 var rating = 0;
	rating = 80 + ((((1 - @avgFinish / @avgNumberOfStarters) * 10)) * @percRaceStarts);
</VehicleReliabilityMax>

<PitcrewConsistencyMin>
 var rating = 0;
	rating = 40 + (((1 - ((@avgStart + @avgFinish) / 2) / @avgNumberOfStarters) * 40) * @percRaceStarts);
</PitcrewConsistencyMin>

<PitcrewConsistencyMax>
 var rating = 0;
	rating = 80 + (((1 - ((@avgStart + @avgFinish) / 2) / @avgNumberOfStarters) * 20) * @percRaceStarts);
</PitcrewConsistencyMax>

<PitcrewSpeedMin>
 var rating = 0;
	rating = 40 + (((1 - @avgFinish / @avgNumberOfStarters) * 40) * @percRaceStarts);
</PitcrewSpeedMin>

<PitcrewSpeedMax>
 var rating = 0;
	rating = 80 + (((1 - @avgFinish / @avgNumberOfStarters) * 20) * @percRaceStarts);
</PitcrewSpeedMax>

<PitcrewStrategyMin>
 var rating = 0;
	rating = 40 + (((@avgStart - @avgFinish) / @avgNumberOfStarters) * 40);
</PitcrewStrategyMin>

<PitcrewStrategyMax>
 var rating = 0;
	rating = 80 + (((@avgStart - @avgFinish) / @avgNumberOfStarters) * 20);
</PitcrewStrategyMax>

</RatingsFormula>