hedgewars/uGears.pas
changeset 6530 dc6ce7eb556b
parent 6515 74a04089bb56
child 6531 c938a35588af
equal deleted inserted replaced
6529:40f9ef7d824d 6530:dc6ce7eb556b
   727                                     Gear^.State:= Gear^.State or gstWinner;
   727                                     Gear^.State:= Gear^.State or gstWinner;
   728                                 end;
   728                                 end;
   729                             if ((Mask and EXPLDoNotTouchAny) = 0) and (((Mask and EXPLDoNotTouchHH) = 0) or (Gear^.Kind <> gtHedgehog)) then
   729                             if ((Mask and EXPLDoNotTouchAny) = 0) and (((Mask and EXPLDoNotTouchHH) = 0) or (Gear^.Kind <> gtHedgehog)) then
   730                                 begin
   730                                 begin
   731                                 DeleteCI(Gear);
   731                                 DeleteCI(Gear);
   732                                 if Gear^.Kind <> gtHedgehog then
   732                                 Gear^.dX:= Gear^.dX + SignAs(_0_005 * dmg + cHHKick, Gear^.X - fX)/(Gear^.Density/_3);
   733                                     begin
   733                                 Gear^.dY:= Gear^.dY + SignAs(_0_005 * dmg + cHHKick, Gear^.Y - fY)/(Gear^.Density/_3);
   734                                     Gear^.dX:= Gear^.dX + SignAs(_0_005 * dmg + cHHKick, Gear^.X - fX)/Gear^.Density;
       
   735                                     Gear^.dY:= Gear^.dY + SignAs(_0_005 * dmg + cHHKick, Gear^.Y - fY)/Gear^.Density;
       
   736                                     end
       
   737                                 else
       
   738                                     begin
       
   739                                     Gear^.dX:= Gear^.dX + SignAs(_0_005 * dmg + cHHKick, Gear^.X - fX);
       
   740                                     Gear^.dY:= Gear^.dY + SignAs(_0_005 * dmg + cHHKick, Gear^.Y - fY);
       
   741                                     end;
       
   742 
   734 
   743                                 Gear^.State:= (Gear^.State or gstMoving) and (not gstLoser);
   735                                 Gear^.State:= (Gear^.State or gstMoving) and (not gstLoser);
   744                                 if not Gear^.Invulnerable then
   736                                 if not Gear^.Invulnerable then
   745                                     Gear^.State:= (Gear^.State or gstMoving) and (not gstWinner);
   737                                     Gear^.State:= (Gear^.State or gstMoving) and (not gstWinner);
   746                                 Gear^.Active:= true;
   738                                 Gear^.Active:= true;
   907                         Gear^.dX:= Ammo^.dX * Power * _0_005;
   899                         Gear^.dX:= Ammo^.dX * Power * _0_005;
   908                         Gear^.dY:= Ammo^.dY * Power * _0_005
   900                         Gear^.dY:= Ammo^.dY * Power * _0_005
   909                         end
   901                         end
   910                     else
   902                     else
   911                         begin
   903                         begin
   912                         Gear^.dX:= Ammo^.dX * Power * _0_01;
   904                         Gear^.dX:= (Ammo^.dX * Power * _0_01)/(Gear^.Density/_3);
   913                         Gear^.dY:= Ammo^.dY * Power * _0_01
   905                         Gear^.dY:= (Ammo^.dY * Power * _0_01)/(Gear^.Density/_3);
   914                         end;
   906                         end;
   915 
   907 
   916                     Gear^.Active:= true;
   908                     Gear^.Active:= true;
   917                     Gear^.State:= Gear^.State or gstMoving;
   909                     Gear^.State:= Gear^.State or gstMoving;
   918 
   910