hedgewars/uGears.pas
branchhedgeroid
changeset 6328 d14adf1c7721
parent 6299 fa5bc796261d
child 6380 1ff5ad1d771b
equal deleted inserted replaced
6236:1998ff75321a 6328:d14adf1c7721
   318          gtBee: begin
   318          gtBee: begin
   319                 gear^.Radius:= 5;
   319                 gear^.Radius:= 5;
   320                 gear^.Timer:= 500;
   320                 gear^.Timer:= 500;
   321                 gear^.RenderTimer:= true;
   321                 gear^.RenderTimer:= true;
   322                 gear^.Elasticity:= _0_9;
   322                 gear^.Elasticity:= _0_9;
   323                 gear^.Tag:= getRandom(32);
   323                 gear^.Tag:= 0;
   324                 end;
   324                 end;
   325    gtSeduction: begin
   325    gtSeduction: begin
   326                 gear^.Radius:= 250;
   326                 gear^.Radius:= 250;
   327                 end;
   327                 end;
   328  gtShotgunShot: begin
   328  gtShotgunShot: begin
  1288                 gtMine,
  1288                 gtMine,
  1289                 gtBall,
  1289                 gtBall,
  1290                 gtMelonPiece,
  1290                 gtMelonPiece,
  1291                 gtGrenade,
  1291                 gtGrenade,
  1292                 gtClusterBomb,
  1292                 gtClusterBomb,
  1293                 gtCluster,
  1293             //    gtCluster, too game breaking I think
  1294                 gtSMine,
  1294                 gtSMine,
  1295                 gtCase,
  1295                 gtCase,
  1296                 gtTarget,
  1296                 gtTarget,
  1297                 gtFlame,
  1297                 gtFlame,
  1298                 gtExplosives,
  1298                 gtExplosives,
  1312                                     Gear^.State:= Gear^.State or gstWinner;
  1312                                     Gear^.State:= Gear^.State or gstWinner;
  1313                                 end;
  1313                                 end;
  1314                             if ((Mask and EXPLDoNotTouchAny) = 0) and (((Mask and EXPLDoNotTouchHH) = 0) or (Gear^.Kind <> gtHedgehog)) then
  1314                             if ((Mask and EXPLDoNotTouchAny) = 0) and (((Mask and EXPLDoNotTouchHH) = 0) or (Gear^.Kind <> gtHedgehog)) then
  1315                                 begin
  1315                                 begin
  1316                                 DeleteCI(Gear);
  1316                                 DeleteCI(Gear);
  1317                                 Gear^.dX:= Gear^.dX + SignAs(_0_005 * dmg + cHHKick, Gear^.X - fX);
  1317                                 if Gear^.Kind <> gtHedgehog then
  1318                                 Gear^.dY:= Gear^.dY + SignAs(_0_005 * dmg + cHHKick, Gear^.Y - fY);
  1318                                     begin
       
  1319                                     Gear^.dX:= Gear^.dX + SignAs(_0_005 * dmg + cHHKick, Gear^.X - fX)/Gear^.Density;
       
  1320                                     Gear^.dY:= Gear^.dY + SignAs(_0_005 * dmg + cHHKick, Gear^.Y - fY)/Gear^.Density;
       
  1321                                     end
       
  1322                                 else
       
  1323                                     begin
       
  1324                                     Gear^.dX:= Gear^.dX + SignAs(_0_005 * dmg + cHHKick, Gear^.X - fX);
       
  1325                                     Gear^.dY:= Gear^.dY + SignAs(_0_005 * dmg + cHHKick, Gear^.Y - fY);
       
  1326                                     end;
       
  1327 
  1319                                 Gear^.State:= (Gear^.State or gstMoving) and (not gstLoser);
  1328                                 Gear^.State:= (Gear^.State or gstMoving) and (not gstLoser);
  1320                                 if not Gear^.Invulnerable then
  1329                                 if not Gear^.Invulnerable then
  1321                                     Gear^.State:= (Gear^.State or gstMoving) and (not gstWinner);
  1330                                     Gear^.State:= (Gear^.State or gstMoving) and (not gstWinner);
  1322                                 Gear^.Active:= true;
  1331                                 Gear^.Active:= true;
  1323                                 if Gear^.Kind <> gtFlame then FollowGear:= Gear
  1332                                 if Gear^.Kind <> gtFlame then FollowGear:= Gear