hedgewars/GSHandlers.inc
changeset 9043 f9d53af63f04
parent 9041 aefe46d64dd9
child 9045 6561c42399d3
equal deleted inserted replaced
9042:fcec7b7799a6 9043:f9d53af63f04
  1422 ////////////////////////////////////////////////////////////////////////////////
  1422 ////////////////////////////////////////////////////////////////////////////////
  1423 procedure doStepMine(Gear: PGear);
  1423 procedure doStepMine(Gear: PGear);
  1424 var vg: PVisualGear;
  1424 var vg: PVisualGear;
  1425     dxdy: hwFloat;
  1425     dxdy: hwFloat;
  1426 begin
  1426 begin
       
  1427     if Gear^.Health = 0 then dxdy:= hwAbs(Gear^.dX)+hwAbs(Gear^.dY);
  1427     if (Gear^.State and gstMoving) <> 0 then
  1428     if (Gear^.State and gstMoving) <> 0 then
  1428         begin
  1429         begin
  1429         DeleteCI(Gear);
  1430         DeleteCI(Gear);
  1430         doStepFallingGear(Gear);
  1431         doStepFallingGear(Gear);
  1431         if (Gear^.State and gstMoving) = 0 then
  1432         if (Gear^.State and gstMoving) = 0 then
  1439         end
  1440         end
  1440     else if (GameTicks and $3F) = 25 then
  1441     else if (GameTicks and $3F) = 25 then
  1441         doStepFallingGear(Gear);
  1442         doStepFallingGear(Gear);
  1442     if (Gear^.Health = 0) then
  1443     if (Gear^.Health = 0) then
  1443         begin
  1444         begin
  1444         dxdy:= hwAbs(Gear^.dX)+hwAbs(Gear^.dY);
       
  1445         if (dxdy > _0_4) and (Gear^.State and gstCollision <> 0) then
  1445         if (dxdy > _0_4) and (Gear^.State and gstCollision <> 0) then
  1446             inc(Gear^.Damage, hwRound(dxdy * _50));
  1446             inc(Gear^.Damage, hwRound(dxdy * _50));
  1447 
  1447 
  1448         if ((GameTicks and $FF) = 0) and (Gear^.Damage > random(30)) then
  1448         if ((GameTicks and $FF) = 0) and (Gear^.Damage > random(30)) then
  1449             begin
  1449             begin