<?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>v3.0</Version>
<Description>Full season ratings. For cup, bgn, cts. Based on the PWF ratings found in the bgn and cts mods.</Description>
<Options>
    <UseNr2003TrackTypes>true</UseNr2003TrackTypes>
    <MappingMethod>NAME</MappingMethod>
</Options>

<DriverAggressionMin>
 var rating = 0;
	rating = 20 + ((((1 - @avgFinish / @avgNumberOfStarters) * 40) + ((((@top5 + @top10) / 2) / @raceStarts)) * 20) * @percRaceStarts);
</DriverAggressionMin>
<DriverAggressionMax>
 var rating = 0;
	rating = 60 + ((((1 - @avgFinish / @avgNumberOfStarters) * 20) + ((((@top5 + @top10) / 2) / @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)) * @percRaceStarts);
</DriverFinishingMin>
<DriverFinishingMax>
 var rating = 0;
	rating = 60 + ((((1 - @avgFinish / @avgNumberOfStarters) * 40)) * @percRaceStarts);
</DriverFinishingMax>
<DriverQualifyingMin>
 var rating = 0;
	rating = 20 + ((((1 - @avgStart / @avgNumberOfStarters) * 60)) * @percRaceStarts);
</DriverQualifyingMin>
<DriverQualifyingMax>
 var rating = 0;
	rating = 60 + ((((1 - @avgStart / @avgNumberOfStarters) * 40)) * @percRaceStarts);
</DriverQualifyingMax>

<DriverRoadCourseMin>
 var rating = 20;
 	if(@avgFinishRC != null)
		rating = 20 + ((((1 - @avgFinishRC / @avgNumberOfStartersRC) * 40)) * @percRaceStartsRC);
</DriverRoadCourseMin>
<DriverRoadCourseMax>
 var rating = 60;
 	if(@avgFinishRC != null)
		rating = 60 + ((((1 - @avgFinishRC / @avgNumberOfStartersRC) * 20)) * @percRaceStartsRC);
</DriverRoadCourseMax>
<DriverShortTrackMin>
 var rating = 20;
 	if(@avgFinishST != null)
		rating = 20 + ((((1 - @avgFinishST / @avgNumberOfStartersST) * 40)) * @percRaceStartsST);
</DriverShortTrackMin>
<DriverShortTrackMax>
 var rating = 60;
 	if(@avgFinishST != null)
		rating = 60 + ((((1 - @avgFinishST / @avgNumberOfStartersST) * 20)) * @percRaceStartsST);
</DriverShortTrackMax>
<DriverSpeedwayMin>
 var rating = 20;
 	if(@avgFinishSW != null)
		rating = 20 + ((((1 - @avgFinishSW / @avgNumberOfStartersSW) * 40)) * @percRaceStartsSW);
</DriverSpeedwayMin>
<DriverSpeedwayMax>
 var rating = 60;
 	if(@avgFinishSW != null)
		rating = 60 + ((((1 - @avgFinishSW / @avgNumberOfStartersSW) * 20)) * @percRaceStartsSW);
</DriverSpeedwayMax>
<DriverSuperSpeedwayMin>
 var rating = 20;
 	if(@avgFinishSS != null)
		rating = 20 + ((((1 - @avgFinishSS / @avgNumberOfStartersSS) * 40)) * @percRaceStartsSS);
</DriverSuperSpeedwayMin>
<DriverSuperSpeedwayMax>
 var rating = 60;
 	if(@avgFinishSS != null)
		rating = 60 + ((((1 - @avgFinishSS / @avgNumberOfStartersSS) * 20)) * @percRaceStartsSS);
</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 = 20 + (((1 - ((@avgStart + @avgFinish) / 2) / @avgNumberOfStarters) * 40) * @percRaceStarts);
</PitcrewConsistencyMin>
<PitcrewConsistencyMax>
 var rating = 0;
	rating = 60 + (((1 - ((@avgStart + @avgFinish) / 2) / @avgNumberOfStarters) * 20) * @percRaceStarts);
</PitcrewConsistencyMax>
<PitcrewSpeedMin>
 var rating = 0;
	rating = 20 + (((1 - @avgFinish / @avgNumberOfStarters) * 40) * @percRaceStarts);
</PitcrewSpeedMin>
<PitcrewSpeedMax>
 var rating = 0;
	rating = 60 + (((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>