hedgewars/uGears.pas
changeset 64 9df467527ae5
parent 57 e1a77ae57065
child 68 cbb93eb90304
equal deleted inserted replaced
63:27e2b5bb6d4b 64:9df467527ae5
   144                 end;
   144                 end;
   145     gtHedgehog: begin
   145     gtHedgehog: begin
   146                 Result.Radius:= cHHRadius;
   146                 Result.Radius:= cHHRadius;
   147                 Result.Elasticity:= 0.002;
   147                 Result.Elasticity:= 0.002;
   148                 Result.Friction:= 0.999;
   148                 Result.Friction:= 0.999;
       
   149                 Result.Angle:= cMaxAngle div 2;
   149                 end;
   150                 end;
   150 gtAmmo_Grenade: begin
   151 gtAmmo_Grenade: begin
   151                 Result.Radius:= 4;
   152                 Result.Radius:= 4;
   152                 end;
   153                 end;
   153    gtHealthTag: begin
   154    gtHealthTag: begin
   569 end;
   570 end;
   570 
   571 
   571 procedure AmmoShove(Ammo: PGear; Power: integer);
   572 procedure AmmoShove(Ammo: PGear; Power: integer);
   572 var t: PGearArray;
   573 var t: PGearArray;
   573     i: integer;
   574     i: integer;
       
   575     Gear: PGear;
   574 begin
   576 begin
   575 t:= CheckGearsCollision(Ammo);
   577 t:= CheckGearsCollision(Ammo);
   576 i:= t.Count;
   578 i:= t.Count;
   577 while i > 0 do
   579 while i > 0 do
   578     begin
   580     begin
   587                        t.ar[i].Active:= true;
   589                        t.ar[i].Active:= true;
   588                        DeleteCI(t.ar[i]);
   590                        DeleteCI(t.ar[i]);
   589                        FollowGear:= t.ar[i]
   591                        FollowGear:= t.ar[i]
   590                        end;
   592                        end;
   591            end
   593            end
   592     end
   594     end;
       
   595 Gear:= GearsList;
       
   596 while Gear <> nil do
       
   597       begin
       
   598       if Round(sqrt(sqr(Gear.X - Ammo.X) + sqr(Gear.Y - Ammo.Y))) < 50 then // why 50?
       
   599          Gear.Active:= true;
       
   600       Gear:= Gear.NextGear
       
   601       end
   593 end;
   602 end;
   594 
   603 
   595 procedure AssignHHCoords;
   604 procedure AssignHHCoords;
   596 var Gear: PGear;
   605 var Gear: PGear;
   597     pX, pY: integer;
   606     pX, pY: integer;