603 |
603 |
604 if ((Gear^.State and gstAttacked) = 0) then |
604 if ((Gear^.State and gstAttacked) = 0) then |
605 begin |
605 begin |
606 amt:= CurrentHedgehog^.Ammo^[CurrentHedgehog^.CurSlot, CurrentHedgehog^.CurAmmo].AmmoType; |
606 amt:= CurrentHedgehog^.Ammo^[CurrentHedgehog^.CurSlot, CurrentHedgehog^.CurAmmo].AmmoType; |
607 case amt of |
607 case amt of |
608 amBazooka: DrawRotated(sprHandBazooka, hx, hy, hwSign(Gear^.dX), aangle); |
608 amBazooka, |
|
609 amMortar: DrawRotated(sprHandBazooka, hx, hy, hwSign(Gear^.dX), aangle); |
609 amRope: DrawRotated(sprHandRope, hx, hy, hwSign(Gear^.dX), aangle); |
610 amRope: DrawRotated(sprHandRope, hx, hy, hwSign(Gear^.dX), aangle); |
610 amShotgun: DrawRotated(sprHandShotgun, hx, hy, hwSign(Gear^.dX), aangle); |
611 amShotgun: DrawRotated(sprHandShotgun, hx, hy, hwSign(Gear^.dX), aangle); |
611 amDEagle: DrawRotated(sprHandDEagle, hx, hy, hwSign(Gear^.dX), aangle); |
612 amDEagle: DrawRotated(sprHandDEagle, hx, hy, hwSign(Gear^.dX), aangle); |
612 amBlowTorch: DrawRotated(sprHandBlowTorch, hx, hy, hwSign(Gear^.dX), aangle); |
613 amBlowTorch: DrawRotated(sprHandBlowTorch, hx, hy, hwSign(Gear^.dX), aangle); |
613 end; |
614 end; |
819 DrawRotatedF(sprTeleport, hwRound(Gear^.X) + 1 + WorldDx, hwRound(Gear^.Y) - 3 + WorldDy, Gear^.Pos, hwSign(HHGear^.dX), 0); |
820 DrawRotatedF(sprTeleport, hwRound(Gear^.X) + 1 + WorldDx, hwRound(Gear^.Y) - 3 + WorldDy, Gear^.Pos, hwSign(HHGear^.dX), 0); |
820 DrawRotatedF(sprTeleport, hwRound(HHGear^.X) + 1 + WorldDx, hwRound(HHGear^.Y) - 3 + WorldDy, 11 - Gear^.Pos, hwSign(HHGear^.dX), 0); |
821 DrawRotatedF(sprTeleport, hwRound(HHGear^.X) + 1 + WorldDx, hwRound(HHGear^.Y) - 3 + WorldDy, 11 - Gear^.Pos, hwSign(HHGear^.dX), 0); |
821 end; |
822 end; |
822 gtSwitcher: DrawSprite(sprSwitch, hwRound(Gear^.X) - 16 + WorldDx, hwRound(Gear^.Y) - 56 + WorldDy, (GameTicks shr 6) mod 12); |
823 gtSwitcher: DrawSprite(sprSwitch, hwRound(Gear^.X) - 16 + WorldDx, hwRound(Gear^.Y) - 56 + WorldDy, (GameTicks shr 6) mod 12); |
823 gtTarget: DrawSprite(sprTarget, hwRound(Gear^.X) - 16 + WorldDx, hwRound(Gear^.Y) - 16 + WorldDy, 0); |
824 gtTarget: DrawSprite(sprTarget, hwRound(Gear^.X) - 16 + WorldDx, hwRound(Gear^.Y) - 16 + WorldDy, 0); |
|
825 gtMortar: DrawRotated(sprMortar, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, DxDy2Angle(Gear^.dY, Gear^.dX)); |
824 end; |
826 end; |
825 Gear:= Gear^.NextGear |
827 Gear:= Gear^.NextGear |
826 end; |
828 end; |
827 end; |
829 end; |
828 |
830 |
987 for i:= 0 to cMaxHHIndex do |
989 for i:= 0 to cMaxHHIndex do |
988 with Hedgehogs[i] do |
990 with Hedgehogs[i] do |
989 if (Gear <> nil) and (Gear^.X.QWordValue = 0) then |
991 if (Gear <> nil) and (Gear^.X.QWordValue = 0) then |
990 begin |
992 begin |
991 FindPlace(Gear, false, t, t + 1024); |
993 FindPlace(Gear, false, t, t + 1024); |
992 Gear^.Pos:= GetRandom(19); |
994 Gear^.Pos:= GetRandom(19) |
993 end; |
995 end; |
994 inc(t, 1024) |
996 inc(t, 1024) |
995 end |
997 end |
996 end else // mix hedgehogs |
998 end else // mix hedgehogs |
997 begin |
999 begin |
1010 |
1012 |
1011 while (Count > 0) do |
1013 while (Count > 0) do |
1012 begin |
1014 begin |
1013 i:= GetRandom(Count); |
1015 i:= GetRandom(Count); |
1014 FindPlace(ar[i], false, 0, 2048); |
1016 FindPlace(ar[i], false, 0, 2048); |
|
1017 ar[i]^.Pos:= GetRandom(19); |
1015 ar[i]:= ar[Count - 1]; |
1018 ar[i]:= ar[Count - 1]; |
1016 dec(Count) |
1019 dec(Count) |
1017 end |
1020 end |
1018 end |
1021 end |
1019 end; |
1022 end; |