Just make 1 DDTM with a max tol main point and change the colour.
This is how I did it with hatchets:
Function AxeDTM(WhatAxe : String): Integer;
Var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..6] Of TDTMPointDef;
TempTDTM: TDTM;
HeadColor : Integer;
Begin
Case WhatAxe Of
'Bronze': HeadColor := 2308940;
'Iron': HeadColor := 5131860;
'Steel': HeadColor := 7434617;
'Mith': HeadColor := 6045502;
'Addy': HeadColor := 4412483;
'Rune': HeadColor := 6642501;
'Dragon': HeadColor := 791648;
'Omni': HeadColor := 2308940;
End;
If WhatAxe = 'Dragon' Then
Begin
dtmMainPoint.x := 1233;
dtmMainPoint.y := 373;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := HeadColor;
dtmMainPoint.Tolerance := 8;
dtmSubPoints[0].x := 1239;
dtmSubPoints[0].y := 370;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 65536;
dtmSubPoints[0].Tolerance := 0;
dtmSubPoints[1].x := 1240;
dtmSubPoints[1].y := 373;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 65536;
dtmSubPoints[1].Tolerance := 0;
dtmSubPoints[2].x := 1236;
dtmSubPoints[2].y := 382;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 65536;
dtmSubPoints[2].Tolerance := 0;
dtmSubPoints[3].x := 1241;
dtmSubPoints[3].y := 381;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 65536;
dtmSubPoints[3].Tolerance := 0;
dtmSubPoints[4].x := 1230;
dtmSubPoints[4].y := 376;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 65536;
dtmSubPoints[4].Tolerance := 0;
dtmSubPoints[5].x := 1223;
dtmSubPoints[5].y := 373;
dtmSubPoints[5].AreaSize := 0;
dtmSubPoints[5].AreaShape := 0;
dtmSubPoints[5].Color := 65536;
dtmSubPoints[5].Tolerance := 0;
dtmSubPoints[6].x := 1223;
dtmSubPoints[6].y := 376;
dtmSubPoints[6].AreaSize := 0;
dtmSubPoints[6].AreaShape := 0;
dtmSubPoints[6].Color := 65536;
dtmSubPoints[6].Tolerance := 0;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
End Else
Begin
dtmMainPoint.x := 1242;
dtmMainPoint.y := 447;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := HeadColor;
If WhatAxe = 'Omni' Then
dtmMainPoint.Tolerance := 25000
Else
dtmMainPoint.Tolerance := 8;
dtmSubPoints[0].x := 1231;
dtmSubPoints[0].y := 463;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 65536;
dtmSubPoints[0].Tolerance := 0;
dtmSubPoints[1].x := 1228;
dtmSubPoints[1].y := 461;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 65536;
dtmSubPoints[1].Tolerance := 0;
dtmSubPoints[2].x := 1226;
dtmSubPoints[2].y := 467;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 65536;
dtmSubPoints[2].Tolerance := 0;
dtmSubPoints[3].x := 1230;
dtmSubPoints[3].y := 466;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 65536;
dtmSubPoints[3].Tolerance := 0;
dtmSubPoints[4].x := 1232;
dtmSubPoints[4].y := 448;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 65536;
dtmSubPoints[4].Tolerance := 0;
dtmSubPoints[5].x := 1246;
dtmSubPoints[5].y := 446;
dtmSubPoints[5].AreaSize := 0;
dtmSubPoints[5].AreaShape := 0;
dtmSubPoints[5].Color := 65536;
dtmSubPoints[5].Tolerance := 0;
dtmSubPoints[6].x := 1245;
dtmSubPoints[6].y := 452;
dtmSubPoints[6].AreaSize := 0;
dtmSubPoints[6].AreaShape := 0;
dtmSubPoints[6].Color := 65536;
dtmSubPoints[6].Tolerance := 0;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
End;
End;