hedgewars/uAIMisc.pas
changeset 6776 7a05f48bfa43
parent 6775 22b5fb7217db
child 6777 fb71556205f4
equal deleted inserted replaced
6775:22b5fb7217db 6776:7a05f48bfa43
   256 function TraceDrown(eX, eY: LongInt; x, y, dX, dY: Real; r: LongWord): boolean;
   256 function TraceDrown(eX, eY: LongInt; x, y, dX, dY: Real; r: LongWord): boolean;
   257 var skipLandCheck: boolean;
   257 var skipLandCheck: boolean;
   258     rCorner: real;
   258     rCorner: real;
   259 begin
   259 begin
   260     skipLandCheck:= true;
   260     skipLandCheck:= true;
   261     if x - eX < 0 then dX*=-1;
   261     if x - eX < 0 then dX:= -dX;
   262     if y - eY < 0 then dY*=-1;
   262     if y - eY < 0 then dY:= -dY;
   263     // ok. attempt approximate search for an unbroken trajectory into water.  if it continues far enough, assume out of map
   263     // ok. attempt approximate search for an unbroken trajectory into water.  if it continues far enough, assume out of map
   264     rCorner:= r * 0.75;
   264     rCorner:= r * 0.75;
   265     while true do
   265     while true do
   266         begin
   266         begin
   267         x:= x + dX;
   267         x:= x + dX;
   383 var i, dmg, baseDmg, rate, erasure: LongInt;
   383 var i, dmg, baseDmg, rate, erasure: LongInt;
   384     dX, dY, dmgMod: real;
   384     dX, dY, dmgMod: real;
   385 begin
   385 begin
   386 dmgMod:= 0.01 * hwFloat2Float(cDamageModifier) * cDamagePercent;
   386 dmgMod:= 0.01 * hwFloat2Float(cDamageModifier) * cDamagePercent;
   387 rate:= 0;
   387 rate:= 0;
   388 gdX*=0.01;
   388 gdX:= gdX * 0.01;
   389 gdY*=0.01;
   389 gdY:= gdX * 0.01;
   390 // add our virtual position
   390 // add our virtual position
   391 with Targets.ar[Targets.Count] do
   391 with Targets.ar[Targets.Count] do
   392     begin
   392     begin
   393     Point.x:= hwRound(Me^.X);
   393     Point.x:= hwRound(Me^.X);
   394     Point.y:= hwRound(Me^.Y);
   394     Point.y:= hwRound(Me^.Y);