hedgewars/GSHandlers.inc
changeset 7036 d99934a827f0
parent 7010 10a0a31804f3
child 7053 8c9dcaedc7a8
equal deleted inserted replaced
7035:823caba67738 7036:d99934a827f0
  3162 begin
  3162 begin
  3163     AllInactive := false;
  3163     AllInactive := false;
  3164     hogs := GearsNear(Gear^.X, Gear^.Y, gtHedgehog, Gear^.Radius);
  3164     hogs := GearsNear(Gear^.X, Gear^.Y, gtHedgehog, Gear^.Radius);
  3165     if Length(hogs) > 0 then
  3165     if Length(hogs) > 0 then
  3166         begin
  3166         begin
  3167         for i:= 0 to High(hogs) do
  3167         for i:= 0 to Length(hogs) - 1 do
  3168             begin
  3168             begin
  3169             if hogs[i] <> CurrentHedgehog^.Gear then
  3169             if hogs[i] <> CurrentHedgehog^.Gear then
  3170                 begin
  3170                 begin
  3171                 //d:= Distance(Gear^.X - hogs[i]^.X, Gear^.Y - hogs[i]^.Y);
  3171                 //d:= Distance(Gear^.X - hogs[i]^.X, Gear^.Y - hogs[i]^.Y);
  3172                 hogs[i]^.dX:= _50 * cGravity * (Gear^.X - hogs[i]^.X) / _25;
  3172                 hogs[i]^.dX:= _50 * cGravity * (Gear^.X - hogs[i]^.X) / _25;
  5077         end; -}
  5077         end; -}
  5078         end 
  5078         end 
  5079     else 
  5079     else 
  5080         begin
  5080         begin
  5081         // now really resurrect the hogs with the hp saved in the graves
  5081         // now really resurrect the hogs with the hp saved in the graves
  5082         for i:= 0 to High(graves) do
  5082         for i:= 0 to Length(graves) - 1 do
  5083             if graves[i]^.Health > 0 then
  5083             if graves[i]^.Health > 0 then
  5084                 begin
  5084                 begin
  5085                 resgear := AddGear(hwRound(graves[i]^.X), hwRound(graves[i]^.Y), gtHedgehog, gstWait, _0, _0, 0);
  5085                 resgear := AddGear(hwRound(graves[i]^.X), hwRound(graves[i]^.Y), gtHedgehog, gstWait, _0, _0, 0);
  5086                 resgear^.Hedgehog := graves[i]^.Hedgehog;
  5086                 resgear^.Hedgehog := graves[i]^.Hedgehog;
  5087                 resgear^.Health := graves[i]^.Health;
  5087                 resgear^.Health := graves[i]^.Health;
  5114     AllInactive := false;
  5114     AllInactive := false;
  5115     graves := GearsNear(Gear^.X, Gear^.Y, gtGrave, Gear^.Radius);
  5115     graves := GearsNear(Gear^.X, Gear^.Y, gtGrave, Gear^.Radius);
  5116 
  5116 
  5117     if Length(graves) > 0 then
  5117     if Length(graves) > 0 then
  5118         begin
  5118         begin
  5119         for i:= 0 to High(graves) do
  5119         for i:= 0 to Length(graves) - 1 do
  5120             begin
  5120             begin
  5121             PHedgehog(graves[i]^.Hedgehog)^.Gear := nil;
  5121             PHedgehog(graves[i]^.Hedgehog)^.Gear := nil;
  5122             graves[i]^.Health := 0;
  5122             graves[i]^.Health := 0;
  5123             end;
  5123             end;
  5124         Gear^.doStep := @doStepResurrectorWork;
  5124         Gear^.doStep := @doStepResurrectorWork;