hedgewars/uAIAmmoTests.pas
changeset 15640 e21285b7c5e6
parent 15639 e4abca26f215
child 15641 99fe21754b3f
equal deleted inserted replaced
15639:e4abca26f215 15640:e21285b7c5e6
    58 function TestMineStrike(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams; Flags: LongWord): LongInt;
    58 function TestMineStrike(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams; Flags: LongWord): LongInt;
    59 function TestPiano(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams; Flags: LongWord): LongInt;
    59 function TestPiano(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams; Flags: LongWord): LongInt;
    60 function TestTeleport(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams; Flags: LongWord): LongInt;
    60 function TestTeleport(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams; Flags: LongWord): LongInt;
    61 function TestHammer(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams; Flags: LongWord): LongInt;
    61 function TestHammer(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams; Flags: LongWord): LongInt;
    62 function TestCake(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams; Flags: LongWord): LongInt;
    62 function TestCake(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams; Flags: LongWord): LongInt;
       
    63 function TestSeduction(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams; Flags: LongWord): LongInt;
    63 function TestDynamite(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams; Flags: LongWord): LongInt;
    64 function TestDynamite(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams; Flags: LongWord): LongInt;
    64 function TestMine(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams; Flags: LongWord): LongInt;
    65 function TestMine(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams; Flags: LongWord): LongInt;
    65 function TestKnife(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams; Flags: LongWord): LongInt;
    66 function TestKnife(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams; Flags: LongWord): LongInt;
    66 function TestAirMine(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams; Flags: LongWord): LongInt;
    67 function TestAirMine(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams; Flags: LongWord): LongInt;
    67 
    68 
    97             //(proc: @TestTeleport;    flags: amtest_OnTurn), // amTeleport
    98             //(proc: @TestTeleport;    flags: amtest_OnTurn), // amTeleport
    98             (proc: nil;              flags: 0), // amSwitch
    99             (proc: nil;              flags: 0), // amSwitch
    99             (proc: @TestMortar;      flags: 0), // amMortar
   100             (proc: @TestMortar;      flags: 0), // amMortar
   100             (proc: @TestKamikaze;    flags: 0), // amKamikaze
   101             (proc: @TestKamikaze;    flags: 0), // amKamikaze
   101             (proc: @TestCake;        flags: amtest_Rare or amtest_NoTarget), // amCake
   102             (proc: @TestCake;        flags: amtest_Rare or amtest_NoTarget), // amCake
   102             (proc: nil;              flags: 0), // amSeduction
   103             (proc: @TestSeduction;   flags: amtest_NoTarget), // amSeduction
   103             (proc: @TestWatermelon;  flags: 0), // amWatermelon
   104             (proc: @TestWatermelon;  flags: 0), // amWatermelon
   104             (proc: nil;              flags: 0), // amHellishBomb
   105             (proc: nil;              flags: 0), // amHellishBomb
   105             (proc: nil;              flags: 0), // amNapalm
   106             (proc: nil;              flags: 0), // amNapalm
   106             (proc: @TestDrillRocket; flags: 0), // amDrill
   107             (proc: @TestDrillRocket; flags: 0), // amDrill
   107             (proc: nil;              flags: 0), // amBallgun
   108             (proc: nil;              flags: 0), // amBallgun
  1832         valueResult:= BadTurn;
  1833         valueResult:= BadTurn;
  1833 
  1834 
  1834     TestCake:= valueResult;
  1835     TestCake:= valueResult;
  1835 end;
  1836 end;
  1836 
  1837 
       
  1838 function TestSeduction(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams; Flags: LongWord): LongInt;
       
  1839 var rate: LongInt;
       
  1840 begin
       
  1841 Flags:= Flags; // avoid compiler hint
       
  1842 Level:= Level; // avoid compiler hint
       
  1843 Targ:= Targ;
       
  1844 
       
  1845 if (Level = 5) then
       
  1846     exit(BadTurn);
       
  1847 
       
  1848 ap.ExplR:= 0;
       
  1849 ap.Time:= 0;
       
  1850 ap.Power:= 1;
       
  1851 ap.Angle:= 0;
       
  1852 
       
  1853 rate:= RateSeduction(Me);
       
  1854 if rate <= 0 then
       
  1855     rate:= BadTurn;
       
  1856 TestSeduction:= rate;
       
  1857 end;
       
  1858 
  1837 function TestDynamite(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams; Flags: LongWord): LongInt;
  1859 function TestDynamite(Me: PGear; Targ: TTarget; Level: LongInt; var ap: TAttackParams; Flags: LongWord): LongInt;
  1838 var valueResult: LongInt;
  1860 var valueResult: LongInt;
  1839     x, y, dx, dy: real;
  1861     x, y, dx, dy: real;
  1840     EX, EY, t: LongInt;
  1862     EX, EY, t: LongInt;
  1841 begin
  1863 begin