equal
deleted
inserted
replaced
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); |