hedgewars/GSHandlers.inc
changeset 1760 55a1edd97911
parent 1753 2ccba26f1aa4
child 1771 141f029a2e0a
equal deleted inserted replaced
1759:88b0cf9d6de5 1760:55a1edd97911
   388 	Gear^.doStep:= @doStepShotIdle;
   388 	Gear^.doStep:= @doStepShotIdle;
   389 	exit
   389 	exit
   390 	end;
   390 	end;
   391 dec(i)
   391 dec(i)
   392 until i = 0;
   392 until i = 0;
   393 if (Gear^.X < _0) or (Gear^.Y < _0) or (Gear^.X > _4096) or (Gear^.Y > _2048) then // LAND_WIDTH / LAND_HEIGHT 
   393 if (hwRound(Gear^.X) and LAND_WIDTH_MASK <> 0) or (hwRound(Gear^.Y) and LAND_HEIGHT_MASK <> 0) then
   394 	Gear^.doStep:= @doStepShotIdle
   394 	Gear^.doStep:= @doStepShotIdle
   395 end;
   395 end;
   396 
   396 
   397 ////////////////////////////////////////////////////////////////////////////////
   397 ////////////////////////////////////////////////////////////////////////////////
   398 procedure doStepDEagleShotWork(Gear: PGear);
   398 procedure doStepDEagleShotWork(Gear: PGear);
   418    begin
   418    begin
   419    DrawTunnel(oX, oY, Gear^.dX, Gear^.dY, 82 - i, 1);
   419    DrawTunnel(oX, oY, Gear^.dX, Gear^.dY, 82 - i, 1);
   420    dec(Gear^.Health, Gear^.Damage);
   420    dec(Gear^.Health, Gear^.Damage);
   421    Gear^.Damage:= 0
   421    Gear^.Damage:= 0
   422    end;
   422    end;
   423 if (Gear^.Health <= 0) or (Gear^.X < _0) or (Gear^.Y < _0) or (Gear^.X > _4096) or (Gear^.Y > _2048) then // LAND_WIDTH / LAND_HEIGHT
   423 
       
   424 if (Gear^.Health <= 0)
       
   425 	or (hwRound(Gear^.X) and LAND_WIDTH_MASK <> 0)
       
   426 	or (hwRound(Gear^.Y) and LAND_HEIGHT_MASK <> 0) then
   424 	Gear^.doStep:= @doStepShotIdle
   427 	Gear^.doStep:= @doStepShotIdle
   425 end;
   428 end;
   426 
   429 
   427 procedure doStepDEagleShot(Gear: PGear);
   430 procedure doStepDEagleShot(Gear: PGear);
   428 begin
   431 begin
  1832 	exit;
  1835 	exit;
  1833 
  1836 
  1834 if cWaterLine > 0 then
  1837 if cWaterLine > 0 then
  1835 	begin
  1838 	begin
  1836 	dec(cWaterLine);
  1839 	dec(cWaterLine);
  1837 	for i:= 0 to 2047 do
  1840 	for i:= 0 to LAND_WIDTH - 1 do
  1838 		Land[cWaterLine, i]:= 0;
  1841 		Land[cWaterLine, i]:= 0;
  1839 	SetAllToActive
  1842 	SetAllToActive
  1840 	end;
  1843 	end;
  1841 
  1844 
  1842 inc(Gear^.Tag);
  1845 inc(Gear^.Tag);