SOMETHING LIKE THIS!!!: BUT IT DOESN'T WORK SO
if Minutes > 199 then begin
(* Three Pointers *)
if (TPA < (10 + Minutes div 200)) then TPA := 10 + Minutes div 200;
TPRatingReal := 2.6 * sqrt (10000*TPM/Minutes + 1000*TPM/TPA);
TPRating := trunc (TPRatingReal);
if TPRating = 0 then TPRating := 2 * (ShootingRange - 12);
if TPRating < 0 then TPRating := 0;
if TPRating > 84 then TPRating:= 84 + (TPRating-84) div 2;
if TPRating > 99 then TPRating := 99;
(* Blocks *)
BlkRating := (Blks * 410) div Minutes;
if BlkRating > 99 then BlkRating := 99
else if BlkRating < 50 then BlkRating := (BlkRating * 8) div 5
else BlkRating := (BlkRating * 2) div 5 + 60;
(* Steals *)
StlRating := (Steals * 850) div Minutes;
if StlRating > 99 then StlRating:=99;
(* Off. Reb. *)
ORebRating := (ORebs * 530) div Minutes;
if ORebRating > 99 then ORebRating := 99
else if ORebRating < 50 then ORebRating := (ORebRating * 7) div 5
else ORebRating := (ORebRating * 3) div 5 + 40;
(* Def. Reb *)
DRebRating := (DRebs * 330) div Minutes;
if DRebRating > 99 then DRebRating:=99
else if DRebRating < 50 then DRebRating := (DRebRating * 7) div 5
else DRebRating := (DRebRating * 3) div 5 + 40;
end;
(* else use old ratings *)
if FTA > 19 then begin
FTRating := (FTM/FTA - 50) * 2;
for i:=0 to 20 do
if (FTA < 30 + i) and (FTRating > 90 + i/2) then FTRating := 90 + i/2;
if FTRating < 0 then FTRating := 0;
end;
(* else use old rating *)
primacy:
fga per 48 / 48
10 = .15 or less
20 = .20
30 = .25
40 = .30
50 = .35
60 = .40
70 = .45
80 = .50
90 = .55+
fatigue:
minutes times 2 until 35 minutes...
70 = 35
80 = 37.5
90 = 40+
rebounding:
rpg per 48 until 7rpg
70 = 7rpg
76 = 8rpg
82 = 9rpg
86 = 10rpg
90 = 11rpg
94 = 11.5rpg
98 = 12+rpg