1547 dec(Gear^.Health); |
1547 dec(Gear^.Health); |
1548 case Gear^.State of |
1548 case Gear^.State of |
1549 0: FollowGear:= AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtAirBomb, 0, cBombsSpeed * Gear^.Tag, _0, 0); |
1549 0: FollowGear:= AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtAirBomb, 0, cBombsSpeed * Gear^.Tag, _0, 0); |
1550 1: FollowGear:= AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtMine, 0, cBombsSpeed * Gear^.Tag, _0, 0); |
1550 1: FollowGear:= AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtMine, 0, cBombsSpeed * Gear^.Tag, _0, 0); |
1551 2: for i:= -19 to 19 do |
1551 2: for i:= -19 to 19 do |
1552 FollowGear:= AddGear(hwRound(Gear^.X) + i div 3, hwRound(Gear^.Y), gtFlame, 0, _0_001 * i, _0, 0); |
1552 FollowGear:= AddGear(hwRound(Gear^.X) - (70*Gear^.Tag) + i div 3, hwRound(Gear^.Y), gtFlame, 0, _0_001 * i, _0, 0); |
1553 end; |
1553 end; |
1554 Gear^.dX:= Gear^.dX + int2hwFloat(30 * Gear^.Tag) |
1554 Gear^.dX:= Gear^.dX + int2hwFloat(30 * Gear^.Tag) |
1555 end; |
1555 end; |
1556 |
1556 |
1557 if (GameTicks and $3F) = 0 then |
1557 if (GameTicks and $3F) = 0 then |
1577 |
1577 |
1578 Gear^.Y:= int2hwFloat(topY-300); |
1578 Gear^.Y:= int2hwFloat(topY-300); |
1579 Gear^.dX:= int2hwFloat(TargetPoint.X - 5 * Gear^.Tag * 15); |
1579 Gear^.dX:= int2hwFloat(TargetPoint.X - 5 * Gear^.Tag * 15); |
1580 |
1580 |
1581 if int2hwFloat(TargetPoint.Y) - Gear^.Y > _0 then |
1581 if int2hwFloat(TargetPoint.Y) - Gear^.Y > _0 then |
1582 Gear^.dX:= Gear^.dX - cBombsSpeed * hwSqrt((int2hwFloat(TargetPoint.Y) - Gear^.Y) * 2 / cGravity) * Gear^.Tag; |
1582 if Gear^.State <> 2 then |
|
1583 Gear^.dX:= Gear^.dX - cBombsSpeed * hwSqrt((int2hwFloat(TargetPoint.Y) - Gear^.Y) * 2 / cGravity) * Gear^.Tag |
|
1584 else |
|
1585 Gear^.dX:= int2hwFloat(TargetPoint.X) * Gear^.Tag; |
|
1586 |
1583 |
1587 |
1584 Gear^.Health:= 6; |
1588 Gear^.Health:= 6; |
1585 Gear^.doStep:= @doStepAirAttackWork; |
1589 Gear^.doStep:= @doStepAirAttackWork; |
1586 end; |
1590 end; |
1587 |
1591 |