hedgewars/uAIAmmoTests.pas
changeset 6783 8d9160b85bdb
parent 6782 33009ac4de80
child 6879 f44042ba755c
equal deleted inserted replaced
6782:33009ac4de80 6783:8d9160b85bdb
   577 
   577 
   578 TestShotgun:= BadTurn
   578 TestShotgun:= BadTurn
   579 end;
   579 end;
   580 
   580 
   581 function TestDesertEagle(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
   581 function TestDesertEagle(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
   582 var Vx, Vy, x, y, t: real;
   582 var Vx, Vy, x, y, t, dmgMod: real;
   583     d: Longword;
   583     d: Longword;
   584     valueResult: LongInt;
   584     fallDmg, valueResult: LongInt;
   585 begin
   585 begin
       
   586 dmgMod:= 0.01 * hwFloat2Float(cDamageModifier) * cDamagePercent;
   586 Level:= Level; // avoid compiler hint
   587 Level:= Level; // avoid compiler hint
   587 ap.ExplR:= 0;
   588 ap.ExplR:= 0;
   588 ap.Time:= 0;
   589 ap.Time:= 0;
   589 ap.Power:= 1;
   590 ap.Power:= 1;
   590 x:= hwFloat2Float(Me^.X);
   591 x:= hwFloat2Float(Me^.X);
   610     or (trunc(y) > LAND_HEIGHT)
   611     or (trunc(y) > LAND_HEIGHT)
   611     or (d > 200);
   612     or (d > 200);
   612 
   613 
   613 if Abs(Targ.X - trunc(x)) + Abs(Targ.Y - trunc(y)) < 3 then
   614 if Abs(Targ.X - trunc(x)) + Abs(Targ.Y - trunc(y)) < 3 then
   614     begin
   615     begin
   615     if TraceShoveDrown(Me, Targ.X, Targ.Y, vX * 0.005 * 20, vY * 0.005 * 20) then
   616     fallDmg:= TraceShoveFall(Me, Targ.X, Targ.Y, vX * 0.005 * 20, vY * 0.005 * 20);
       
   617     if fallDmg < 0 then
   616         valueResult:= 204800
   618         valueResult:= 204800
   617     else valueResult:= Max(0, (4 - d div 50) * 7 * 1024)
   619     else valueResult:= Max(0, (4 - d div 50) * trunc((7+fallDmg)*dmgMod) * 1024)
   618     end
   620     end
   619 else
   621 else
   620     valueResult:= BadTurn;
   622     valueResult:= BadTurn;
   621 TestDesertEagle:= valueResult
   623 TestDesertEagle:= valueResult
   622 end;
   624 end;