equal
deleted
inserted
replaced
276 gtFirePunch: begin |
276 gtFirePunch: begin |
277 Result^.Radius:= 15; |
277 Result^.Radius:= 15; |
278 Result^.Tag:= Y |
278 Result^.Tag:= Y |
279 end; |
279 end; |
280 gtAirBomb: begin |
280 gtAirBomb: begin |
281 Result^.Radius:= 10; |
281 Result^.Radius:= 5; |
282 end; |
282 end; |
283 gtBlowTorch: begin |
283 gtBlowTorch: begin |
284 Result^.Radius:= cHHRadius + cBlowTorchC; |
284 Result^.Radius:= cHHRadius + cBlowTorchC; |
285 Result^.Timer:= 7500; |
285 Result^.Timer:= 7500; |
286 end; |
286 end; |
774 end; |
774 end; |
775 |
775 |
776 procedure AssignHHCoords; |
776 procedure AssignHHCoords; |
777 var Team: PTeam; |
777 var Team: PTeam; |
778 i, t: LongInt; |
778 i, t: LongInt; |
|
779 ar: array[0..Pred(cMaxHHs)] of PGear; |
|
780 Count: Longword; |
779 begin |
781 begin |
780 Team:= TeamsList; |
782 Team:= TeamsList; |
781 t:= 0; |
783 |
782 while Team <> nil do |
784 if (GameFlags and gfForts) <> 0 then |
|
785 begin |
|
786 t:= 0; |
|
787 while Team <> nil do |
|
788 begin |
|
789 for i:= 0 to cMaxHHIndex do |
|
790 with Team^.Hedgehogs[i] do |
|
791 if Gear <> nil then FindPlace(Gear, false, t, t + 1024); |
|
792 inc(t, 1024); |
|
793 Team:= Team^.Next |
|
794 end |
|
795 end else // mix hedgehogs |
|
796 begin |
|
797 Count:= 0; |
|
798 while Team <> nil do |
783 begin |
799 begin |
784 for i:= 0 to cMaxHHIndex do |
800 for i:= 0 to cMaxHHIndex do |
785 with Team^.Hedgehogs[i] do |
801 with Team^.Hedgehogs[i] do |
786 if Gear <> nil then |
802 if Gear <> nil then |
787 if (GameFlags and gfForts) = 0 then FindPlace(Gear, false, 0, 2048) |
803 begin |
788 else FindPlace(Gear, false, t, t + 1024); |
804 ar[Count]:= Gear; |
789 inc(t, 1024); |
805 inc(Count) |
|
806 end; |
790 Team:= Team^.Next |
807 Team:= Team^.Next |
|
808 end; |
|
809 |
|
810 while (Count > 0) do |
|
811 begin |
|
812 i:= GetRandom(Count); |
|
813 FindPlace(ar[i], false, 0, 2048); |
|
814 ar[i]:= ar[Count - 1]; |
|
815 dec(Count) |
791 end |
816 end |
|
817 end |
792 end; |
818 end; |
793 |
819 |
794 function CheckGearNear(Gear: PGear; Kind: TGearType; rX, rY: LongInt): PGear; |
820 function CheckGearNear(Gear: PGear; Kind: TGearType; rX, rY: LongInt): PGear; |
795 var t: PGear; |
821 var t: PGear; |
796 begin |
822 begin |