hedgewars/GSHandlers.inc
branchicegun
changeset 8563 4d9d8287e601
parent 8560 134a098235fa
child 8565 a431fa208a45
equal deleted inserted replaced
8560:134a098235fa 8563:4d9d8287e601
  2380 
  2380 
  2381         PlaySound(sndSwitchHog);
  2381         PlaySound(sndSwitchHog);
  2382 
  2382 
  2383         repeat
  2383         repeat
  2384             CurrentTeam^.CurrHedgehog := Succ(CurrentTeam^.CurrHedgehog) mod (CurrentTeam^.HedgehogsNumber);
  2384             CurrentTeam^.CurrHedgehog := Succ(CurrentTeam^.CurrHedgehog) mod (CurrentTeam^.HedgehogsNumber);
  2385         until (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Gear <> nil) and (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Gear^.Damage = 0) and (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Effects[heFrozen]=0);
  2385         until (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Gear <> nil) and 
       
  2386               (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Gear^.Damage = 0) and 
       
  2387               (CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog].Effects[heFrozen]=0);
  2386 
  2388 
  2387         SwitchCurrentHedgehog(@CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog]);
  2389         SwitchCurrentHedgehog(@CurrentTeam^.Hedgehogs[CurrentTeam^.CurrHedgehog]);
  2388         AmmoMenuInvalidated:= true; 
  2390         AmmoMenuInvalidated:= true; 
  2389 
  2391 
  2390         HHGear := CurrentHedgehog^.Gear;
  2392         HHGear := CurrentHedgehog^.Gear;
  5072     Target.X:= NoPointX;
  5074     Target.X:= NoPointX;
  5073     LastDamage:= nil;
  5075     LastDamage:= nil;
  5074     X:= Hedgehog^.Gear^.X;
  5076     X:= Hedgehog^.Gear^.X;
  5075     Y:= Hedgehog^.Gear^.Y;
  5077     Y:= Hedgehog^.Gear^.Y;
  5076     //unfreeze all semifrozen hogs - make this generic hog cleanup
  5078     //unfreeze all semifrozen hogs - make this generic hog cleanup
       
  5079 (*
  5077     iter := GearsList;
  5080     iter := GearsList;
  5078     while iter <> nil do
  5081     while iter <> nil do
  5079         begin
  5082         begin
  5080         if (iter^.Kind = gtHedgehog) and 
  5083         if (iter^.Kind = gtHedgehog) and 
  5081         (iter^.Hedgehog^.Effects[heFrozen] and $FF = 0) then 
  5084         (iter^.Hedgehog^.Effects[heFrozen] and $FF = 0) then 
  5082         iter^.Hedgehog^.Effects[heFrozen]:= 0;
  5085         iter^.Hedgehog^.Effects[heFrozen]:= 0;
  5083         iter:= iter^.NextGear
  5086         iter:= iter^.NextGear
  5084         end 
  5087         end 
       
  5088 *)
  5085   end;
  5089   end;
  5086 end;
  5090 end;
  5087 
  5091 
  5088 
  5092 
  5089 function isLanscapeEdge(weight:Longint):boolean;
  5093 function isLanscapeEdge(weight:Longint):boolean;
  5241                 if hogs.size > 0 then
  5245                 if hogs.size > 0 then
  5242                     for i:= 0 to hogs.size - 1 do
  5246                     for i:= 0 to hogs.size - 1 do
  5243                     begin
  5247                     begin
  5244                         if hogs.ar^[i] <> HHGear then
  5248                         if hogs.ar^[i] <> HHGear then
  5245                         begin
  5249                         begin
  5246                             if GameTicks mod 10 = 0 then 
  5250                             if GameTicks mod 5 = 0 then 
  5247                             if hogs.ar^[i]^.Hedgehog^.Effects[heFrozen] < 256 then
  5251                             if hogs.ar^[i]^.Hedgehog^.Effects[heFrozen] < 256 then
  5248                                 hogs.ar^[i]^.Hedgehog^.Effects[heFrozen] := hogs.ar^[i]^.Hedgehog^.Effects[heFrozen] + 1
  5252                                 hogs.ar^[i]^.Hedgehog^.Effects[heFrozen] := hogs.ar^[i]^.Hedgehog^.Effects[heFrozen] + 1
  5249                             else if hogs.ar^[i]^.Hedgehog^.Effects[heFrozen] = 256 then
  5253                             else if hogs.ar^[i]^.Hedgehog^.Effects[heFrozen] = 256 then
       
  5254                                 begin
  5250                                 hogs.ar^[i]^.Hedgehog^.Effects[heFrozen]:= 100000;
  5255                                 hogs.ar^[i]^.Hedgehog^.Effects[heFrozen]:= 100000;
       
  5256                                 hogs.ar^[i]^.Active:= true
       
  5257                                 end;
  5251                         end;                        
  5258                         end;                        
  5252                     end;
  5259                     end;
  5253                 inc(Pos)
  5260                 inc(Pos)
  5254             end
  5261             end
  5255             else if (t > 400) and ((gY > cWaterLine) or
  5262             else if (t > 400) and ((gY > cWaterLine) or