hedgewars/uGearsHandlersMess.pas
changeset 14750 ab7bf5036314
parent 14749 533ac9774279
child 14758 bc0e86b0347b
equal deleted inserted replaced
14749:533ac9774279 14750:ab7bf5036314
  1949 var vg: PVisualGear;
  1949 var vg: PVisualGear;
  1950     dxdy: hwFloat;
  1950     dxdy: hwFloat;
  1951     dmg: LongWord;
  1951     dmg: LongWord;
  1952 begin
  1952 begin
  1953     if Gear^.Health = 0 then dxdy:= hwAbs(Gear^.dX)+hwAbs(Gear^.dY);
  1953     if Gear^.Health = 0 then dxdy:= hwAbs(Gear^.dX)+hwAbs(Gear^.dY);
       
  1954     Gear^.RenderTimer:= ((Gear^.State and gstFrozen) = 0) and ((Gear^.State and gstAttacking) = 0) and (Gear^.Health <> 0);
  1954     if (Gear^.State and gstMoving) <> 0 then
  1955     if (Gear^.State and gstMoving) <> 0 then
  1955         begin
  1956         begin
  1956         DeleteCI(Gear);
  1957         DeleteCI(Gear);
  1957         doStepFallingGear(Gear);
  1958         doStepFallingGear(Gear);
  1958         if (Gear^.State and gstMoving) = 0 then
  1959         if (Gear^.State and gstMoving) = 0 then
  2047     trackSpeed, airFriction, tX, tY: hwFloat;
  2048     trackSpeed, airFriction, tX, tY: hwFloat;
  2048     isUnderwater: Boolean;
  2049     isUnderwater: Boolean;
  2049     sparkle: PVisualGear;
  2050     sparkle: PVisualGear;
  2050 begin
  2051 begin
  2051     targ:= nil;
  2052     targ:= nil;
       
  2053     Gear^.RenderTimer:= ((Gear^.State and gstFrozen) = 0) and ((Gear^.State and gstAttacking) = 0);
  2052     if (Gear^.State and gstFrozen) <> 0 then
  2054     if (Gear^.State and gstFrozen) <> 0 then
  2053         begin
  2055         begin
  2054         if Gear^.Damage > 0 then
  2056         if Gear^.Damage > 0 then
  2055             begin
  2057             begin
  2056             // Normal, damaging explosion
  2058             // Normal, damaging explosion
  2286         doStepFallingGear(Gear);
  2288         doStepFallingGear(Gear);
  2287         AllInactive := false;
  2289         AllInactive := false;
  2288         CalcRotationDirAngle(Gear);
  2290         CalcRotationDirAngle(Gear);
  2289         end;
  2291         end;
  2290 
  2292 
       
  2293     Gear^.RenderTimer:= ((Gear^.State and gstFrozen) = 0) and ((Gear^.State and gstAttacking) = 0);
  2291     if ((Gear^.State and gsttmpFlag) <> 0) and (Gear^.Health <> 0) then
  2294     if ((Gear^.State and gsttmpFlag) <> 0) and (Gear^.Health <> 0) then
  2292         begin
  2295         begin
  2293         if ((Gear^.State and gstAttacking) = 0) and ((Gear^.State and gstFrozen) = 0) then
  2296         if ((Gear^.State and gstAttacking) = 0) and ((Gear^.State and gstFrozen) = 0) then
  2294             begin
  2297             begin
  2295             if ((GameTicks and $1F) = 0) then
  2298             if ((GameTicks and $1F) = 0) then