1729 if ((GameTicks and $1F) = 0) then |
1729 if ((GameTicks and $1F) = 0) then |
1730 if CheckGearNear(Gear, gtHedgehog, 46, 32) <> nil then |
1730 if CheckGearNear(Gear, gtHedgehog, 46, 32) <> nil then |
1731 Gear^.State := Gear^.State or gstAttacking |
1731 Gear^.State := Gear^.State or gstAttacking |
1732 end |
1732 end |
1733 else // gstAttacking <> 0 |
1733 else // gstAttacking <> 0 |
1734 begin |
1734 begin |
1735 AllInactive := false; |
1735 AllInactive := false; |
1736 if Gear^.Timer = 0 then |
1736 if Gear^.Timer = 0 then |
1737 begin |
1737 begin |
1738 doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 30, Gear^.Hedgehog, EXPLAutoSound); |
1738 doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 30, Gear^.Hedgehog, EXPLAutoSound); |
1739 DeleteGear(Gear); |
1739 DeleteGear(Gear); |
1740 exit |
1740 exit |
1741 end else |
1741 end |
|
1742 else |
1742 if (Gear^.Timer and $FF) = 0 then |
1743 if (Gear^.Timer and $FF) = 0 then |
1743 PlaySound(sndMineTick); |
1744 PlaySound(sndMineTick); |
1744 |
1745 dec(Gear^.Timer); |
1745 dec(Gear^.Timer); |
|
1746 end |
1746 end |
1747 end |
1747 end |
1748 else // gsttmpFlag = 0 |
1748 else // gsttmpFlag = 0 |
1749 if (TurnTimeLeft = 0) |
1749 if ((GameFlags and gfInfAttack = 0) and ((TurnTimeLeft = 0) or (Gear^.Hedgehog^.Gear = nil))) |
1750 or ((GameFlags and gfInfAttack <> 0) and (GameTicks > Gear^.FlightTime)) |
1750 or ((GameFlags and gfInfAttack <> 0) and (GameTicks > Gear^.FlightTime)) then |
1751 or (Gear^.Hedgehog^.Gear = nil) then |
|
1752 Gear^.State := Gear^.State or gsttmpFlag; |
1751 Gear^.State := Gear^.State or gsttmpFlag; |
1753 end; |
1752 end; |
1754 |
1753 |
1755 //////////////////////////////////////////////////////////////////////////////// |
1754 //////////////////////////////////////////////////////////////////////////////// |
1756 procedure doStepDynamite(Gear: PGear); |
1755 procedure doStepDynamite(Gear: PGear); |